Explorar o código

Made label mandatory for all create methods

Nuwan Goonasekera %!s(int64=7) %!d(string=hai) anos
pai
achega
cfa243140c

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

@@ -829,7 +829,7 @@ class BaseNetwork(BaseCloudResource, BaseObjectLifeCycleMixin, Network):
             timeout=timeout,
             timeout=timeout,
             interval=interval)
             interval=interval)
 
 
-    def create_subnet(self, cidr_block, label=None, zone=None):
+    def create_subnet(self, label, cidr_block, zone=None):
         return self._provider.networking.subnets.create(
         return self._provider.networking.subnets.create(
             label=label, network=self, cidr_block=cidr_block, zone=zone)
             label=label, network=self, cidr_block=cidr_block, zone=zone)
 
 

+ 12 - 20
cloudbridge/cloud/interfaces/resources.py

@@ -640,7 +640,7 @@ class Instance(ObjectLifeCycleMixin, LabeledCloudResource):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create_image(self, label=None):
+    def create_image(self, label):
         """
         """
         Create a new image based on this instance.
         Create a new image based on this instance.
 
 
@@ -731,7 +731,7 @@ class LaunchConfig(object):
         lc.add_block_device(...)
         lc.add_block_device(...)
 
 
         inst = provider.compute.instances.create(
         inst = provider.compute.instances.create(
-            image, vm_type, network, label='MyVM', launch_config=lc)
+            'MyVM', image, vm_type, network, launch_config=lc)
     """
     """
 
 
     @abstractmethod
     @abstractmethod
@@ -950,18 +950,18 @@ class Network(ObjectLifeCycleMixin, LabeledCloudResource):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create_subnet(self, cidr_block, label=None, zone=None):
+    def create_subnet(self, label, cidr_block, zone=None):
         """
         """
         Create a new network subnet and associate it with this Network.
         Create a new network subnet and associate it with this Network.
 
 
-        :type cidr_block: ``str``
-        :param cidr_block: CIDR block within this Network to assign to the
-                           subnet.
-
         :type label: ``str``
         :type label: ``str``
         :param label: The subnet label. The subnet name will be derived from
         :param label: The subnet label. The subnet name will be derived from
                       this label.
                       this label.
 
 
+        :type cidr_block: ``str``
+        :param cidr_block: CIDR block within this Network to assign to the
+                           subnet.
+
         :type zone: ``str``
         :type zone: ``str``
         :param zone: Placement zone where to create the subnet. Some providers
         :param zone: Placement zone where to create the subnet. Some providers
                      may not support subnet zones, in which case the value is
                      may not support subnet zones, in which case the value is
@@ -1326,15 +1326,15 @@ class GatewayContainer(PageableObjectMixin):
     __metaclass__ = ABCMeta
     __metaclass__ = ABCMeta
 
 
     @abstractmethod
     @abstractmethod
-    def get_or_create_inet_gateway(self, label=None):
+    def get_or_create_inet_gateway(self, name=None):
         """
         """
         Creates new or returns an existing internet gateway for a network.
         Creates new or returns an existing internet gateway for a network.
 
 
         The returned gateway object can subsequently be attached to a router to
         The returned gateway object can subsequently be attached to a router to
         provide internet routing to a network.
         provide internet routing to a network.
 
 
-        :type  label: ``str``
-        :param label: The gateway label.
+        :type  name: ``str``
+        :param name: The gateway label.
 
 
         :rtype: ``object``  of :class:`.InternetGateway` or ``None``
         :rtype: ``object``  of :class:`.InternetGateway` or ``None``
         :return: an InternetGateway object of ``None`` if not found.
         :return: an InternetGateway object of ``None`` if not found.
@@ -1362,20 +1362,12 @@ class GatewayContainer(PageableObjectMixin):
         pass
         pass
 
 
 
 
-class Gateway(LabeledCloudResource):
+class Gateway(CloudResource):
     """
     """
     Represents a gateway resource.
     Represents a gateway resource.
     """
     """
     __metaclass__ = ABCMeta
     __metaclass__ = ABCMeta
 
 
-    @LabeledCloudResource.label.setter
-    @abstractmethod
-    def label(self, value):
-        """
-        Set the resource label.
-        """
-        pass
-
     @abstractproperty
     @abstractproperty
     def network_id(self):
     def network_id(self):
         """
         """
@@ -1606,7 +1598,7 @@ class Volume(ObjectLifeCycleMixin, LabeledCloudResource):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create_snapshot(self, label=None, description=None):
+    def create_snapshot(self, label, description=None):
         """
         """
         Create a snapshot of this Volume.
         Create a snapshot of this Volume.
 
 

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

@@ -98,7 +98,7 @@ class ComputeService(CloudService):
             image = provider.compute.images.find(name='Ubuntu 16.04')[0]
             image = provider.compute.images.find(name='Ubuntu 16.04')[0]
             size = provider.compute.vm_types.find(name='m1.small')
             size = provider.compute.vm_types.find(name='m1.small')
             instance = provider.compute.instances.create('Hello', image, size)
             instance = provider.compute.instances.create('Hello', image, size)
-            print(instance.id, instance.name)
+            print(instance.id, instance.label)
 
 
         :rtype: :class:`.InstanceService`
         :rtype: :class:`.InstanceService`
         :return: an InstanceService object
         :return: an InstanceService object
@@ -213,13 +213,17 @@ class InstanceService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, image, vm_type, subnet, label=None, zone=None,
+    def create(self, label, image, vm_type, subnet, zone=None,
                key_pair=None, vm_firewalls=None, user_data=None,
                key_pair=None, vm_firewalls=None, user_data=None,
                launch_config=None,
                launch_config=None,
                **kwargs):
                **kwargs):
         """
         """
         Creates a new virtual machine instance.
         Creates a new virtual machine instance.
 
 
+        :type  label: ``str``
+        :param label: The label of the virtual machine instance. The instance
+                      name will be derived from this label.
+
         :type  image: ``MachineImage`` or ``str``
         :type  image: ``MachineImage`` or ``str``
         :param image: The MachineImage object or id to boot the virtual machine
         :param image: The MachineImage object or id to boot the virtual machine
                       with
                       with
@@ -239,10 +243,6 @@ class InstanceService(PageableObjectMixin, CloudService):
                        work. Some providers (e.g. OpenStack) support a null
                        work. Some providers (e.g. OpenStack) support a null
                        value but the behaviour is implementation specific.
                        value but the behaviour is implementation specific.
 
 
