This is an automated email from the ASF dual-hosted git repository. micafer pushed a commit to branch unify_create_node in repository https://gitbox.apache.org/repos/asf/libcloud.git
commit 6d6d051d52954a7082dc016442c073d834020094 Author: Miguel Caballer <[email protected]> AuthorDate: Wed Jul 22 12:24:25 2026 +0200 Unify create_node function --- libcloud/compute/drivers/abiquo.py | 4 +++- libcloud/compute/drivers/azure.py | 5 +++-- libcloud/compute/drivers/azure_arm.py | 6 +++--- libcloud/compute/drivers/brightbox.py | 4 +++- libcloud/compute/drivers/cloudscale.py | 2 +- libcloud/compute/drivers/cloudsigma.py | 4 ++++ libcloud/compute/drivers/cloudstack.py | 1 + libcloud/compute/drivers/digitalocean.py | 3 ++- libcloud/compute/drivers/dimensiondata.py | 4 +++- libcloud/compute/drivers/dummy.py | 2 +- libcloud/compute/drivers/ec2.py | 11 +++++++++-- libcloud/compute/drivers/ecs.py | 1 + libcloud/compute/drivers/equinixmetal.py | 3 ++- libcloud/compute/drivers/gandi.py | 1 + libcloud/compute/drivers/gce.py | 1 + libcloud/compute/drivers/gig_g8.py | 7 ++++--- libcloud/compute/drivers/gridscale.py | 4 +++- libcloud/compute/drivers/kamatera.py | 2 +- libcloud/compute/drivers/ktucloud.py | 4 +++- libcloud/compute/drivers/kubevirt.py | 4 ++-- libcloud/compute/drivers/linode.py | 3 ++- libcloud/compute/drivers/maxihost.py | 4 +++- libcloud/compute/drivers/nttcis.py | 4 +++- libcloud/compute/drivers/onapp.py | 18 +++++++++++------- libcloud/compute/drivers/opennebula.py | 6 ++++-- libcloud/compute/drivers/openstack.py | 6 +++++- libcloud/compute/drivers/outscale.py | 5 ++++- libcloud/compute/drivers/ovh.py | 2 +- libcloud/compute/drivers/rimuhosting.py | 1 + libcloud/compute/drivers/scaleway.py | 12 +++++++++++- libcloud/compute/drivers/upcloud.py | 2 +- libcloud/compute/drivers/vcl.py | 11 ++++++++++- libcloud/compute/drivers/vcloud.py | 7 ++++--- libcloud/compute/drivers/vpsnet.py | 11 ++++++++++- libcloud/compute/drivers/vsphere.py | 6 ++++-- libcloud/compute/drivers/vultr.py | 16 +++++++++++++--- libcloud/test/compute/test_azure_arm.py | 16 ++++++++-------- libcloud/test/compute/test_gig_g8.py | 4 +++- libcloud/test/compute/test_linode_v4.py | 12 +++++++----- 39 files changed, 156 insertions(+), 63 deletions(-) diff --git a/libcloud/compute/drivers/abiquo.py b/libcloud/compute/drivers/abiquo.py index 73bd208c0..7ce8a87e9 100644 --- a/libcloud/compute/drivers/abiquo.py +++ b/libcloud/compute/drivers/abiquo.py @@ -76,7 +76,9 @@ class AbiquoNodeDriver(NodeDriver): super().__init__(key=user_id, secret=secret, secure=False, host=None, port=None, **kwargs) self.ex_populate_cache() - def create_node(self, image, name=None, size=None, location=None, ex_group_name=None): + def create_node( + self, name, size, image, location=None, auth=None, ex_group_name=None + ): """ Create a new node instance in Abiquo diff --git a/libcloud/compute/drivers/azure.py b/libcloud/compute/drivers/azure.py index d424f357d..a35488830 100644 --- a/libcloud/compute/drivers/azure.py +++ b/libcloud/compute/drivers/azure.py @@ -481,7 +481,9 @@ class AzureNodeDriver(NodeDriver): name, size, image, - ex_cloud_service_name, + location=None, + auth=None, + ex_cloud_service_name=None, ex_storage_service_name=None, ex_new_deployment=False, ex_deployment_slot="Production", @@ -490,7 +492,6 @@ class AzureNodeDriver(NodeDriver): ex_custom_data=None, ex_virtual_network_name=None, ex_network_config=None, - auth=None, **kwargs, ): """ diff --git a/libcloud/compute/drivers/azure_arm.py b/libcloud/compute/drivers/azure_arm.py index 852c350e5..9c76b384f 100644 --- a/libcloud/compute/drivers/azure_arm.py +++ b/libcloud/compute/drivers/azure_arm.py @@ -505,11 +505,11 @@ class AzureNodeDriver(NodeDriver): name, size, image, - auth, - ex_resource_group, + location=None, + auth=None, + ex_resource_group=None, ex_storage_account=None, ex_blob_container="vhds", - location=None, ex_user_name="azureuser", ex_network=None, ex_subnet=None, diff --git a/libcloud/compute/drivers/brightbox.py b/libcloud/compute/drivers/brightbox.py index 67ee9bcc2..7f7a8766e 100644 --- a/libcloud/compute/drivers/brightbox.py +++ b/libcloud/compute/drivers/brightbox.py @@ -168,7 +168,9 @@ class BrightboxNodeDriver(NodeDriver): headers = {"Content-Type": "application/json"} return self.connection.request(path, data=data, headers=headers, method="PUT") - def create_node(self, name, size, image, location=None, ex_userdata=None, ex_servergroup=None): + def create_node( + self, name, size, image, location=None, auth=None, ex_userdata=None, ex_servergroup=None + ): """Create a new Brightbox node Reference: https://api.gb1.brightbox.com/1.0/#server_create_server diff --git a/libcloud/compute/drivers/cloudscale.py b/libcloud/compute/drivers/cloudscale.py index 7698bd65d..58958c979 100644 --- a/libcloud/compute/drivers/cloudscale.py +++ b/libcloud/compute/drivers/cloudscale.py @@ -110,7 +110,7 @@ class CloudscaleNodeDriver(NodeDriver): """ return self._list_resources("/v1/images", self._to_image) - def create_node(self, name, size, image, location=None, ex_create_attr=None): + def create_node(self, name, size, image, location=None, auth=None, ex_create_attr=None): """ Create a node. diff --git a/libcloud/compute/drivers/cloudsigma.py b/libcloud/compute/drivers/cloudsigma.py index a012b480b..f533d756c 100644 --- a/libcloud/compute/drivers/cloudsigma.py +++ b/libcloud/compute/drivers/cloudsigma.py @@ -316,6 +316,8 @@ class CloudSigma_1_0_NodeDriver(CloudSigmaNodeDriver): name, size, image, + location=None, + auth=None, smp="auto", nic_model="e1000", vnc_password=None, @@ -1223,6 +1225,8 @@ class CloudSigma_2_0_NodeDriver(CloudSigmaNodeDriver): name, size, image, + location=None, + auth=None, ex_metadata=None, ex_vnc_password=None, ex_avoid=None, diff --git a/libcloud/compute/drivers/cloudstack.py b/libcloud/compute/drivers/cloudstack.py index 69605c2f1..bec45459c 100644 --- a/libcloud/compute/drivers/cloudstack.py +++ b/libcloud/compute/drivers/cloudstack.py @@ -1601,6 +1601,7 @@ class CloudStackNodeDriver(CloudStackDriverMixIn, NodeDriver): size, image, location=None, + auth=None, networks=None, project=None, diskoffering=None, diff --git a/libcloud/compute/drivers/digitalocean.py b/libcloud/compute/drivers/digitalocean.py index 761199dcf..dbab5cff1 100644 --- a/libcloud/compute/drivers/digitalocean.py +++ b/libcloud/compute/drivers/digitalocean.py @@ -151,7 +151,8 @@ class DigitalOcean_v2_NodeDriver(DigitalOcean_v2_BaseDriver, DigitalOceanNodeDri name, size, image, - location, + location=None, + auth=None, ex_create_attr=None, ex_ssh_key_ids=None, ex_user_data=None, diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py index 31660cec3..3dfdd34dc 100644 --- a/libcloud/compute/drivers/dimensiondata.py +++ b/libcloud/compute/drivers/dimensiondata.py @@ -272,8 +272,10 @@ class DimensionDataNodeDriver(NodeDriver): def create_node( self, name, + size, image, - auth, + location=None, + auth=None, ex_network_domain=None, ex_primary_nic_private_ipv4=None, ex_primary_nic_vlan=None, diff --git a/libcloud/compute/drivers/dummy.py b/libcloud/compute/drivers/dummy.py index 04889789d..a3fee5fd8 100644 --- a/libcloud/compute/drivers/dummy.py +++ b/libcloud/compute/drivers/dummy.py @@ -287,7 +287,7 @@ class DummyNodeDriver(NodeDriver): NodeLocation(id=3, name="Island Datacenter", country="FJ", driver=self), ] - def create_node(self, name, size, image): + def create_node(self, name, size, image, location=None, auth=None): """ Creates a dummy node; the node id is equal to the number of nodes in the node list diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py index 770a30d15..77a9a5017 100644 --- a/libcloud/compute/drivers/ec2.py +++ b/libcloud/compute/drivers/ec2.py @@ -5641,7 +5641,7 @@ class OutscaleNodeDriver(BaseEC2NodeDriver): super().__init__(key=key, secret=secret, secure=secure, host=host, port=port, **kwargs) - def create_node(self, **kwargs): + def create_node(self, name, size, image, location=None, auth=None, **kwargs): """ Creates a new Outscale node. The ex_iamprofile keyword is not supported. @@ -5680,7 +5680,14 @@ class OutscaleNodeDriver(BaseEC2NodeDriver): """ if "ex_iamprofile" in kwargs: raise NotImplementedError("ex_iamprofile not implemented") - return super().create_node(**kwargs) + return super().create_node( + name=name, + size=size, + image=image, + location=location, + auth=auth, + **kwargs, + ) def ex_create_network(self, cidr_block, name=None): """ diff --git a/libcloud/compute/drivers/ecs.py b/libcloud/compute/drivers/ecs.py index 8fca7b455..45f050191 100644 --- a/libcloud/compute/drivers/ecs.py +++ b/libcloud/compute/drivers/ecs.py @@ -402,6 +402,7 @@ class ECSDriver(NodeDriver): name, size, image, + location=None, auth=None, ex_security_group_id=None, ex_description=None, diff --git a/libcloud/compute/drivers/equinixmetal.py b/libcloud/compute/drivers/equinixmetal.py index 2508e5fa6..2db8a0b6b 100644 --- a/libcloud/compute/drivers/equinixmetal.py +++ b/libcloud/compute/drivers/equinixmetal.py @@ -269,7 +269,8 @@ def _list_async(driver): name, size, image, - location, + location=None, + auth=None, ex_project_id=None, ip_addresses=None, cloud_init=None, diff --git a/libcloud/compute/drivers/gandi.py b/libcloud/compute/drivers/gandi.py index 594b5e204..8b97d5c22 100644 --- a/libcloud/compute/drivers/gandi.py +++ b/libcloud/compute/drivers/gandi.py @@ -244,6 +244,7 @@ class GandiNodeDriver(BaseGandiDriver, NodeDriver): size, image, location=None, + auth=None, login=None, password=None, inet_family=4, diff --git a/libcloud/compute/drivers/gce.py b/libcloud/compute/drivers/gce.py index bdb46dbdc..f15ee2aa8 100644 --- a/libcloud/compute/drivers/gce.py +++ b/libcloud/compute/drivers/gce.py @@ -4441,6 +4441,7 @@ class GCENodeDriver(NodeDriver): size, image, location=None, + auth=None, ex_network="default", ex_subnetwork=None, ex_tags=None, diff --git a/libcloud/compute/drivers/gig_g8.py b/libcloud/compute/drivers/gig_g8.py index fa85b62eb..1c5937a0f 100644 --- a/libcloud/compute/drivers/gig_g8.py +++ b/libcloud/compute/drivers/gig_g8.py @@ -168,11 +168,12 @@ class G8NodeDriver(NodeDriver): def create_node( self, name, + size, image, - ex_network, - ex_description, - size=None, + location=None, auth=None, + ex_network=None, + ex_description=None, ex_create_attr=None, ex_expose_ssh=False, ): diff --git a/libcloud/compute/drivers/gridscale.py b/libcloud/compute/drivers/gridscale.py index 64d5f93e0..69331b4b5 100644 --- a/libcloud/compute/drivers/gridscale.py +++ b/libcloud/compute/drivers/gridscale.py @@ -208,7 +208,9 @@ class GridscaleNodeDriver(GridscaleBaseDriver, NodeDriver): templates.append(template) return sorted(templates, key=lambda sort: sort.name) - def create_node(self, name, size, image, location, ex_ssh_key_ids=None, **kwargs): + def create_node( + self, name, size, image, location=None, auth=None, ex_ssh_key_ids=None, **kwargs + ): """ Create a simple node with a name, cores, memory at the designated location. diff --git a/libcloud/compute/drivers/kamatera.py b/libcloud/compute/drivers/kamatera.py index 6013ef893..051224afd 100644 --- a/libcloud/compute/drivers/kamatera.py +++ b/libcloud/compute/drivers/kamatera.py @@ -133,7 +133,7 @@ class KamateraNodeDriver(NodeDriver): name, size, image, - location, + location=None, auth=None, ex_networks=None, ex_dailybackup=False, diff --git a/libcloud/compute/drivers/ktucloud.py b/libcloud/compute/drivers/ktucloud.py index 3ec56867e..2c5dca14f 100644 --- a/libcloud/compute/drivers/ktucloud.py +++ b/libcloud/compute/drivers/ktucloud.py @@ -60,7 +60,9 @@ class KTUCloudNodeDriver(CloudStackNodeDriver): sizes.append(NodeSize(diskofferingid, sz["diskofferingdesc"], 0, 0, 0, 0, self)) return sizes - def create_node(self, name, size, image, location=None, ex_usageplantype="hourly"): + def create_node( + self, name, size, image, location=None, auth=None, ex_usageplantype="hourly" + ): params = { "displayname": name, "serviceofferingid": image.id, diff --git a/libcloud/compute/drivers/kubevirt.py b/libcloud/compute/drivers/kubevirt.py index b011c3a44..b6eceaddb 100644 --- a/libcloud/compute/drivers/kubevirt.py +++ b/libcloud/compute/drivers/kubevirt.py @@ -815,8 +815,8 @@ class KubeVirtNodeDriver(KubernetesDriverMixin, NodeDriver): def create_node( self, name, # type: str - size=None, # type: Optional[NodeSize] - image=None, # type: Optional[Union[NodeImage, str]] + size, # type: NodeSize + image, # type: Union[NodeImage, str] location=None, # type: Optional[NodeLocation] auth=None, # type: Optional[Union[NodeAuthSSHKey, NodeAuthPassword]] ex_cpu=None, # type: Optional[Union[int, str]] diff --git a/libcloud/compute/drivers/linode.py b/libcloud/compute/drivers/linode.py index b8da22ea4..cc6d988b2 100644 --- a/libcloud/compute/drivers/linode.py +++ b/libcloud/compute/drivers/linode.py @@ -254,7 +254,6 @@ class LinodeNodeDriverV4(LinodeNodeDriver): def create_node( self, - location, # Previously, the following 3 parameters did not match the rest of the libcloud # codebase drivers. They should be in the same order as other compute drivers. # Previously, it looked like this: @@ -270,6 +269,8 @@ class LinodeNodeDriverV4(LinodeNodeDriver): name, # Can be None size, # Can be None image, # Can be None + location=None, + auth=None, root_pass=None, ex_authorized_keys=None, ex_authorized_users=None, diff --git a/libcloud/compute/drivers/maxihost.py b/libcloud/compute/drivers/maxihost.py index c05d2efce..7107c8146 100644 --- a/libcloud/compute/drivers/maxihost.py +++ b/libcloud/compute/drivers/maxihost.py @@ -35,7 +35,9 @@ class MaxihostNodeDriver(NodeDriver): name = "Maxihost" website = "https://www.maxihost.com/" - def create_node(self, name, size, image, location, ex_ssh_key_ids=None): + def create_node( + self, name, size, image, location=None, auth=None, ex_ssh_key_ids=None + ): """ Create a node. diff --git a/libcloud/compute/drivers/nttcis.py b/libcloud/compute/drivers/nttcis.py index 468cfd160..554f9b31e 100644 --- a/libcloud/compute/drivers/nttcis.py +++ b/libcloud/compute/drivers/nttcis.py @@ -282,8 +282,10 @@ class NttCisNodeDriver(NodeDriver): def create_node( self, name, + size, image, - auth, + location=None, + auth=None, ex_network_domain=None, ex_primary_nic_private_ipv4=None, ex_primary_nic_vlan=None, diff --git a/libcloud/compute/drivers/onapp.py b/libcloud/compute/drivers/onapp.py index 307d71d1f..902b80075 100644 --- a/libcloud/compute/drivers/onapp.py +++ b/libcloud/compute/drivers/onapp.py @@ -142,13 +142,17 @@ class OnAppNodeDriver(NodeDriver): def create_node( self, name, - ex_memory, - ex_cpus, - ex_cpu_shares, - ex_hostname, - ex_template_id, - ex_primary_disk_size, - ex_swap_disk_size, + size, + image, + location=None, + auth=None, + ex_memory=None, + ex_cpus=None, + ex_cpu_shares=None, + ex_hostname=None, + ex_template_id=None, + ex_primary_disk_size=None, + ex_swap_disk_size=None, ex_required_virtual_machine_build=1, ex_required_ip_address_assignment=1, **kwargs, diff --git a/libcloud/compute/drivers/opennebula.py b/libcloud/compute/drivers/opennebula.py index b67c9fa98..578a96977 100644 --- a/libcloud/compute/drivers/opennebula.py +++ b/libcloud/compute/drivers/opennebula.py @@ -339,7 +339,7 @@ class OpenNebulaNodeDriver(NodeDriver): return super().__new__(cls) - def create_node(self, name, size, image, networks=None): + def create_node(self, name, size, image, location=None, auth=None, networks=None): """ Create a new OpenNebula node. @@ -704,7 +704,9 @@ class OpenNebula_2_0_NodeDriver(OpenNebulaNodeDriver): name = "OpenNebula (v2.0 - v2.2)" - def create_node(self, name, size, image, networks=None, context=None): + def create_node( + self, name, size, image, location=None, auth=None, networks=None, context=None + ): """ Create a new OpenNebula node. diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index e9d5104d9..b98e33fac 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -663,6 +663,8 @@ class OpenStack_1_0_NodeDriver(OpenStackNodeDriver): name, size, image, + location=None, + auth=None, ex_metadata=None, ex_files=None, ex_shared_ip_group=None, @@ -1425,7 +1427,9 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver): self, name, size, - image=None, + image, + location=None, + auth=None, ex_keyname=None, ex_userdata=None, ex_config_drive=None, diff --git a/libcloud/compute/drivers/outscale.py b/libcloud/compute/drivers/outscale.py index 1fd5a5745..8ec74e746 100644 --- a/libcloud/compute/drivers/outscale.py +++ b/libcloud/compute/drivers/outscale.py @@ -314,8 +314,11 @@ class OutscaleNodeDriver(NodeDriver): def create_node( self, + name: str, + size, image: NodeImage, - name: str = None, + location=None, + auth=None, ex_dry_run: bool = False, ex_block_device_mapping: dict = None, ex_boot_on_creation: bool = True, diff --git a/libcloud/compute/drivers/ovh.py b/libcloud/compute/drivers/ovh.py index edeff5812..16a9f7c5e 100644 --- a/libcloud/compute/drivers/ovh.py +++ b/libcloud/compute/drivers/ovh.py @@ -120,7 +120,7 @@ class OvhNodeDriver(NodeDriver): return self._to_node(response.object) - def create_node(self, name, image, size, location, ex_keyname=None): + def create_node(self, name, size, image, location=None, auth=None, ex_keyname=None): """ Create a new node diff --git a/libcloud/compute/drivers/rimuhosting.py b/libcloud/compute/drivers/rimuhosting.py index 60bce9f6f..7808d63cf 100644 --- a/libcloud/compute/drivers/rimuhosting.py +++ b/libcloud/compute/drivers/rimuhosting.py @@ -227,6 +227,7 @@ class RimuHostingNodeDriver(NodeDriver): name, size, image, + location=None, auth=None, ex_billing_oid=None, ex_host_server_oid=None, diff --git a/libcloud/compute/drivers/scaleway.py b/libcloud/compute/drivers/scaleway.py index 753c20e14..71f9405c1 100644 --- a/libcloud/compute/drivers/scaleway.py +++ b/libcloud/compute/drivers/scaleway.py @@ -372,7 +372,17 @@ class ScalewayNodeDriver(NodeDriver): created_at=parse_date(server["creation_date"]), ) - def create_node(self, name, size, image, ex_volumes=None, ex_tags=None, region=None): + def create_node( + self, + name, + size, + image, + location=None, + auth=None, + ex_volumes=None, + ex_tags=None, + region=None, + ): """ Create a new node. diff --git a/libcloud/compute/drivers/upcloud.py b/libcloud/compute/drivers/upcloud.py index 86ba8665d..83e68c72f 100644 --- a/libcloud/compute/drivers/upcloud.py +++ b/libcloud/compute/drivers/upcloud.py @@ -191,7 +191,7 @@ class UpcloudDriver(NodeDriver): name, size, image, - location, + location=None, auth=None, ex_hostname="localhost", ex_username="root", diff --git a/libcloud/compute/drivers/vcl.py b/libcloud/compute/drivers/vcl.py index 299cf5ffd..533733f75 100644 --- a/libcloud/compute/drivers/vcl.py +++ b/libcloud/compute/drivers/vcl.py @@ -99,7 +99,16 @@ class VCLNodeDriver(NodeDriver): raise LibcloudError(res["errormsg"], driver=self) return res - def create_node(self, image, start=None, length="60"): + def create_node( + self, + name, + size, + image, + location=None, + auth=None, + start=None, + length="60", + ): """Create a new VCL reservation size and name ignored, image is the id from list_image diff --git a/libcloud/compute/drivers/vcloud.py b/libcloud/compute/drivers/vcloud.py index fc3b21cd2..8a86f5e4b 100644 --- a/libcloud/compute/drivers/vcloud.py +++ b/libcloud/compute/drivers/vcloud.py @@ -871,6 +871,7 @@ class VCloudNodeDriver(NodeDriver): name, size, image, + location=None, auth=None, ex_network=None, ex_vdc=None, @@ -1605,7 +1606,9 @@ class VCloud_1_5_NodeDriver(VCloudNodeDriver): return results - def create_node(self, **kwargs): + def create_node( + self, name, size, image, location=None, auth=None, **kwargs + ): """ Creates and returns node. If the source image is: - vApp template - a new vApp is instantiated from template @@ -1691,8 +1694,6 @@ class VCloud_1_5_NodeDriver(VCloudNodeDriver): :keyword ex_description: Set a description for the vApp. :type ex_description: ``str`` """ - name = kwargs["name"] - image = kwargs["image"] ex_vm_names = kwargs.get("ex_vm_names") ex_vm_cpu = kwargs.get("ex_vm_cpu") ex_vm_memory = kwargs.get("ex_vm_memory") diff --git a/libcloud/compute/drivers/vpsnet.py b/libcloud/compute/drivers/vpsnet.py index f92dfbecf..1531ecae1 100644 --- a/libcloud/compute/drivers/vpsnet.py +++ b/libcloud/compute/drivers/vpsnet.py @@ -131,7 +131,16 @@ class VPSNetNodeDriver(NodeDriver): single_node_price = self._get_size_price(size_id="1") return num * single_node_price - def create_node(self, name, image, size, ex_backups_enabled=False, ex_fqdn=None): + def create_node( + self, + name, + size, + image, + location=None, + auth=None, + ex_backups_enabled=False, + ex_fqdn=None, + ): """Create a new VPS.net node @inherits: :class:`NodeDriver.create_node` diff --git a/libcloud/compute/drivers/vsphere.py b/libcloud/compute/drivers/vsphere.py index 185cc6db7..884852d39 100644 --- a/libcloud/compute/drivers/vsphere.py +++ b/libcloud/compute/drivers/vsphere.py @@ -978,9 +978,10 @@ class VSphereNodeDriver(NodeDriver): def create_node( self, name, - image, size, + image, location=None, + auth=None, ex_cluster=None, ex_network=None, ex_datacenter=None, @@ -1972,9 +1973,10 @@ class VSphere_REST_NodeDriver(NodeDriver): def create_node( self, name, + size, image, - size=None, location=None, + auth=None, ex_datastore=None, ex_disks=None, ex_folder=None, diff --git a/libcloud/compute/drivers/vultr.py b/libcloud/compute/drivers/vultr.py index abdf8b99e..6a852ad0f 100644 --- a/libcloud/compute/drivers/vultr.py +++ b/libcloud/compute/drivers/vultr.py @@ -851,7 +851,16 @@ class VultrNodeDriverV1(VultrNodeDriver): return self._list_resources("/v1/os/list", self._to_image) # pylint: disable=too-many-locals - def create_node(self, name, size, image, location, ex_ssh_key_ids=None, ex_create_attr=None): + def create_node( + self, + name, + size, + image, + location=None, + auth=None, + ex_ssh_key_ids=None, + ex_create_attr=None, + ): """ Create a node @@ -1133,8 +1142,9 @@ class VultrNodeDriverV2(VultrNodeDriver): self, name: str, size: NodeSize, - location: NodeLocation, - image: Optional[NodeImage] = None, + image: NodeImage, + location: Optional[NodeLocation] = None, + auth=None, ex_ssh_key_ids: Optional[List[str]] = None, ex_private_network_ids: Optional[List[str]] = None, ex_snapshot: Union[VultrNodeSnapshot, str, None] = None, diff --git a/libcloud/test/compute/test_azure_arm.py b/libcloud/test/compute/test_azure_arm.py index cd0a255e5..143ef1a2c 100644 --- a/libcloud/test/compute/test_azure_arm.py +++ b/libcloud/test/compute/test_azure_arm.py @@ -111,8 +111,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account="000000", ex_user_name="any_user", @@ -162,8 +162,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account=None, ex_user_name="any_user", @@ -177,8 +177,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account=None, ex_user_name="any_user", @@ -198,8 +198,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account="000000", ex_user_name="any_user", @@ -247,8 +247,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account="000000", ex_user_name="any_user", @@ -268,8 +268,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account="000000", ex_user_name="any_user", @@ -293,8 +293,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account="000000", ex_user_name="any_user", @@ -340,8 +340,8 @@ class AzureNodeDriverTests(LibcloudTestCase): "test-node-1", size, image, - auth, location=location, + auth=auth, ex_resource_group="000000", ex_storage_account="000000", ex_user_name="any_user", diff --git a/libcloud/test/compute/test_gig_g8.py b/libcloud/test/compute/test_gig_g8.py index 386e4d767..bd77c6737 100644 --- a/libcloud/test/compute/test_gig_g8.py +++ b/libcloud/test/compute/test_gig_g8.py @@ -85,7 +85,9 @@ class G8Tests(unittest.TestCase): image = self.driver.list_images()[0] size = self.driver.list_sizes()[0] network = self.driver.ex_list_networks()[0] - node = self.driver.create_node("my test", image, network, "my description", size) + node = self.driver.create_node( + "my test", size, image, ex_network=network, ex_description="my description" + ) self.assertIsInstance(node, Node) def test_stop_node(self): diff --git a/libcloud/test/compute/test_linode_v4.py b/libcloud/test/compute/test_linode_v4.py index 2bae27938..a166e95cf 100644 --- a/libcloud/test/compute/test_linode_v4.py +++ b/libcloud/test/compute/test_linode_v4.py @@ -103,10 +103,10 @@ class LinodeTestsV4(unittest.TestCase, TestCaseMixin): image = self.driver.list_images()[0] location = self.driver.list_locations()[0] node = self.driver.create_node( - location, "node-name", size=size, image=image, + location=location, root_pass="test123456", ) self.assertTrue(isinstance(node, Node)) @@ -119,10 +119,10 @@ class LinodeTestsV4(unittest.TestCase, TestCaseMixin): LinodeMockHttpV4.type = "EX_USERDATA" node = self.driver.create_node( - location, "node-name", size=size, image=image, + location=location, root_pass="test123456", ex_userdata=EX_USERDATA, ) @@ -155,10 +155,10 @@ class LinodeTestsV4(unittest.TestCase, TestCaseMixin): location = self.driver.list_locations()[0] node = self.driver.create_node( - location, "TestNode", size, image=image, + location=location, root_pass="test123456", ex_backups_enabled=True, ex_tags=["testing123"], @@ -176,13 +176,15 @@ class LinodeTestsV4(unittest.TestCase, TestCaseMixin): location = self.driver.list_locations()[0] with self.assertRaises(LinodeExceptionV4): - self.driver.create_node(location, "TestNode", size, image=image) + self.driver.create_node("TestNode", size, image=image, location=location) def test_create_node_no_image(self): size = self.driver.list_sizes()[0] location = self.driver.list_locations()[0] LinodeMockHttpV4.type = "NO_IMAGE" - node = self.driver.create_node(location, "TestNode", size, None, ex_tags=["testing123"]) + node = self.driver.create_node( + "TestNode", size, None, location=location, ex_tags=["testing123"] + ) self.assertIsNone(node.image) self.assertEqual(node.name, "TestNode")
