Bläddra i källkod

Reverting Network to Label

almahmoud 7 år sedan
förälder
incheckning
8e0c4a2959

+ 1 - 1
.travis.yml

@@ -64,7 +64,7 @@ install:
     - pip install coveralls
     - pip install coveralls
     - pip install codecov
     - pip install codecov
 script:
 script:
-    - tox -r -e $TOX_ENV
+    - travis-wait 40 tox -r -e $TOX_ENV
 after_script:
 after_script:
     - |
     - |
       case "$TRAVIS_EVENT_TYPE" in
       case "$TRAVIS_EVENT_TYPE" in

+ 1 - 1
cloudbridge/cloud/base/resources.py

@@ -812,7 +812,7 @@ class BaseGatewayContainer(GatewayContainer, BasePageableObjectMixin):
 
 
 class BaseNetwork(BaseCloudResource, BaseObjectLifeCycleMixin, Network):
 class BaseNetwork(BaseCloudResource, BaseObjectLifeCycleMixin, Network):
 
 
-    CB_DEFAULT_NETWORK_NAME = os.environ.get('CB_DEFAULT_NETWORK_NAME',
+    CB_DEFAULT_NETWORK_LABEL = os.environ.get('CB_DEFAULT_NETWORK_LABEL',
                                              'cloudbridge-net')
                                              'cloudbridge-net')
 
 
     def __init__(self, provider):
     def __init__(self, provider):

+ 1 - 1
cloudbridge/cloud/interfaces/provider.py

@@ -147,7 +147,7 @@ class CloudProvider(object):
 
 
             networks = provider.networking.networks.list()
             networks = provider.networking.networks.list()
             network = provider.networking.networks.create(
             network = provider.networking.networks.create(
-                           name="DevNet", cidr_block='10.0.0.0/16')
+                           label="DevNet", cidr_block='10.0.0.0/16')
 
 
         :rtype: :class:`.NetworkingService`
         :rtype: :class:`.NetworkingService`
         :return:  a NetworkingService object
         :return:  a NetworkingService object

+ 3 - 3
cloudbridge/cloud/interfaces/services.py

@@ -628,12 +628,12 @@ class NetworkService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, name, cidr_block):
+    def create(self, cidr_block, label=None):
         """
         """
         Create a new network.
         Create a new network.
 
 
-        :type name: ``str``
-        :param name: A label for the network.
+        :type label: ``str``
+        :param label: A label for the network.
 
 
         :type cidr_block: ``str``
         :type cidr_block: ``str``
         :param cidr_block: The cidr block for this network. Some providers
         :param cidr_block: The cidr block for this network. Some providers

+ 6 - 6
cloudbridge/cloud/providers/aws/services.py

@@ -667,16 +667,16 @@ class AWSNetworkService(BaseNetworkService):
         log.debug("Searching for AWS Network Service %s", label)
         log.debug("Searching for AWS Network Service %s", label)
         return self.svc.find(filter_name='tag:Name', filter_value=label)
         return self.svc.find(filter_name='tag:Name', filter_value=label)
 
 
-    def create(self, name, cidr_block):
+    def create(self, cidr_block, label=None):
         log.debug("Creating AWS Network Service with the params "
         log.debug("Creating AWS Network Service with the params "
-                  "[name: %s block: %s]", name, cidr_block)
-        AWSNetwork.assert_valid_resource_name(name)
+                  "[label: %s block: %s]", label, cidr_block)
+        AWSNetwork.assert_valid_resource_label(label)
 
 
         cb_net = self.svc.create('create_vpc', CidrBlock=cidr_block)
         cb_net = self.svc.create('create_vpc', CidrBlock=cidr_block)
         # Wait until ready to tag instance
         # Wait until ready to tag instance
         cb_net.wait_till_ready()
         cb_net.wait_till_ready()
-        if name:
-            cb_net.label = name
+        if label:
+            cb_net.label = label
         return cb_net
         return cb_net
 
 
 
 