-        :type  label: ``str``
-        :param label: The label of the virtual machine instance. The instance
-                      name will be derived from this label.
-
         :type  zone: ``Zone`` or ``str``
         :type  zone: ``Zone`` or ``str``
         :param zone: The Zone or its id, where the instance should be placed.
         :param zone: The Zone or its id, where the instance should be placed.
                      This parameter is provided for legacy compatibility (with
                      This parameter is provided for legacy compatibility (with
@@ -333,19 +333,19 @@ class VolumeService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, size, zone, label=None, snapshot=None, description=None):
+    def create(self, label, size, zone, snapshot=None, description=None):
         """
         """
         Creates a new volume.
         Creates a new volume.
 
 
+        :type  label: ``str``
+        :param label: The label for the volume.
+
         :type  size: ``int``
         :type  size: ``int``
         :param size: The size of the volume (in GB).
         :param size: The size of the volume (in GB).
 
 
         :type  zone: ``str`` or :class:`.PlacementZone` object
         :type  zone: ``str`` or :class:`.PlacementZone` object
         :param zone: The availability zone in which the Volume will be created.
         :param zone: The availability zone in which the Volume will be created.
 
 
-        :type  label: ``str``
-        :param label: The label for the volume.
-
         :type  snapshot: ``str`` or :class:`.Snapshot` object
         :type  snapshot: ``str`` or :class:`.Snapshot` object
         :param snapshot: An optional reference to a snapshot from which this
         :param snapshot: An optional reference to a snapshot from which this
                          volume should be created.
                          volume should be created.
@@ -400,16 +400,16 @@ class SnapshotService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, volume, label=None, description=None):
+    def create(self, label, volume, description=None):
         """
         """
         Creates a new snapshot off a volume.
         Creates a new snapshot off a volume.
 
 
-        :type  volume: ``str`` or ``Volume``
-        :param volume: The volume to create a snapshot of.
-
         :type  label: ``str``
         :type  label: ``str``
         :param label: The label for the snapshot.
         :param label: The label for the snapshot.
 
 
+        :type  volume: ``str`` or ``Volume``
+        :param volume: The volume to create a snapshot of.
+
         :type  description: ``str``
         :type  description: ``str``
         :param description: An optional description that may be supported by
         :param description: An optional description that may be supported by
                             some providers. Providers that do not support this
                             some providers. Providers that do not support this
@@ -628,7 +628,7 @@ class NetworkService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, cidr_block, label=None):
+    def create(self, label, cidr_block):
         """
         """
         Create a new network.
         Create a new network.
 
 
@@ -730,10 +730,13 @@ class SubnetService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, network_id, cidr_block, zone, label=None):
+    def create(self, label, network_id, cidr_block, zone):
         """
         """
         Create a new subnet within the supplied network.
         Create a new subnet within the supplied network.
 
 
+        :type label: ``str``
+        :param label: The subnet label.
+
         :type network: :class:`.Network` object or ``str``
         :type network: :class:`.Network` object or ``str``
         :param network: Network object or ID under which to create the subnet.
         :param network: Network object or ID under which to create the subnet.
 
 
@@ -745,9 +748,6 @@ class SubnetService(PageableObjectMixin, CloudService):
         :param zone: A placement zone for the subnet. Some providers
         :param zone: A placement zone for the subnet. Some providers
                      may not support this, in which case the value is ignored.
                      may not support this, in which case the value is ignored.
 
 
-        :type label: ``str``
-        :param label: The subnet label.
-
         :rtype: ``object`` of :class:`.Subnet`
         :rtype: ``object`` of :class:`.Subnet`
         :return:  A Subnet object
         :return:  A Subnet object
         """
         """
@@ -824,16 +824,16 @@ class RouterService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, network, label=None):
+    def create(self, label, network):
         """
         """
         Create a new router.
         Create a new router.
 
 
-        :type network: :class:`.Network` object or ``str``
-        :param network: Network object or ID under which to create the router.
-
         :type label: ``str``
         :type label: ``str``
         :param label: A router label.
         :param label: A router label.
 
 
+        :type network: :class:`.Network` object or ``str``
+        :param network: Network object or ID under which to create the router.
+
         :rtype: ``object`` of :class:`.Router`
         :rtype: ``object`` of :class:`.Router`
         :return:  A Router object
         :return:  A Router object
         """
         """
@@ -1119,16 +1119,16 @@ class VMFirewallService(PageableObjectMixin, CloudService):
         pass
         pass
 
 
     @abstractmethod
     @abstractmethod
-    def create(self, network_id, label=None, description=None):
+    def create(self, label, network_id, description=None):
         """
         """
         Create a new VMFirewall.
         Create a new VMFirewall.
 
 
-        :type  network_id: ``str``
-        :param network_id: Network ID under which to create the VM firewall.
-
         :type label: str
         :type label: str
         :param label: The label for the new VM firewall.
         :param label: The label for the new VM firewall.
 
 
+        :type  network_id: ``str``
+        :param network_id: Network ID under which to create the VM firewall.
+
         :type description: str
         :type description: str
         :param description: The description of the new VM firewall.
         :param description: The description of the new VM firewall.
 
 

+ 7 - 18
cloudbridge/cloud/providers/aws/resources.py

@@ -310,7 +310,7 @@ class AWSInstance(BaseInstance):
     def key_pair_id(self):
     def key_pair_id(self):
         return self._ec2_instance.key_name
         return self._ec2_instance.key_name
 
 
-    def create_image(self, label=None):
+    def create_image(self, label):
         self.assert_valid_resource_label(label)
         self.assert_valid_resource_label(label)
         name = self._generate_name_from_label(label, 'cb-img')
         name = self._generate_name_from_label(label, 'cb-img')
 
 
@@ -477,7 +477,7 @@ class AWSVolume(BaseVolume):
                 Device=a.device,
                 Device=a.device,
                 Force=force)
                 Force=force)
 
 
