From 259b291707971844b83bf360c853d0bc17b0e2cf Mon Sep 17 00:00:00 2001 From: Pratik Mallya Date: Thu, 3 Dec 2015 16:58:33 -0600 Subject: [PATCH] Add config_drive and user_data to replace_launch_config --- pyrax/autoscale.py | 5 +++-- tests/unit/test_autoscale.py | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/pyrax/autoscale.py b/pyrax/autoscale.py index 6528454a..608724a0 100644 --- a/pyrax/autoscale.py +++ b/pyrax/autoscale.py @@ -1077,7 +1077,7 @@ def get_launch_config(self, scaling_group): def replace_launch_config(self, scaling_group, launch_config_type, server_name, image, flavor, disk_config=None, metadata=None, personality=None, networks=None, load_balancers=None, - key_name=None): + key_name=None, config_drive=False, user_data=None)): """ Replace an existing launch configuration. All of the attributes must be specified. If you wish to delete any of the optional attributes, pass @@ -1087,7 +1087,8 @@ def replace_launch_config(self, scaling_group, launch_config_type, launch_config_type, server_name, image, flavor, disk_config=disk_config, metadata=metadata, personality=personality, networks=networks, - load_balancers=load_balancers, key_name=key_name) + load_balancers=load_balancers, key_name=key_name, + config_drive=config_drive, user_data=user_data) def update_launch_config(self, scaling_group, server_name=None, image=None, diff --git a/tests/unit/test_autoscale.py b/tests/unit/test_autoscale.py index e3badd25..2ebf5672 100644 --- a/tests/unit/test_autoscale.py +++ b/tests/unit/test_autoscale.py @@ -671,7 +671,8 @@ def test_mgr_replace_launch_config(self): metadata = utils.random_unicode() personality = utils.random_unicode() networks = utils.random_unicode() - + userdata = utils.random_unicode() + config_drive = utils.random_unicode() sg.launchConfiguration = { "type": typ, "args": { @@ -683,6 +684,8 @@ def test_mgr_replace_launch_config(self): "personality": personality, "networks": networks, "metadata": metadata, + "user_data": userdata, + "config_drive": config_drive, }, "loadBalancers": lbs, }, @@ -699,6 +702,8 @@ def test_mgr_replace_launch_config(self): "name": new_name, "imageRef": new_img, "flavorRef": new_flv, + "user_data": userdata, + "config_drive": config_drive, }, "loadBalancers": [] } @@ -708,7 +713,8 @@ def test_mgr_replace_launch_config(self): uri = "/%s/%s/launch" % (mgr.uri_base, sg.id) mgr.replace_launch_config(sg.id, launch_config_type=new_typ, - server_name=new_name, flavor=new_flv, image=new_img) + server_name=new_name, flavor=new_flv, image=new_img, + user_data=userdata, config_drive=config_drive) mgr.api.method_put.assert_called_once_with(uri, body=expected) def test_mgr_update_launch_metadata(self): @@ -1532,15 +1538,19 @@ def test_clt_replace_launch_config(self): networks = utils.random_unicode() load_balancers = utils.random_unicode() key_name = utils.random_unicode() + userdata = utils.random_unicode() + config_drive = utils.random_unicode() clt.replace_launch_config(sg, launch_config_type, server_name, image, flavor, disk_config=disk_config, metadata=metadata, personality=personality, networks=networks, - load_balancers=load_balancers, key_name=key_name) + load_balancers=load_balancers, key_name=key_name, + user_data=userdata, config_drive=config_drive) mgr.replace_launch_config.assert_called_once_with(sg, launch_config_type, server_name, image, flavor, disk_config=disk_config, metadata=metadata, personality=personality, networks=networks, - load_balancers=load_balancers, key_name=key_name) + load_balancers=load_balancers, key_name=key_name, + user_data=userdata, config_drive=config_drive) def test_clt_update_launch_config(self): clt = fakes.FakeAutoScaleClient()