@@ -752,7 +752,7 @@ class AWSSubnetService(BaseSubnetService):
                     return sn
                     return sn
         # No provider-default Subnet exists, try to create it (net + subnets)
         # No provider-default Subnet exists, try to create it (net + subnets)
         default_net = self.provider.networking.networks.create(
         default_net = self.provider.networking.networks.create(
-            name=AWSNetwork.CB_DEFAULT_NETWORK_NAME,
+            label=AWSNetwork.CB_DEFAULT_NETWORK_LABEL,
             cidr_block='10.0.0.0/16')
             cidr_block='10.0.0.0/16')
         # Create a subnet in each of the region's zones
         # Create a subnet in each of the region's zones
         region = self.provider.compute.regions.get(self.provider.region_name)
         region = self.provider.compute.regions.get(self.provider.region_name)

+ 2 - 2
cloudbridge/cloud/providers/azure/resources.py

@@ -1166,7 +1166,7 @@ class AzureSubnet(BaseSubnet):
         # tags to track the subnet's labels
         # tags to track the subnet's labels
         network = self._network
         network = self._network
         az_network = network._network
         az_network = network._network
-        return az_network.tags.get('SubnetLabel_' + network.name, None)
+        return az_network.tags.get('SubnetLabel_' + self.name, None)
 
 
     @label.setter
     @label.setter
     # pylint:disable=arguments-differ
     # pylint:disable=arguments-differ
@@ -1174,7 +1174,7 @@ class AzureSubnet(BaseSubnet):
         self.assert_valid_resource_label(value)
         self.assert_valid_resource_label(value)
         network = self._network
         network = self._network
         az_network = network._network
         az_network = network._network
-        kwargs = {'SubnetLabel_' + network.name: value or ""}
+        kwargs = {'SubnetLabel_' + self.name: value or ""}
         az_network.tags.update(**kwargs)
         az_network.tags.update(**kwargs)
         self._provider.azure_client.update_network_tags(
         self._provider.azure_client.update_network_tags(
             az_network.id, az_network)
             az_network.id, az_network)

+ 8 - 6
cloudbridge/cloud/providers/azure/services.py

@@ -899,7 +899,7 @@ class AzureNetworkService(BaseNetworkService):
         return ClientPagedResultList(self.provider,
         return ClientPagedResultList(self.provider,
                                      matches if matches else [])
                                      matches if matches else [])
 
 
-    def create(self, name, cidr_block):
+    def create(self, cidr_block, label=None):
         AzureNetwork.assert_valid_resource_name(name)
         AzureNetwork.assert_valid_resource_name(name)
         params = {
         params = {
             'location': self.provider.azure_client.region_name,
             'location': self.provider.azure_client.region_name,
@@ -908,10 +908,12 @@ class AzureNetworkService(BaseNetworkService):
             }
             }
         }
         }
 
 
-        if name:
-            params.update(tags={'Label': name})
+        if label:
+            params.update(tags={'Label': label})
+
+        network_name = AzureNetwork._generate_name_from_label(label, 'cb-net')
 
 
-        az_network = self.provider.azure_client.create_network(name,
+        az_network = self.provider.azure_client.create_network(network_name,
                                                                params)
                                                                params)
         cb_network = AzureNetwork(self.provider, az_network)
         cb_network = AzureNetwork(self.provider, az_network)
         return cb_network
         return cb_network
@@ -1049,13 +1051,13 @@ class AzureSubnetService(BaseSubnetService):
 
 
         # No provider-default Subnet exists, try to create it (net + subnets)
         # No provider-default Subnet exists, try to create it (net + subnets)
         networks = self.provider.networking.networks.find(
         networks = self.provider.networking.networks.find(
-            label=AzureNetwork.CB_DEFAULT_NETWORK_NAME)
+            label=AzureNetwork.CB_DEFAULT_NETWORK_LABEL)
 
 
         if networks:
         if networks:
             network = networks[0]
             network = networks[0]
         else:
         else:
             network = self.provider.networking.networks.create(
             network = self.provider.networking.networks.create(
-                AzureNetwork.CB_DEFAULT_NETWORK_NAME, '10.0.0.0/16')
+                '10.0.0.0/16', label=AzureNetwork.CB_DEFAULT_NETWORK_LABEL)
 
 
         subnet = self.create(network, default_cidr,
         subnet = self.create(network, default_cidr,
                              prefix=AzureSubnet.CB_DEFAULT_SUBNET_LABEL)
                              prefix=AzureSubnet.CB_DEFAULT_SUBNET_LABEL)