-    def create_snapshot(self, label=None, description=None):
+    def create_snapshot(self, label, description=None):
         snap = AWSSnapshot(
         snap = AWSSnapshot(
             self._provider,
             self._provider,
             self._volume.create_snapshot(
             self._volume.create_snapshot(
@@ -1219,11 +1219,9 @@ class AWSGatewayContainer(BaseGatewayContainer):
                                   cb_resource=AWSInternetGateway,
                                   cb_resource=AWSInternetGateway,
                                   boto_collection_name='internet_gateways')
                                   boto_collection_name='internet_gateways')
 
 
-    def get_or_create_inet_gateway(self, label=None):
-        log.debug("Get or create inet gateway %s on net %s", label,
+    def get_or_create_inet_gateway(self, name=None):
+        log.debug("Get or create inet gateway %s on net %s", name,
                   self._network)
                   self._network)
-        AWSInternetGateway.assert_valid_resource_label(label)
-
         network_id = self._network.id if isinstance(
         network_id = self._network.id if isinstance(
             self._network, AWSNetwork) else self._network
             self._network, AWSNetwork) else self._network
         # Don't filter by label because it may conflict with at least the
         # Don't filter by label because it may conflict with at least the
@@ -1235,8 +1233,9 @@ class AWSGatewayContainer(BaseGatewayContainer):
             return gtw[0]  # There can be only one gtw attached to a VPC
             return gtw[0]  # There can be only one gtw attached to a VPC
         # Gateway does not exist so create one and attach to the supplied net
         # Gateway does not exist so create one and attach to the supplied net
         cb_gateway = self.svc.create('create_internet_gateway')
         cb_gateway = self.svc.create('create_internet_gateway')
-        if label:
-            cb_gateway.label = label
+        if name:
+            AWSInternetGateway.assert_valid_resource_name(name)
+            cb_gateway.label = name
         cb_gateway._gateway.attach_to_vpc(VpcId=network_id)
         cb_gateway._gateway.attach_to_vpc(VpcId=network_id)
         return cb_gateway
         return cb_gateway
 
 
@@ -1269,18 +1268,8 @@ class AWSInternetGateway(BaseInternetGateway):
 
 
     @property
     @property
     def name(self):
     def name(self):
-        return self.id
-
-    @property
-    def label(self):
         return find_tag_value(self._gateway.tags, 'Name')
         return find_tag_value(self._gateway.tags, 'Name')
 
 
-    @label.setter
-    # pylint:disable=arguments-differ
-    def label(self, value):
-        self.assert_valid_resource_label(value)
-        self._gateway.create_tags(Tags=[{'Key': 'Name', 'Value': value or ""}])
-
     def refresh(self):
     def refresh(self):
         try:
         try:
             self._gateway.reload()
             self._gateway.reload()

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

@@ -132,7 +132,7 @@ class AWSVMFirewallService(BaseVMFirewallService):
     def list(self, limit=None, marker=None):
     def list(self, limit=None, marker=None):
         return self.svc.list(limit=limit, marker=marker)
         return self.svc.list(limit=limit, marker=marker)
 
 
-    def create(self, network_id, label=None, description=None):
+    def create(self, label, network_id, description=None):
         log.debug("Creating Firewall Service with the parameters "
         log.debug("Creating Firewall Service with the parameters "
                   "[label: %s id: %s description: %s]", label, network_id,
                   "[label: %s id: %s description: %s]", label, network_id,
                   description)
                   description)
@@ -212,7 +212,7 @@ class AWSVolumeService(BaseVolumeService):
     def list(self, limit=None, marker=None):
     def list(self, limit=None, marker=None):
         return self.svc.list(limit=limit, marker=marker)
         return self.svc.list(limit=limit, marker=marker)
 
 
-    def create(self, size, zone, label=None, snapshot=None, description=None):
+    def create(self, label, size, zone, snapshot=None, description=None):
         log.debug("Creating AWS Volume Service with the parameters "
         log.debug("Creating AWS Volume Service with the parameters "
                   "[label: %s size: %s zone: %s snapshot: %s "
                   "[label: %s size: %s zone: %s snapshot: %s "
                   "description: %s]", label, size, zone, snapshot,
                   "description: %s]", label, size, zone, snapshot,
@@ -261,7 +261,7 @@ class AWSSnapshotService(BaseSnapshotService):
     def list(self, limit=None, marker=None):
     def list(self, limit=None, marker=None):
         return self.svc.list(limit=limit, marker=marker)
         return self.svc.list(limit=limit, marker=marker)
 
 
-    def create(self, volume, label=None, description=None):
+    def create(self, label, volume, description=None):
         """
         """
         Creates a new snapshot of a given volume.
         Creates a new snapshot of a given volume.
         """
         """
@@ -409,7 +409,7 @@ class AWSInstanceService(BaseInstanceService):
                                   cb_resource=AWSInstance,
                                   cb_resource=AWSInstance,
                                   boto_collection_name='instances')
                                   boto_collection_name='instances')
 
 
-    def create(self, image, vm_type, subnet, zone, label=None,
+    def create(self, label, image, vm_type, subnet, zone,
                key_pair=None, vm_firewalls=None, user_data=None,
                key_pair=None, vm_firewalls=None, user_data=None,
                launch_config=None, **kwargs):
                launch_config=None, **kwargs):
         log.debug("Creating AWS Instance Service with the params "
         log.debug("Creating AWS Instance Service with the params "
@@ -667,7 +667,7 @@ 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, cidr_block, label=None):
+    def create(self, label, cidr_block):
         log.debug("Creating AWS Network Service with the params "
         log.debug("Creating AWS Network Service with the params "
                   "[label: %s block: %s]", label, cidr_block)
                   "[label: %s block: %s]", label, cidr_block)
         AWSNetwork.assert_valid_resource_label(label)
         AWSNetwork.assert_valid_resource_label(label)
@@ -712,7 +712,7 @@ class AWSSubnetService(BaseSubnetService):
         log.debug("Searching for AWS Subnet Service %s", label)
         log.debug("Searching for AWS Subnet 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, network, cidr_block, zone, label=None):
+    def create(self, label, network, cidr_block, zone):
         log.debug("Creating AWS Subnet Service with the params "
         log.debug("Creating AWS Subnet Service with the params "
                   "[label: %s network: %s block: %s zone: %s]",
                   "[label: %s network: %s block: %s zone: %s]",
                   label, network, cidr_block, zone)
                   label, network, cidr_block, zone)
@@ -758,8 +758,8 @@ class AWSSubnetService(BaseSubnetService):
         region = self.provider.compute.regions.get(self.provider.region_name)
         region = self.provider.compute.regions.get(self.provider.region_name)
         default_sn = None
         default_sn = None
         for i, z in enumerate(region.zones):
         for i, z in enumerate(region.zones):
-            sn = self.create(default_net, '10.0.{0}.0/24'.format(i), z.name,
-                             label=AWSSubnet.CB_DEFAULT_SUBNET_LABEL)
+            sn = self.create(AWSSubnet.CB_DEFAULT_SUBNET_LABEL, default_net,
+                             '10.0.{0}.0/24'.format(i), z)
             if zone and zone == z.name:
             if zone and zone == z.name:
                 default_sn = sn
                 default_sn = sn
         # No specific zone was supplied; return the last created subnet
         # No specific zone was supplied; return the last created subnet
@@ -800,7 +800,7 @@ class AWSRouterService(BaseRouterService):
     def list(self, limit=None, marker=None):
     def list(self, limit=None, marker=None):
         return self.svc.list(limit=limit, marker=marker)
         return self.svc.list(limit=limit, marker=marker)
 
 
-    def create(self, network, label=None):
+    def create(self, label, network):
         log.debug("Creating AWS Router Service with the params "
         log.debug("Creating AWS Router Service with the params "
                   "[label: %s network: %s]", label, network)
                   "[label: %s network: %s]", label, network)
         AWSRouter.assert_valid_resource_label(label)
         AWSRouter.assert_valid_resource_label(label)

+ 7 - 12
cloudbridge/cloud/providers/azure/resources.py

@@ -536,12 +536,12 @@ class AzureVolume(BaseVolume):
                     vm.storage_profile.data_disks.remove(item)
                     vm.storage_profile.data_disks.remove(item)
                     self._provider.azure_client.update_vm(vm.id, vm)
                     self._provider.azure_client.update_vm(vm.id, vm)
 
 
-    def create_snapshot(self, label=None, description=None):
+    def create_snapshot(self, label, description=None):
         """
         """
         Create a snapshot of this Volume.
         Create a snapshot of this Volume.
         """
         """
-        return self._provider.storage.snapshots.create(self,
-                                                       label, description)
+        return self._provider.storage.snapshots.create(label, self,
+                                                       description)
 
 
     def delete(self):
     def delete(self):
         """
         """
@@ -677,8 +677,7 @@ class AzureSnapshot(BaseSnapshot):
         Create a new Volume from this Snapshot.
         Create a new Volume from this Snapshot.
         """
         """
         return self._provider.storage.volumes. \
         return self._provider.storage.volumes. \
-            create(self.size, label=self.name,
-                   zone=placement, snapshot=self)
+            create(self.name, self.size, zone=placement, snapshot=self)
 
 
 
 
 class AzureMachineImage(BaseMachineImage):
 class AzureMachineImage(BaseMachineImage):
@@ -834,7 +833,7 @@ class AzureGatewayContainer(BaseGatewayContainer):
         self.gateway_singleton = AzureInternetGateway(self._provider, None,
         self.gateway_singleton = AzureInternetGateway(self._provider, None,
                                                       network)
                                                       network)
 
 
-    def get_or_create_inet_gateway(self, label=None):
+    def get_or_create_inet_gateway(self, name=None):
         gateway = AzureInternetGateway(self._provider, None, self._network)
         gateway = AzureInternetGateway(self._provider, None, self._network)
         return gateway
         return gateway
 
 
@@ -941,7 +940,7 @@ class AzureNetwork(BaseNetwork):
         """
         """
         return self._provider.networking.subnets.list(network=self.id)
         return self._provider.networking.subnets.list(network=self.id)
 
 
-    def create_subnet(self, cidr_block, label=None, zone=None):
+    def create_subnet(self, label, cidr_block, zone=None):
         """
         """
         Create the subnet with cidr_block
         Create the subnet with cidr_block
         :param cidr_block:
         :param cidr_block:
@@ -950,7 +949,7 @@ class AzureNetwork(BaseNetwork):
         :return:
         :return:
         """
         """
         return self._provider.networking.subnets. \
         return self._provider.networking.subnets. \
-            create(network=self.id, cidr_block=cidr_block, label=label)
+            create(label=label, network=self.id, cidr_block=cidr_block)
 
 
     @property
     @property
     def gateways(self):
     def gateways(self):
@@ -1726,10 +1725,6 @@ class AzureInternetGateway(BaseInternetGateway):
     def name(self):
     def name(self):
         return "cb-gateway-wrapper"
         return "cb-gateway-wrapper"
 
 
-    @property
-    def label(self):
-        return None
-
     def refresh(self):
     def refresh(self):
         pass
         pass
 
 

+ 26 - 34
cloudbridge/cloud/providers/azure/services.py

@@ -66,12 +66,11 @@ class AzureVMFirewallService(BaseVMFirewallService):
                for fw in self.provider.azure_client.list_vm_firewall()]
                for fw in self.provider.azure_client.list_vm_firewall()]
         return ClientPagedResultList(self.provider, fws, limit, marker)
         return ClientPagedResultList(self.provider, fws, limit, marker)
 
 
-    def create(self, label=None, description=None, network_id=None):
+    def create(self, label, description=None, network_id=None):
+        AzureVMFirewall.assert_valid_resource_label(label)
         name = AzureVMFirewall._generate_name_from_label(label, "cb-fw")
         name = AzureVMFirewall._generate_name_from_label(label, "cb-fw")
-        parameters = {"location": self.provider.region_name}
-        if label:
-            AzureVMFirewall.assert_valid_resource_label(label)
-            parameters.update({'tags': {'Label': label}})
+        parameters = {"location": self.provider.region_name,
+                      "tags": {'Label': label}}
 
 
         if description:
         if description:
             tags = parameters.get('tags')
             tags = parameters.get('tags')
@@ -307,15 +306,14 @@ class AzureVolumeService(BaseVolumeService):
         return ClientPagedResultList(self.provider, cb_vols,
         return ClientPagedResultList(self.provider, cb_vols,
                                      limit=limit, marker=marker)
                                      limit=limit, marker=marker)
 
 
-    def create(self, size, zone=None, label=None, description=None,
+    def create(self, label, size, zone=None, description=None,
                snapshot=None):
                snapshot=None):
         """
         """
         Creates a new volume.
         Creates a new volume.
         """
         """
+        AzureVolume.assert_valid_resource_label(label)
         disk_name = AzureVolume._generate_name_from_label(label, "cb-vol")
         disk_name = AzureVolume._generate_name_from_label(label, "cb-vol")
-        if label:
-            AzureVolume.assert_valid_resource_label(label)
-            tags = {'Label': label}
+        tags = {'Label': label}
 
 
         zone_id = zone.id if isinstance(zone, PlacementZone) else zone
         zone_id = zone.id if isinstance(zone, PlacementZone) else zone
         snapshot = (self.provider.storage.snapshots.get(snapshot)
         snapshot = (self.provider.storage.snapshots.get(snapshot)
@@ -403,25 +401,20 @@ class AzureSnapshotService(BaseSnapshotService):
                  self.provider.azure_client.list_snapshots()]
                  self.provider.azure_client.list_snapshots()]
         return ClientPagedResultList(self.provider, snaps, limit, marker)
         return ClientPagedResultList(self.provider, snaps, limit, marker)
 
 
-    def create(self, volume, label=None, description=None):
+    def create(self, label, volume, description=None):
         """
         """
         Creates a new snapshot of a given volume.
         Creates a new snapshot of a given volume.
         """
         """
-        volume = (self.provider.storage.volumes.get(volume)
-                  if isinstance(volume, str) else volume)
-
+        AzureSnapshot.assert_valid_resource_label(label)
         snapshot_name = AzureSnapshot._generate_name_from_label(label,
         snapshot_name = AzureSnapshot._generate_name_from_label(label,
                                                                 "cb-snap")
                                                                 "cb-snap")
-
-        if label:
-            AzureSnapshot.assert_valid_resource_label(label)
-            tags = {'Label': label}
-
+        tags = {'Label': label}
         if description:
         if description:
-            if not tags:
-                tags = {}
             tags.update(Description=description)
             tags.update(Description=description)
 
 
+        volume = (self.provider.storage.volumes.get(volume)
+                  if isinstance(volume, str) else volume)
+
         params = {
         params = {
             'location': self.provider.azure_client.region_name,
             'location': self.provider.azure_client.region_name,
             'creation_data': {
             'creation_data': {
@@ -468,7 +461,7 @@ class AzureInstanceService(BaseInstanceService):
     def __init__(self, provider):
     def __init__(self, provider):
         super(AzureInstanceService, self).__init__(provider)
         super(AzureInstanceService, self).__init__(provider)
 
 
-    def create(self, image, vm_type, label, subnet=None, zone=None,
+    def create(self, label, image, vm_type, subnet=None, zone=None,
                key_pair=None, vm_firewalls=None, user_data=None,
                key_pair=None, vm_firewalls=None, user_data=None,
                launch_config=None, **kwargs):
                launch_config=None, **kwargs):
 
 
@@ -899,7 +892,7 @@ class AzureNetworkService(BaseNetworkService):
         return ClientPagedResultList(self.provider,
         return ClientPagedResultList(self.provider,
                                      matches if matches else [])
                                      matches if matches else [])
 
 
-    def create(self, cidr_block, label=None):
+    def create(self, label, cidr_block):
         AzureNetwork.assert_valid_resource_label(label)
         AzureNetwork.assert_valid_resource_label(label)
         params = {
         params = {
             'location': self.provider.azure_client.region_name,
             'location': self.provider.azure_client.region_name,
@@ -1016,18 +1009,18 @@ class AzureSubnetService(BaseSubnetService):
         return ClientPagedResultList(self.provider,
         return ClientPagedResultList(self.provider,
                                      matches if matches else [])
                                      matches if matches else [])
 
 
-    def create(self, network, cidr_block, label=None, **kwargs):
+    def create(self, label, network, cidr_block, **kwargs):
         """
         """
         Create subnet
         Create subnet
         """
         """
-        network_id = network.id \
-            if isinstance(network, Network) else network
-
         # Although Subnet doesn't support labels, we use the parent Network's
         # Although Subnet doesn't support labels, we use the parent Network's
         # tags to track the subnet's labels
         # tags to track the subnet's labels
         AzureSubnet.assert_valid_resource_label(label)
         AzureSubnet.assert_valid_resource_label(label)
         subnet_name = AzureSubnet._generate_name_from_label(label, "cb-sn")
         subnet_name = AzureSubnet._generate_name_from_label(label, "cb-sn")
 
 
+        network_id = network.id \
+            if isinstance(network, Network) else network
+
         subnet_info = self.provider.azure_client\
         subnet_info = self.provider.azure_client\
             .create_subnet(
             .create_subnet(
                 network_id,
                 network_id,
@@ -1057,10 +1050,10 @@ class AzureSubnetService(BaseSubnetService):
             network = networks[0]
             network = networks[0]
         else:
         else:
             network = self.provider.networking.networks.create(
             network = self.provider.networking.networks.create(
-                '10.0.0.0/16', label=AzureNetwork.CB_DEFAULT_NETWORK_LABEL)
+                AzureNetwork.CB_DEFAULT_NETWORK_LABEL, '10.0.0.0/16')
 
 
-        subnet = self.create(network, default_cidr,
-                             label=AzureSubnet.CB_DEFAULT_SUBNET_LABEL)
+        subnet = self.create(AzureSubnet.CB_DEFAULT_SUBNET_LABEL, network,
+                             default_cidr)
         return subnet
         return subnet
 
 
     def delete(self, subnet):
     def delete(self, subnet):
@@ -1103,13 +1096,12 @@ class AzureRouterService(BaseRouterService):
                                      routes,
                                      routes,
                                      limit=limit, marker=marker)
                                      limit=limit, marker=marker)
 
 
-    def create(self, network, label=None):
+    def create(self, label, network):
+        AzureRouter.assert_valid_resource_label(label)
         router_name = AzureRouter._generate_name_from_label(label, "cb-router")
         router_name = AzureRouter._generate_name_from_label(label, "cb-router")
 
 
-        parameters = {"location": self.provider.region_name}
-        if label:
-            AzureRouter.assert_valid_resource_label(label)
-            parameters.update(tags={'Label': label})
+        parameters = {"location": self.provider.region_name,
+                      "Label": label}
 
 
         route = self.provider.azure_client. \
         route = self.provider.azure_client. \
             create_route_table(router_name, parameters)
             create_route_table(router_name, parameters)

+ 5 - 8
cloudbridge/cloud/providers/openstack/resources.py

@@ -447,7 +447,7 @@ class OpenStackInstance(BaseInstance):
         """
         """
         return self._os_instance.key_name
         return self._os_instance.key_name
 
 
-    def create_image(self, label=None):
+    def create_image(self, label):
         """
         """
         Create a new image based on this instance.
         Create a new image based on this instance.
         """
         """
@@ -658,14 +658,14 @@ class OpenStackVolume(BaseVolume):
         """
         """
         self._volume.detach()
         self._volume.detach()
 
 
-    def create_snapshot(self, label=None, description=None):
+    def create_snapshot(self, label, description=None):
         """
         """
         Create a snapshot of this Volume.
         Create a snapshot of this Volume.
         """
         """
         log.debug("Creating snapchat of volume: %s with the "
         log.debug("Creating snapchat of volume: %s with the "
                   "description: %s", label, description)
                   "description: %s", label, description)
         return self._provider.storage.snapshots.create(
         return self._provider.storage.snapshots.create(
-            self, label=label, description=description)
+            label, self, description=description)
 
 
     def delete(self):
     def delete(self):
         """
         """
@@ -809,7 +809,7 @@ class OpenStackGatewayContainer(BaseGatewayContainer):
         # all available networks and perform an assignment test to infer valid
         # all available networks and perform an assignment test to infer valid
         # floating ip nets.
         # floating ip nets.
         dummy_router = self._provider.networking.routers.create(
         dummy_router = self._provider.networking.routers.create(
-            network=self._network, label='cb-conn-test-router')
+            label='cb-conn-test-router', network=self._network)
         with cb_helpers.cleanup_action(lambda: dummy_router.delete()):
         with cb_helpers.cleanup_action(lambda: dummy_router.delete()):
             try:
             try:
                 dummy_router.attach_gateway(external_net)
                 dummy_router.attach_gateway(external_net)
@@ -817,11 +817,8 @@ class OpenStackGatewayContainer(BaseGatewayContainer):
             except Exception:
             except Exception:
                 return False
                 return False
 
 
-    def get_or_create_inet_gateway(self, label=None):
+    def get_or_create_inet_gateway(self, name=None):
         """For OS, inet gtw is any net that has `external` property set."""
         """For OS, inet gtw is any net that has `external` property set."""
-        if label:
-            OpenStackInternetGateway.assert_valid_resource_label(label)
-
         external_nets = (n for n in self._provider.networking.networks
         external_nets = (n for n in self._provider.networking.networks
                          if n.external)
                          if n.external)
         for net in external_nets:
         for net in external_nets:

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

@@ -208,7 +208,7 @@ class OpenStackVMFirewallService(BaseVMFirewallService):
         return ClientPagedResultList(self.provider, firewalls,
         return ClientPagedResultList(self.provider, firewalls,
                                      limit=limit, marker=marker)
                                      limit=limit, marker=marker)
 
 
-    def create(self, description, network_id, label=None):
+    def create(self, label, description, network_id):
         OpenStackVMFirewall.assert_valid_resource_label(label)
         OpenStackVMFirewall.assert_valid_resource_label(label)
         name = OpenStackVMFirewall._generate_name_from_label(label, 'cb-fw')
         name = OpenStackVMFirewall._generate_name_from_label(label, 'cb-fw')
         log.debug("Creating OpenStack VM Firewall with the params: "
         log.debug("Creating OpenStack VM Firewall with the params: "
@@ -368,7 +368,7 @@ class OpenStackVolumeService(BaseVolumeService):
 
 
         return oshelpers.to_server_paged_list(self.provider, cb_vols, limit)
         return oshelpers.to_server_paged_list(self.provider, cb_vols, limit)
 
 
-    def create(self, size, zone, label=None, snapshot=None, description=None):
+    def create(self, label, size, zone, snapshot=None, description=None):
         """
         """
         Creates a new volume.
         Creates a new volume.
         """
         """
@@ -437,7 +437,7 @@ class OpenStackSnapshotService(BaseSnapshotService):
                              'marker': marker})]
                              'marker': marker})]
         return oshelpers.to_server_paged_list(self.provider, cb_snaps, limit)
         return oshelpers.to_server_paged_list(self.provider, cb_snaps, limit)
 
 
-    def create(self, volume, label=None, description=None):
+    def create(self, label, volume, description=None):
         """
         """
         Creates a new snapshot of a given volume.
         Creates a new snapshot of a given volume.
         """
         """
@@ -582,7 +582,7 @@ class OpenStackInstanceService(BaseInstanceService):
     def __init__(self, provider):
     def __init__(self, provider):
         super(OpenStackInstanceService, self).__init__(provider)
         super(OpenStackInstanceService, self).__init__(provider)
 
 
-    def create(self, image, vm_type, subnet, zone, label=None,
+    def create(self, label, image, vm_type, subnet, zone,
                key_pair=None, vm_firewalls=None, user_data=None,
                key_pair=None, vm_firewalls=None, user_data=None,
                launch_config=None,
                launch_config=None,
                **kwargs):
                **kwargs):
@@ -812,7 +812,7 @@ class OpenStackNetworkService(BaseNetworkService):
                     .get('networks') if network]
                     .get('networks') if network]
         return ClientPagedResultList(self.provider, networks)
         return ClientPagedResultList(self.provider, networks)
 
 
-    def create(self, cidr_block, label=None):
+    def create(self, label, cidr_block):
         log.debug("Creating OpenStack Network with the params: "
         log.debug("Creating OpenStack Network with the params: "
                   "[label: %s Cinder Block: %s]", label, cidr_block)
                   "[label: %s Cinder Block: %s]", label, cidr_block)
         OpenStackNetwork.assert_valid_resource_label(label)
         OpenStackNetwork.assert_valid_resource_label(label)
@@ -846,7 +846,7 @@ class OpenStackSubnetService(BaseSubnetService):
         return ClientPagedResultList(self.provider, subnets,
         return ClientPagedResultList(self.provider, subnets,
                                      limit=limit, marker=marker)
                                      limit=limit, marker=marker)
 
 
-    def create(self, network, cidr_block, zone, label=None):
+    def create(self, label, network, cidr_block, zone):
         """zone param is ignored."""
         """zone param is ignored."""
         log.debug("Creating OpenStack Subnet with the params: "
         log.debug("Creating OpenStack Subnet with the params: "
                   "[Label: %s Network: %s Cinder Block: %s Zone: -ignored-]",
                   "[Label: %s Network: %s Cinder Block: %s Zone: -ignored-]",
@@ -920,7 +920,7 @@ class OpenStackRouterService(BaseRouterService):
         matches = cb_helpers.generic_find(filters, kwargs, obj_list)
         matches = cb_helpers.generic_find(filters, kwargs, obj_list)
         return ClientPagedResultList(self._provider, list(matches))
         return ClientPagedResultList(self._provider, list(matches))
 
 
-    def create(self, network, label=None):
+    def create(self, label, network):
         """
         """
         ``network`` is not used by OpenStack.
         ``network`` is not used by OpenStack.
 
 

+ 1 - 1
docs/getting_started.rst

@@ -121,7 +121,7 @@ attaching an internet gateway to the subnet via a router.
     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)
-    gateway = net.gateways.get_or_create_inet_gateway(label='my-gateway')
+    gateway = net.gateways.get_or_create_inet_gateway(name='my-gateway')
     router.attach_gateway(gateway)
     router.attach_gateway(gateway)
 
 
 
 

+ 1 - 1
docs/topics/design_decisions.rst

@@ -87,7 +87,7 @@ It is intended as a reference.
   label at all, yet needed to be named during object creation. However, we
   label at all, yet needed to be named during object creation. However, we
   could not use display_id for this purpose became the display_id, by
   could not use display_id for this purpose became the display_id, by
   definition, is unchangeable. It could not be called label because the label,
   definition, is unchangeable. It could not be called label because the label,
-  in constrast, was changeable. Therefore, it seemed like we were back to
+  in contrast, was changeable. Therefore, it seemed like we were back to
   calling it `name` instead, introducing yet a fourth term. To simplify this,
   calling it `name` instead, introducing yet a fourth term. To simplify this,
   it was then decided that `display_id` and `name` would be collapsed together
   it was then decided that `display_id` and `name` would be collapsed together
   into one term and be called `name` instead. All resources would have an `id`
   into one term and be called `name` instead. All resources would have an `id`

+ 1 - 1
docs/topics/networking.rst

@@ -94,7 +94,7 @@ The additional step that's required here is to assign a floating IP to the VM:
 
 
     router = provider.networking.routers.create(network=net, name='my-router')
     router = provider.networking.routers.create(network=net, name='my-router')
     router.attach_subnet(sn)
     router.attach_subnet(sn)
-    gateway = net.gateways.get_or_create_inet_gateway(net, name)
+    gateway = net.gateways.get_or_create_inet_gateway(name)
     router.attach_gateway(gateway)
     router.attach_gateway(gateway)
 
 
     fip = provider.networking.floating_ips.create()
     fip = provider.networking.floating_ips.create()

+ 8 - 10
test/helpers/__init__.py

@@ -116,12 +116,11 @@ 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(cidr_block='10.0.0.0/16',
-                                              label=label)
+    net = provider.networking.networks.create(label=label,
+                                              cidr_block='10.0.0.0/16')
     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),
-                           zone=get_provider_test_data(provider, 'placement'),
-                           label=label)
+    sn = net.create_subnet(label=label, cidr_block='{0}/28'.format(cidr_block),
+                           zone=get_provider_test_data(provider, 'placement'))
     return net, sn
     return net, sn
 
 
 
 
@@ -142,9 +141,9 @@ def get_test_gateway(provider, label):
     This includes creating a network for the gateway, which is also returned.
     This includes creating a network for the gateway, which is also returned.
     """
     """
     net_label = 'cb-testgwnet-{0}'.format(get_uuid())
     net_label = 'cb-testgwnet-{0}'.format(get_uuid())
-    net = provider.networking.networks.create(
-        cidr_block='10.0.0.0/16', label=net_label)
-    return net, net.gateways.get_or_create_inet_gateway(label=label)
+    net = provider.networking.networks.create(label=net_label,
+                                              cidr_block='10.0.0.0/16')
+    return net, net.gateways.get_or_create_inet_gateway(name=label)
 
 
 
 
 def delete_test_gateway(network, gateway):
 def delete_test_gateway(network, gateway):
@@ -161,9 +160,8 @@ def create_test_instance(
         key_pair=None, vm_firewalls=None, user_data=None):
         key_pair=None, vm_firewalls=None, user_data=None):
 
 
     instance = provider.compute.instances.create(
     instance = provider.compute.instances.create(
-        get_provider_test_data(provider, 'image'),
+        instance_label, get_provider_test_data(provider, 'image'),
         get_provider_test_data(provider, 'vm_type'),
         get_provider_test_data(provider, 'vm_type'),
-        label=instance_label,
         subnet=subnet,
         subnet=subnet,
         zone=get_provider_test_data(provider, 'placement'),
         zone=get_provider_test_data(provider, 'placement'),
         key_pair=key_pair,
         key_pair=key_pair,

+ 9 - 13
test/test_block_store_service.py

@@ -27,9 +27,8 @@ class CloudBlockStoreServiceTestCase(ProviderTestBase):
         """
         """
         def create_vol(label):
         def create_vol(label):
             return self.provider.storage.volumes.create(
             return self.provider.storage.volumes.create(
-                1,
-                helpers.get_provider_test_data(self.provider, "placement"),
-                label=label)
+                label, 1,
+                helpers.get_provider_test_data(self.provider, "placement"))
 
 
         def cleanup_vol(vol):
         def cleanup_vol(vol):
             if vol:
             if vol:
@@ -58,7 +57,7 @@ class CloudBlockStoreServiceTestCase(ProviderTestBase):
                 self.provider, label, subnet=subnet)
                 self.provider, label, subnet=subnet)
 
 
             test_vol = self.provider.storage.volumes.create(
             test_vol = self.provider.storage.volumes.create(
-                1, test_instance.zone_id, label=label)
+                label, 1, test_instance.zone_id)
             with helpers.cleanup_action(lambda: test_vol.delete()):
             with helpers.cleanup_action(lambda: test_vol.delete()):
                 test_vol.wait_till_ready()
                 test_vol.wait_till_ready()
                 test_vol.attach(test_instance, '/dev/sda2')
                 test_vol.attach(test_instance, '/dev/sda2')
