From 23b4f14a41a4822cea7b598d529379529300d018 Mon Sep 17 00:00:00 2001 From: Ryan Parrish Date: Sat, 28 Jun 2014 07:51:14 -0400 Subject: [PATCH 1/4] [LIBCLOUD-356] Add config_drive to support user_data --- libcloud/compute/drivers/openstack.py | 1 + 1 file changed, 1 insertion(+) diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index c573febcbe..0d5ad7bf49 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -1341,6 +1341,7 @@ def _create_args_to_params(self, node, **kwargs): if 'ex_userdata' in kwargs: server_params['user_data'] = base64.b64encode( b(kwargs['ex_userdata'])).decode('ascii') + server_params['config_drive'] = True if 'ex_disk_config' in kwargs: server_params['OS-DCF:diskConfig'] = kwargs['ex_disk_config'] From d84dafce66d66216bcaa4dfde160e7363bf7b326 Mon Sep 17 00:00:00 2001 From: Ryan Parrish Date: Mon, 30 Jun 2014 12:09:19 -0400 Subject: [PATCH 2/4] [LIBCLOUD-356] Making config_drive a kwarg --- libcloud/compute/drivers/openstack.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index 0d5ad7bf49..1de5d5966a 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -1238,6 +1238,11 @@ def create_node(self, **kwargs): see https://help.ubuntu.com/community/CloudInit :type ex_userdata: ``str`` + + :keyword ex_config_drive: Enable config drive + see + http://docs.openstack.org/grizzly/openstack-compute/admin/content/config-drive.html + :type ex_config_drive: ``bool`` :keyword ex_security_groups: List of security groups to assign to the node @@ -1341,6 +1346,8 @@ def _create_args_to_params(self, node, **kwargs): if 'ex_userdata' in kwargs: server_params['user_data'] = base64.b64encode( b(kwargs['ex_userdata'])).decode('ascii') + + if 'ex_config_drive' in kwargs: server_params['config_drive'] = True if 'ex_disk_config' in kwargs: From ccbd5aae23487de46897aae68d64f92b26a8225f Mon Sep 17 00:00:00 2001 From: Ryan Parrish Date: Mon, 14 Jul 2014 19:33:42 -0400 Subject: [PATCH 3/4] Be able to handle False arg --- libcloud/compute/drivers/openstack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index 1de5d5966a..b497cde9bc 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -1348,7 +1348,7 @@ def _create_args_to_params(self, node, **kwargs): b(kwargs['ex_userdata'])).decode('ascii') if 'ex_config_drive' in kwargs: - server_params['config_drive'] = True + server_params['config_drive'] = kwargs['ex_config_drive'] if 'ex_disk_config' in kwargs: server_params['OS-DCF:diskConfig'] = kwargs['ex_disk_config'] From d6cbc8ab5927fda64d3747f6fa1f57374f18ea3c Mon Sep 17 00:00:00 2001 From: Ryan Parrish Date: Fri, 1 Aug 2014 22:38:56 -0400 Subject: [PATCH 4/4] Fix whitespace that was failing in TravisCI --- libcloud/compute/drivers/openstack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py index b497cde9bc..d5e306ebb0 100644 --- a/libcloud/compute/drivers/openstack.py +++ b/libcloud/compute/drivers/openstack.py @@ -1238,7 +1238,7 @@ def create_node(self, **kwargs): see https://help.ubuntu.com/community/CloudInit :type ex_userdata: ``str`` - + :keyword ex_config_drive: Enable config drive see http://docs.openstack.org/grizzly/openstack-compute/admin/content/config-drive.html