+ 7 - 6
cloudbridge/cloud/providers/openstack/services.py

@@ -812,14 +812,15 @@ class OpenStackNetworkService(BaseNetworkService):
                     .get('networks') if network]
                     .get('networks') if network]
         return ClientPagedResultList(self.provider, networks)
         return ClientPagedResultList(self.provider, networks)
 
 
-    def create(self, name, cidr_block):
+    def create(self, cidr_block, label=None):
         log.debug("Creating OpenStack Network with the params: "
         log.debug("Creating OpenStack Network with the params: "
-                  "[name: %s Cinder Block: %s]", name, cidr_block)
-        OpenStackNetwork.assert_valid_resource_name(name)
-        net_info = {'name': name}
+                  "[label: %s Cinder Block: %s]", label, cidr_block)
+        OpenStackNetwork.assert_valid_resource_label(label)
+        net_info = {'name': label or ""}
         network = self.provider.neutron.create_network({'network': net_info})
         network = self.provider.neutron.create_network({'network': net_info})
         cb_net = OpenStackNetwork(self.provider, network.get('network'))
         cb_net = OpenStackNetwork(self.provider, network.get('network'))
-        cb_net.label = name
+        if label:
+            cb_net.label = label
         return cb_net
         return cb_net
 
 
 
 