@@ -89,7 +88,7 @@ class CloudBlockStoreServiceTestCase(ProviderTestBase):
                 self.provider, label, subnet=subnet)
                 self.provider, label, subnet=subnet)
 
 
             test_vol = self.provider.storage.volumes.create(
             test_vol = self.provider.storage.volumes.create(
-                1, test_instance.zone_id, label=label, description=vol_desc)
+                label, 1, test_instance.zone_id, description=vol_desc)
             with helpers.cleanup_action(lambda: test_vol.delete()):
             with helpers.cleanup_action(lambda: test_vol.delete()):
                 test_vol.wait_till_ready()
                 test_vol.wait_till_ready()
                 self.assertTrue(
                 self.assertTrue(
@@ -140,9 +139,8 @@ class CloudBlockStoreServiceTestCase(ProviderTestBase):
         """
         """
         label = "cb-crudsnap-{0}".format(helpers.get_uuid())
         label = "cb-crudsnap-{0}".format(helpers.get_uuid())
         test_vol = self.provider.storage.volumes.create(
         test_vol = self.provider.storage.volumes.create(
-            1,
-            helpers.get_provider_test_data(self.provider, "placement"),
-            label=label)
+            label, 1,
+            helpers.get_provider_test_data(self.provider, "placement"))
         with helpers.cleanup_action(lambda: test_vol.delete()):
         with helpers.cleanup_action(lambda: test_vol.delete()):
             test_vol.wait_till_ready()
             test_vol.wait_till_ready()
 
 
@@ -177,9 +175,8 @@ class CloudBlockStoreServiceTestCase(ProviderTestBase):
         """
         """
         label = "cb-snapprop-{0}".format(helpers.get_uuid())
         label = "cb-snapprop-{0}".format(helpers.get_uuid())
         test_vol = self.provider.storage.volumes.create(
         test_vol = self.provider.storage.volumes.create(
-            1,
-            helpers.get_provider_test_data(self.provider, "placement"),
-            label=label)
+            label, 1,
+            helpers.get_provider_test_data(self.provider, "placement"))
         with helpers.cleanup_action(lambda: test_vol.delete()):
         with helpers.cleanup_action(lambda: test_vol.delete()):
             test_vol.wait_till_ready()
             test_vol.wait_till_ready()
             snap_label = "cb-snap-{0}".format(label)
             snap_label = "cb-snap-{0}".format(label)
@@ -215,9 +212,8 @@ class CloudBlockStoreServiceTestCase(ProviderTestBase):
                 # Test volume creation from a snapshot (via VolumeService)
                 # Test volume creation from a snapshot (via VolumeService)
                 sv_label = "cb-snapvol-{0}".format(test_snap.name)
                 sv_label = "cb-snapvol-{0}".format(test_snap.name)
                 snap_vol = self.provider.storage.volumes.create(
                 snap_vol = self.provider.storage.volumes.create(
-                    1,
+                    sv_label, 1,
                     helpers.get_provider_test_data(self.provider, "placement"),
                     helpers.get_provider_test_data(self.provider, "placement"),
-                    label=sv_label,
                     snapshot=test_snap)
                     snapshot=test_snap)
                 with helpers.cleanup_action(lambda: snap_vol.delete()):
                 with helpers.cleanup_action(lambda: snap_vol.delete()):
                     snap_vol.wait_till_ready()
                     snap_vol.wait_till_ready()

+ 4 - 5
test/test_compute_service.py

@@ -224,10 +224,9 @@ class CloudComputeServiceTestCase(ProviderTestBase):
                                 " not stable enough yet")
                                 " not stable enough yet")
 
 
         test_vol = self.provider.storage.volumes.create(
         test_vol = self.provider.storage.volumes.create(
-           1,
+           label, 1,
            helpers.get_provider_test_data(self.provider,
            helpers.get_provider_test_data(self.provider,
-                                          "placement"),
-           label=label)
+                                          "placement"))
         with helpers.cleanup_action(lambda: test_vol.delete()):
         with helpers.cleanup_action(lambda: test_vol.delete()):
             test_vol.wait_till_ready()
             test_vol.wait_till_ready()
             test_snap = test_vol.create_snapshot(label=label,
             test_snap = test_vol.create_snapshot(label=label,
@@ -334,7 +333,7 @@ class CloudComputeServiceTestCase(ProviderTestBase):
                 (fw, test_inst.vm_firewalls))
                 (fw, test_inst.vm_firewalls))
 
 
             # check floating ips
             # check floating ips
-            router = self.provider.networking.routers.create(net, label=label)
+            router = self.provider.networking.routers.create(label, net)
             gateway = None
             gateway = None
 
 
             def cleanup_router(router, gateway):
             def cleanup_router(router, gateway):
@@ -346,7 +345,7 @@ class CloudComputeServiceTestCase(ProviderTestBase):
             with helpers.cleanup_action(lambda: cleanup_router(router,
             with helpers.cleanup_action(lambda: cleanup_router(router,
                                                                gateway)):
                                                                gateway)):
                 router.attach_subnet(subnet)
                 router.attach_subnet(subnet)
-                gateway = net.gateways.get_or_create_inet_gateway(label=label)
+                gateway = net.gateways.get_or_create_inet_gateway(name=label)
                 router.attach_gateway(gateway)
                 router.attach_gateway(gateway)
                 # check whether adding an elastic ip works
                 # check whether adding an elastic ip works
                 fip = gateway.floating_ips.create()
                 fip = gateway.floating_ips.create()

+ 4 - 4
test/test_network_service.py

@@ -86,7 +86,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
 
 
         def create_subnet(label):
         def create_subnet(label):
             return self.provider.networking.subnets.create(
             return self.provider.networking.subnets.create(
-                network=net, cidr_block="10.0.0.0/24", label=label,
+                label=label, network=net, cidr_block="10.0.0.0/24",
                 zone=helpers.get_provider_test_data(
                 zone=helpers.get_provider_test_data(
                     self.provider, 'placement'))
                     self.provider, 'placement'))
 
 