@@ -872,7 +873,7 @@ class OpenStackSubnetService(BaseSubnetService):
                 return sn[0]
                 return sn[0]
             # No default; create one
             # No default; create one
             net = self.provider.networking.networks.create(
             net = self.provider.networking.networks.create(
-                name=OpenStackNetwork.CB_DEFAULT_NETWORK_NAME,
+                label=OpenStackNetwork.CB_DEFAULT_NETWORK_NAME,
                 cidr_block='10.0.0.0/16')
                 cidr_block='10.0.0.0/16')
             sn = net.create_subnet(
             sn = net.create_subnet(
                 label=OpenStackSubnet.CB_DEFAULT_SUBNET_LABEL,
                 label=OpenStackSubnet.CB_DEFAULT_SUBNET_LABEL,

+ 2 - 2
docs/getting_started.rst

@@ -116,8 +116,8 @@ attaching an internet gateway to the subnet via a router.
 
 
 .. code-block:: python
 .. code-block:: python
 
 
-    net = provider.networking.networks.create(name='my-network',
-                                              cidr_block='10.0.0.0/16')
+    net = provider.networking.networks.create(cidr_block='10.0.0.0/16',
+                                              label='my-network')
     sn = net.create_subnet(cidr_block='10.0.0.0/28', label='my-subnet')
     sn = net.create_subnet(cidr_block='10.0.0.0/28', label='my-subnet')
     router = provider.networking.routers.create(network=net, label='my-router')
     router = provider.networking.routers.create(network=net, label='my-router')
     router.attach_subnet(sn)
     router.attach_subnet(sn)

+ 7 - 6
test/helpers/__init__.py

@@ -112,15 +112,16 @@ def get_provider_test_data(provider, key):
     return None
     return None
 
 
 
 
-def create_test_network(provider, name):
+def create_test_network(provider, label):
     """
     """
     Create a network with one subnet, returning the network and subnet objects.
     Create a network with one subnet, returning the network and subnet objects.
     """
     """
-    net = provider.networking.networks.create(name=name,
-                                              cidr_block='10.0.0.0/16')
+    net = provider.networking.networks.create(cidr_block='10.0.0.0/16',
+                                              label=label)
     cidr_block = (net.cidr_block).split('/')[0] or '10.0.0.1'
     cidr_block = (net.cidr_block).split('/')[0] or '10.0.0.1'
-    sn = net.create_subnet(cidr_block='{0}/28'.format(cidr_block), label=name,
-                           zone=get_provider_test_data(provider, 'placement'))
+    sn = net.create_subnet(cidr_block='{0}/28'.format(cidr_block),
+                           zone=get_provider_test_data(provider, 'placement'),
+                           label=label)
     return net, sn
     return net, sn
 
 
 
 
@@ -142,7 +143,7 @@ def get_test_gateway(provider, label):
     """
     """
     net_label = 'cb-testgwnet-{0}'.format(get_uuid())
     net_label = 'cb-testgwnet-{0}'.format(get_uuid())
     net = provider.networking.networks.create(
     net = provider.networking.networks.create(
-        name=net_label, cidr_block='10.0.0.0/16')
+        cidr_block='10.0.0.0/16', label=net_label)
     return net, net.gateways.get_or_create_inet_gateway(label=label)
     return net, net.gateways.get_or_create_inet_gateway(label=label)
 
 
 
 

+ 4 - 5
test/test_network_service.py

@@ -25,15 +25,14 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
                 self.provider.networking.networks.delete(network_id=net.id)
                 self.provider.networking.networks.delete(network_id=net.id)
 
 
         sit.check_crud(self, self.provider.networking.networks, Network,
         sit.check_crud(self, self.provider.networking.networks, Network,
-                       "cb-crudnetwork", create_net, cleanup_net,
-                       supports_labels=False)
+                       "cb-crudnetwork", create_net, cleanup_net)
 
 
     @helpers.skipIfNoService(['networking.networks'])
     @helpers.skipIfNoService(['networking.networks'])
     def test_network_properties(self):
     def test_network_properties(self):
         label = 'cb-propnetwork-{0}'.format(helpers.get_uuid())
         label = 'cb-propnetwork-{0}'.format(helpers.get_uuid())
         subnet_label = 'cb-propsubnet-{0}'.format(helpers.get_uuid())
         subnet_label = 'cb-propsubnet-{0}'.format(helpers.get_uuid())
         net = self.provider.networking.networks.create(
         net = self.provider.networking.networks.create(
-            name=label, cidr_block='10.0.0.0/16')
+            label=label, cidr_block='10.0.0.0/16')
         with helpers.cleanup_action(
         with helpers.cleanup_action(
             lambda: net.delete()
             lambda: net.delete()
         ):
         ):
@@ -97,7 +96,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
 
 
         net_label = 'cb-crudsubnet-{0}'.format(helpers.get_uuid())
         net_label = 'cb-crudsubnet-{0}'.format(helpers.get_uuid())
         net = self.provider.networking.networks.create(
         net = self.provider.networking.networks.create(
-            name=net_label, cidr_block='10.0.0.0/16')
+            label=net_label, cidr_block='10.0.0.0/16')
         with helpers.cleanup_action(
         with helpers.cleanup_action(
             lambda:
             lambda:
                 self.provider.networking.networks.delete(network_id=net.id)
                 self.provider.networking.networks.delete(network_id=net.id)
@@ -167,7 +166,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
         gteway = None
         gteway = None
         with helpers.cleanup_action(lambda: _cleanup(net, sn, router, gteway)):
         with helpers.cleanup_action(lambda: _cleanup(net, sn, router, gteway)):
             net = self.provider.networking.networks.create(
             net = self.provider.networking.networks.create(
-                name=label, cidr_block='10.0.0.0/16')
+                label=label, cidr_block='10.0.0.0/16')
             router = self.provider.networking.routers.create(network=net,
             router = self.provider.networking.routers.create(network=net,
                                                              label=label)
                                                              label=label)
             cidr = '10.0.1.0/24'
             cidr = '10.0.1.0/24'

+ 1 - 1
tox.ini

@@ -17,7 +17,7 @@ envlist = {py27,py36,pypy}-{aws,azure,openstack}
 [testenv]
 [testenv]
 commands = flake8 cloudbridge test setup.py
 commands = flake8 cloudbridge test setup.py
            # see setup.cfg for options sent to nosetests and coverage
            # see setup.cfg for options sent to nosetests and coverage
-           nosetests -v --nocapture --nologcapture --logging-format='%(asctime)s [%(levelname)s] %(name)s: %(message)s' {posargs}
+           nosetests -v -s --logging-format='%(asctime)s [%(levelname)s] %(name)s: %(message)s' {posargs}
 setenv =
 setenv =
     MOTO_AMIS_PATH=./test/fixtures/custom_amis.json
     MOTO_AMIS_PATH=./test/fixtures/custom_amis.json
     aws: CB_TEST_PROVIDER=aws
     aws: CB_TEST_PROVIDER=aws