@@ -167,8 +167,8 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
         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(
                 label=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,
-                                                             label=label)
+            router = self.provider.networking.routers.create(label=label,
+                                                             network=net)
             cidr = '10.0.1.0/24'
             cidr = '10.0.1.0/24'
             sn = net.create_subnet(label=label, cidr_block=cidr,
             sn = net.create_subnet(label=label, cidr_block=cidr,
                                    zone=helpers.get_provider_test_data(
                                    zone=helpers.get_provider_test_data(
@@ -188,7 +188,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
 #                     router.id, router.network_id))
 #                     router.id, router.network_id))
 
 
             router.attach_subnet(sn)
             router.attach_subnet(sn)
-            gteway = net.gateways.get_or_create_inet_gateway(label=label)
+            gteway = net.gateways.get_or_create_inet_gateway(name=label)
             router.attach_gateway(gteway)
             router.attach_gateway(gteway)
             # TODO: add a check for routes after that's been implemented
             # TODO: add a check for routes after that's been implemented
 
 

+ 2 - 3
test/test_object_life_cycle.py

@@ -16,9 +16,8 @@ class CloudObjectLifeCycleTestCase(ProviderTestBase):
         """
         """
         label = "cb-objlifecycle-{0}".format(helpers.get_uuid())
         label = "cb-objlifecycle-{0}".format(helpers.get_uuid())
         test_vol = self.provider.storage.volumes.create(
         test_vol = self.provider.storage.volumes.create(
-            1,
-            helpers.get_provider_test_data(self.provider, "placement"),
-            label=label)
+            label, 1,
+            helpers.get_provider_test_data(self.provider, "placement"))
 
 
         # Waiting for an invalid timeout should raise an exception
         # Waiting for an invalid timeout should raise an exception
         with self.assertRaises(AssertionError):
         with self.assertRaises(AssertionError):