From 188d3604280470f58081f5889a2dd942a21005e8 Mon Sep 17 00:00:00 2001 From: Abhijit Gadgil Date: Sun, 11 Sep 2016 22:22:05 +0530 Subject: [PATCH 1/5] #25, #26, #27 - Updated datamodel.xml - Now taking Quali Network Net ID - removed unused attributes --- .../drivermetadata.xml | 2 +- .../openstack_shell/src/drivermetadata.xml | 2 +- .../Configuration/shellconfig.xml | 9 +-- .../DataModel/datamodel.xml | 76 +++---------------- .../command/operations/deploy_operation.py | 4 +- .../services/nova/nova_instance_service.py | 9 ++- ...y_os_nova_image_instance_resource_model.py | 2 - .../cp/openstack/models/model_parser.py | 9 +-- .../models/openstack_resource_model.py | 5 +- .../cp/openstack/openstack_shell.py | 1 + 10 files changed, 27 insertions(+), 92 deletions(-) diff --git a/drivers/deployment_drivers/openstack_nova_image_instance/drivermetadata.xml b/drivers/deployment_drivers/openstack_nova_image_instance/drivermetadata.xml index 8293fd1..d2dd8af 100644 --- a/drivers/deployment_drivers/openstack_nova_image_instance/drivermetadata.xml +++ b/drivers/deployment_drivers/openstack_nova_image_instance/drivermetadata.xml @@ -1,4 +1,4 @@ - + diff --git a/drivers/openstack_shell/src/drivermetadata.xml b/drivers/openstack_shell/src/drivermetadata.xml index bb10e8c..68db4b8 100644 --- a/drivers/openstack_shell/src/drivermetadata.xml +++ b/drivers/openstack_shell/src/drivermetadata.xml @@ -1,4 +1,4 @@ - + diff --git a/drivers/openstack_shellPackage/Configuration/shellconfig.xml b/drivers/openstack_shellPackage/Configuration/shellconfig.xml index 2039f36..c72d317 100644 --- a/drivers/openstack_shellPackage/Configuration/shellconfig.xml +++ b/drivers/openstack_shellPackage/Configuration/shellconfig.xml @@ -8,15 +8,14 @@ Template for creating OpenStack cloud Provider Resource Checks that the inputs are valid for the target OpenStack - + - - + + - - + diff --git a/drivers/openstack_shellPackage/DataModel/datamodel.xml b/drivers/openstack_shellPackage/DataModel/datamodel.xml index c08075f..d3664d7 100644 --- a/drivers/openstack_shellPackage/DataModel/datamodel.xml +++ b/drivers/openstack_shellPackage/DataModel/datamodel.xml @@ -5,7 +5,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -46,31 +46,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -101,14 +79,14 @@ - + - + @@ -121,20 +99,6 @@ - - - - - - - - - - - - - - @@ -175,25 +139,13 @@ - - - - - - - - - - - - - + - + - + @@ -268,7 +220,7 @@ - + @@ -277,12 +229,6 @@ - - - - - - @@ -294,8 +240,6 @@ - - diff --git a/package/cloudshell/cp/openstack/command/operations/deploy_operation.py b/package/cloudshell/cp/openstack/command/operations/deploy_operation.py index bffebe3..dd34c1f 100644 --- a/package/cloudshell/cp/openstack/command/operations/deploy_operation.py +++ b/package/cloudshell/cp/openstack/command/operations/deploy_operation.py @@ -14,13 +14,14 @@ def __init__(self): self.instance_waiter = InstanceWaiter() self.instance_service = NovaInstanceService(self.instance_waiter) - def deploy(self, os_session, name, reservation, deploy_req_model, logger): + def deploy(self, os_session, name, reservation, cp_resource_model, deploy_req_model, logger): """ Performs actual deploy operation. :param keystoneauth1.session.Session os_session: :param str name: Name of the instance to be deployed :param ReservationModel reservation: :param DeployDataHolder deploy_req_model: + :param XXX cp_resource_model: :param LoggingSessionContext logger: :rtype DeployResultModel: """ @@ -29,6 +30,7 @@ def deploy(self, os_session, name, reservation, deploy_req_model, logger): instance = self.instance_service.create_instance(openstack_session=os_session, name=name, reservation=reservation, + cp_resource_model=cp_resource_model, deploy_req_model=deploy_req_model, logger=logger) diff --git a/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py b/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py index 8a336e6..8ed264d 100644 --- a/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py +++ b/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py @@ -16,11 +16,12 @@ def __init__(self, instance_waiter): # can be called without a proper client object def create_instance(self, openstack_session, name, reservation, - deploy_req_model, logger): + cp_resource_model, deploy_req_model, logger): """ :param keystoneauth1.session.Session openstack_session: Keystone Session :param str name: Name of Instance :param ReservationModel reservation: Reservation Model + :param OpenStackResourceModel cp_resource_model: :param DeployOSNovaImageInstanceResourceModel deploy_req_model: Details of the Image to be deployed :param LoggingSessionContext logger: :rtype novaclient.Client.servers.Server: @@ -37,9 +38,9 @@ def create_instance(self, openstack_session, name, reservation, # FIXME: Add other arguments as kwargs img_obj = client.images.find(name=deploy_req_model.img_name) flavor_obj = client.flavors.find(name=deploy_req_model.instance_flavor) - # Quali Network - FIXME: Remove hard coded (get it from network service) - qnet_obj = client.networks.find(label='quali-network') - qnet_dict = {'net-id':qnet_obj.id} + + # Quali Network - Quali Network UUID is a OpenStack Resource Model attribute + qnet_dict = {'net-id': cp_resource_model.qs_mgmt_os_net_uuid} uniq = CloudshellDriverHelper.get_uuid() #str(uuid.uuid4()).split("-")[0] name = name + "-" + uniq diff --git a/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py b/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py index 2f4f114..6c1d647 100644 --- a/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py +++ b/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py @@ -8,8 +8,6 @@ def __init__(self): self.img_name = '' self.instance_flavor = '' self.add_floating_ip = False - self.auto_power_off = False self.autoload = False - self.auto_delete = False self.outbound_ports = '' self.inbound_ports = '' diff --git a/package/cloudshell/cp/openstack/models/model_parser.py b/package/cloudshell/cp/openstack/models/model_parser.py index fe9947a..9c46b9e 100644 --- a/package/cloudshell/cp/openstack/models/model_parser.py +++ b/package/cloudshell/cp/openstack/models/model_parser.py @@ -23,10 +23,7 @@ def get_resource_model_from_context(resource): os_res_model.os_region = attrs['OpenStack Region'] os_res_model.os_user_name = attrs['OpenStack User Name'] os_res_model.os_user_password = attrs['OpenStack User Password'] - os_res_model.os_mgmt_vlan_id = attrs['OpenStack Management VLAN ID'] - os_res_model.qs_mgmt_vlan_id = attrs['Quali Management VLAN ID'] - os_res_model.os_mgmt_subnet_cidr = attrs['OpenStack Management Subnet CIDR'] - os_res_model.qs_mgmt_subnet_cidr = attrs['Quali Management Subnet CIDR'] + os_res_model.qs_mgmt_os_net_uuid = attrs['Quali Management Network UUID'] os_res_model.os_floating_ip_pool = attrs['Floating IP Pool'] return os_res_model @@ -40,8 +37,6 @@ def deploy_res_model_appname_from_deploy_req(deploy_req): deploy_res_model.img_name = data_holder.image.img_name deploy_res_model.instance_flavor = data_holder.image.instance_flavor deploy_res_model.add_floating_ip = data_holder.image.add_floating_ip - deploy_res_model.auto_power_off = data_holder.image.auto_power_off - deploy_res_model.auto_delete = data_holder.image.auto_delete deploy_res_model.autoload = data_holder.image.autoload deploy_res_model.inbound_ports = data_holder.image.inbound_ports deploy_res_model.outbound_ports = data_holder.image.outbound_ports @@ -59,8 +54,6 @@ def get_deploy_resource_model_from_context_resource(resource): deploy_resource_model.img_name = attrs['Image Name'] deploy_resource_model.instance_flavor = attrs['Instance Flavor'] deploy_resource_model.add_floating_ip = OpenStackShellModelParser.parse_boolean(attrs['Add Floating IP']) - deploy_resource_model.auto_power_off = OpenStackShellModelParser.parse_boolean(attrs['Auto Power Off']) - deploy_resource_model.auto_delete = OpenStackShellModelParser.parse_boolean(attrs['Auto Delete']) deploy_resource_model.autoload = OpenStackShellModelParser.parse_boolean(attrs['Autoload']) deploy_resource_model.inbound_ports = attrs['Inbound Ports'] deploy_resource_model.outbound_ports = attrs['Outbound Ports'] diff --git a/package/cloudshell/cp/openstack/models/openstack_resource_model.py b/package/cloudshell/cp/openstack/models/openstack_resource_model.py index a5d26df..bd54187 100644 --- a/package/cloudshell/cp/openstack/models/openstack_resource_model.py +++ b/package/cloudshell/cp/openstack/models/openstack_resource_model.py @@ -9,10 +9,7 @@ def __init__(self): self.os_region = '' self.os_user_name = '' self.os_user_password = '' - self.os_mgmt_vlan_id = '' - self.qs_mgmt_vlan_id = '' - self.os_mgmt_subnet_cidr = '' - self.qs_mgmt_subnet_cidr = '' + self.qs_mgmt_os_net_uuid = '' self.os_floating_ip_pool = '' def __str__(self): diff --git a/package/cloudshell/cp/openstack/openstack_shell.py b/package/cloudshell/cp/openstack/openstack_shell.py index 6a6eb86..5d52b39 100644 --- a/package/cloudshell/cp/openstack/openstack_shell.py +++ b/package/cloudshell/cp/openstack/openstack_shell.py @@ -142,6 +142,7 @@ def deploy_instance_from_image(self, command_context, deploy_request): deployed_data = self.deploy_operation.deploy(os_session=os_session, name=app_name, reservation=reservation_model, + cp_resource_model=resource_model, deploy_req_model=deploy_req_model, logger=logger) From e9fa97eb3f46b8e2d9d9309dc0836bfecd626c30 Mon Sep 17 00:00:00 2001 From: Abhijit Gadgil Date: Sun, 11 Sep 2016 23:31:42 +0530 Subject: [PATCH 2/5] #25, #26, #27 - Unit tests are now passing. --- .../test_command_operations/test_deploy_operation.py | 2 ++ package/tests/test_common_models/test_model_parser.py | 10 ++-------- .../test_nova_instance_service.py | 10 ++++++---- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/package/tests/test_command_operations/test_deploy_operation.py b/package/tests/test_command_operations/test_deploy_operation.py index eace4cd..b7e01ca 100644 --- a/package/tests/test_command_operations/test_deploy_operation.py +++ b/package/tests/test_command_operations/test_deploy_operation.py @@ -13,6 +13,7 @@ def setUp(self): self.openstack_session = Mock() self.reservation = Mock() self.mock_logger = Mock() + self.cp_resource_model = Mock() def test_deploy_instance_success(self): @@ -39,6 +40,7 @@ def test_deploy_instance_success(self): test_result = self.deploy_operation.deploy(os_session=self.openstack_session, name=test_name, reservation=self.reservation, + cp_resource_model=self.cp_resource_model, deploy_req_model=test_deploy_req_model, logger=self.mock_logger) diff --git a/package/tests/test_common_models/test_model_parser.py b/package/tests/test_common_models/test_model_parser.py index 004f73d..e2add4b 100644 --- a/package/tests/test_common_models/test_model_parser.py +++ b/package/tests/test_common_models/test_model_parser.py @@ -18,10 +18,7 @@ def test_get_resource_model_from_context(self): test_resource.attributes['OpenStack Region'] = 'test_region' test_resource.attributes['OpenStack User Name'] = 'test_user' test_resource.attributes['OpenStack User Password'] = 'test_pass' - test_resource.attributes['OpenStack Management VLAN ID'] = 123 - test_resource.attributes['Quali Management VLAN ID'] = 234 - test_resource.attributes['OpenStack Management Subnet CIDR'] = '10.0.0.0/8' - test_resource.attributes['Quali Management Subnet CIDR'] = '10.0.0.0/16' + test_resource.attributes['Quali Management Network UUID'] = '1234-56' test_resource.attributes['Floating IP Pool'] = '10.0.0.100-10.0.0.101' result = self.os_shell_model_parser.get_resource_model_from_context(test_resource) @@ -31,8 +28,5 @@ def test_get_resource_model_from_context(self): self.assertEqual(result.os_region, 'test_region') self.assertEqual(result.os_user_name, 'test_user') self.assertEqual(result.os_user_password, 'test_pass') - self.assertEqual(result.os_mgmt_vlan_id, 123) - self.assertEqual(result.qs_mgmt_vlan_id, 234) - self.assertEqual(result.os_mgmt_subnet_cidr, '10.0.0.0/8') - self.assertEqual(result.qs_mgmt_subnet_cidr, '10.0.0.0/16') + self.assertEqual(result.qs_mgmt_os_net_uuid, '1234-56') self.assertEqual(result.os_floating_ip_pool, '10.0.0.100-10.0.0.101') \ No newline at end of file diff --git a/package/tests/test_domain_services/test_domain_services_nova/test_nova_instance_service.py b/package/tests/test_domain_services/test_domain_services_nova/test_nova_instance_service.py index 5ac67f8..13ee5a8 100644 --- a/package/tests/test_domain_services/test_domain_services_nova/test_nova_instance_service.py +++ b/package/tests/test_domain_services/test_domain_services_nova/test_nova_instance_service.py @@ -19,6 +19,7 @@ def test_instance_create_empty_openstack_session(self): result = self.instance_service.create_instance(openstack_session=None, name=test_name, reservation=Mock(), + cp_resource_model=Mock(), deploy_req_model=Mock(), logger=self.mock_logger) self.assertEqual(result, None) @@ -35,17 +36,18 @@ def test_instance_create_success(self): mock_flavor = Mock() mock_client2.images.find = Mock(return_value=mock_image) mock_client2.flavors.find = Mock(return_value=mock_flavor) - mock_netobj = Mock() - mock_netobj.id = '1234' - mock_client2.networks.find = Mock(return_value=mock_netobj) + + mock_cp_resource_model = Mock() + mock_cp_resource_model.qs_mgmt_os_net_uuid = '1234' mock_client2.servers = Mock() mocked_inst = Mock() mock_client2.servers.create = Mock(return_value=mocked_inst) - mock_qnet_dict = {'net-id': mock_netobj.id} + mock_qnet_dict = {'net-id': mock_cp_resource_model.qs_mgmt_os_net_uuid} result = self.instance_service.create_instance(openstack_session=self.openstack_session, name=test_name, reservation=Mock(), + cp_resource_model=mock_cp_resource_model, deploy_req_model=Mock(), logger=self.mock_logger) From f4160187180db307ff2a20c9c2ef011cc1291f42 Mon Sep 17 00:00:00 2001 From: Abhijit Gadgil Date: Thu, 13 Oct 2016 18:04:32 +0530 Subject: [PATCH 3/5] #25, #26, #27, #35 - Quickly ran all unit tests. - Tested deploying instance with 1) Taking Image ID instead of Image Name 2) Taking Quali network ID as a CP Attribute 3) Basic Unit tests passing --- drivers/openstack_shellPackage/DataModel/datamodel.xml | 3 +++ .../openstack/domain/services/nova/nova_instance_service.py | 4 ++-- .../models/deploy_os_nova_image_instance_resource_model.py | 2 +- package/cloudshell/cp/openstack/models/model_parser.py | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/openstack_shellPackage/DataModel/datamodel.xml b/drivers/openstack_shellPackage/DataModel/datamodel.xml index d3664d7..9676c01 100644 --- a/drivers/openstack_shellPackage/DataModel/datamodel.xml +++ b/drivers/openstack_shellPackage/DataModel/datamodel.xml @@ -145,6 +145,9 @@ + + + diff --git a/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py b/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py index 8ed264d..0a26efa 100644 --- a/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py +++ b/package/cloudshell/cp/openstack/domain/services/nova/nova_instance_service.py @@ -33,10 +33,10 @@ def create_instance(self, openstack_session, name, reservation, client = novaclient.Client(self.API_VERSION, session=openstack_session) - logger.info("Creating OpenStack Instance for Image: {0}, Flavor: {1}".format(deploy_req_model.img_name, + logger.info("Creating OpenStack Instance for Image: {0}, Flavor: {1}".format(deploy_req_model.img_uuid, deploy_req_model.instance_flavor)) # FIXME: Add other arguments as kwargs - img_obj = client.images.find(name=deploy_req_model.img_name) + img_obj = client.images.find(id=deploy_req_model.img_uuid) flavor_obj = client.flavors.find(name=deploy_req_model.instance_flavor) # Quali Network - Quali Network UUID is a OpenStack Resource Model attribute diff --git a/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py b/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py index 6c1d647..8333533 100644 --- a/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py +++ b/package/cloudshell/cp/openstack/models/deploy_os_nova_image_instance_resource_model.py @@ -5,7 +5,7 @@ class DeployOSNovaImageInstanceResourceModel(object): def __init__(self): self.cloud_provider = '' self.cp_avail_zone = '' - self.img_name = '' + self.img_uuid = '' self.instance_flavor = '' self.add_floating_ip = False self.autoload = False diff --git a/package/cloudshell/cp/openstack/models/model_parser.py b/package/cloudshell/cp/openstack/models/model_parser.py index 9c46b9e..d986c79 100644 --- a/package/cloudshell/cp/openstack/models/model_parser.py +++ b/package/cloudshell/cp/openstack/models/model_parser.py @@ -34,7 +34,7 @@ def deploy_res_model_appname_from_deploy_req(deploy_req): deploy_res_model = DeployOSNovaImageInstanceResourceModel() deploy_res_model.cloud_provider = data_holder.image.cloud_provider deploy_res_model.cp_avail_zone = data_holder.image.cp_avail_zone - deploy_res_model.img_name = data_holder.image.img_name + deploy_res_model.img_uuid = data_holder.image.img_uuid deploy_res_model.instance_flavor = data_holder.image.instance_flavor deploy_res_model.add_floating_ip = data_holder.image.add_floating_ip deploy_res_model.autoload = data_holder.image.autoload @@ -51,7 +51,7 @@ def get_deploy_resource_model_from_context_resource(resource): deploy_resource_model = DeployOSNovaImageInstanceResourceModel() deploy_resource_model.cloud_provider = attrs['Cloud Provider'] deploy_resource_model.cp_avail_zone = attrs['Availability Zone'] - deploy_resource_model.img_name = attrs['Image Name'] + deploy_resource_model.img_uuid = attrs['Image UUID'] deploy_resource_model.instance_flavor = attrs['Instance Flavor'] deploy_resource_model.add_floating_ip = OpenStackShellModelParser.parse_boolean(attrs['Add Floating IP']) deploy_resource_model.autoload = OpenStackShellModelParser.parse_boolean(attrs['Autoload']) From c9bc0d05c6a6c64595b1bc6cfab0cc48631e46e4 Mon Sep 17 00:00:00 2001 From: Abhijit Gadgil Date: Thu, 13 Oct 2016 18:49:29 +0530 Subject: [PATCH 4/5] Fix for #25, #26, #27, #35 - unit tests --- .../cp/openstack/models/model_parser.py | 2 +- .../test_models/test_model_parser.py | 22 +++++-------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/package/cloudshell/cp/openstack/models/model_parser.py b/package/cloudshell/cp/openstack/models/model_parser.py index d986c79..9957750 100644 --- a/package/cloudshell/cp/openstack/models/model_parser.py +++ b/package/cloudshell/cp/openstack/models/model_parser.py @@ -67,4 +67,4 @@ def parse_boolean(value): @staticmethod def deployed_app_resource_from_context_remote(context_remote): deployed_app_json = jsonpickle.decode(context_remote.app_context.deployed_app_json) - return DeployDataHolder(deployed_app_json) \ No newline at end of file + return DeployDataHolder(deployed_app_json) diff --git a/package/tests/test_cp/test_openstack/test_models/test_model_parser.py b/package/tests/test_cp/test_openstack/test_models/test_model_parser.py index f51f82a..6755217 100644 --- a/package/tests/test_cp/test_openstack/test_models/test_model_parser.py +++ b/package/tests/test_cp/test_openstack/test_models/test_model_parser.py @@ -19,10 +19,7 @@ def test_get_resource_model_from_context(self): test_resource.attributes['OpenStack Region'] = 'test_region' test_resource.attributes['OpenStack User Name'] = 'test_user' test_resource.attributes['OpenStack User Password'] = 'test_pass' - test_resource.attributes['OpenStack Management VLAN ID'] = 123 - test_resource.attributes['Quali Management VLAN ID'] = 234 - test_resource.attributes['OpenStack Management Subnet CIDR'] = '10.0.0.0/8' - test_resource.attributes['Quali Management Subnet CIDR'] = '10.0.0.0/16' + test_resource.attributes['Quali Management Network UUID'] = '1234-56-78' test_resource.attributes['Floating IP Pool'] = '10.0.0.100-10.0.0.101' result = self.tested_class.get_resource_model_from_context(test_resource) @@ -33,10 +30,7 @@ def test_get_resource_model_from_context(self): self.assertEqual(result.os_region, 'test_region') self.assertEqual(result.os_user_name, 'test_user') self.assertEqual(result.os_user_password, 'test_pass') - self.assertEqual(result.os_mgmt_vlan_id, 123) - self.assertEqual(result.qs_mgmt_vlan_id, 234) - self.assertEqual(result.os_mgmt_subnet_cidr, '10.0.0.0/8') - self.assertEqual(result.qs_mgmt_subnet_cidr, '10.0.0.0/16') + self.assertEqual(result.qs_mgmt_os_net_uuid, '1234-56-78') self.assertEqual(result.os_floating_ip_pool, '10.0.0.100-10.0.0.101') @mock.patch("cloudshell.cp.openstack.models.model_parser.jsonpickle") @@ -58,11 +52,9 @@ def test_deploy_res_model_appname_from_deploy_req(self, deploy_data_holder_class self.assertIs(deploy_res_model, deploy_os_nova_image_instance_resource_model) self.assertEqual(deploy_res_model.cloud_provider, deploy_data_holder.image.cloud_provider) self.assertEqual(deploy_res_model.cp_avail_zone, deploy_data_holder.image.cp_avail_zone) - self.assertEqual(deploy_res_model.img_name, deploy_data_holder.image.img_name) + self.assertEqual(deploy_res_model.img_uuid, deploy_data_holder.image.img_uuid) self.assertEqual(deploy_res_model.instance_flavor, deploy_data_holder.image.instance_flavor) self.assertEqual(deploy_res_model.add_floating_ip, deploy_data_holder.image.add_floating_ip) - self.assertEqual(deploy_res_model.auto_power_off, deploy_data_holder.image.auto_power_off) - self.assertEqual(deploy_res_model.auto_delete, deploy_data_holder.image.auto_delete) self.assertEqual(deploy_res_model.autoload, deploy_data_holder.image.autoload) self.assertEqual(deploy_res_model.inbound_ports, deploy_data_holder.image.inbound_ports) self.assertEqual(deploy_res_model.outbound_ports, deploy_data_holder.image.outbound_ports) @@ -104,11 +96,9 @@ def test_get_deploy_resource_model_from_context_resource(self, deploy_os_nova_im test_resource.attributes = {} test_resource.attributes['Cloud Provider'] = test_cloud_provider = 'test_cloud_provider' test_resource.attributes['Availability Zone'] = test_availability_zone = 'test_availability_zone' - test_resource.attributes['Image Name'] = test_image_name = 'test_image_name' + test_resource.attributes['Image UUID'] = test_image_uuid = 'test_image_uuid' test_resource.attributes['Instance Flavor'] = test_instance_flavor = 'test_instance_flavor' test_resource.attributes['Add Floating IP'] = 'True' - test_resource.attributes['Auto Power Off'] = 'False' - test_resource.attributes['Auto Delete'] = 'False' test_resource.attributes['Autoload'] = '1' test_resource.attributes['Inbound Ports'] = inbound_ports = 'test_inbound_ports' test_resource.attributes['Outbound Ports'] = outbounds_ports = 'test_outbound_ports' @@ -118,11 +108,9 @@ def test_get_deploy_resource_model_from_context_resource(self, deploy_os_nova_im self.assertIs(deploy_resource_model, deploy_os_nova_image_instance_resource_model) self.assertEqual(deploy_resource_model.cloud_provider, test_cloud_provider) self.assertEqual(deploy_resource_model.cp_avail_zone, test_availability_zone) - self.assertEqual(deploy_resource_model.img_name, test_image_name) + self.assertEqual(deploy_resource_model.img_uuid, test_image_uuid) self.assertEqual(deploy_resource_model.instance_flavor, test_instance_flavor) self.assertEqual(deploy_resource_model.add_floating_ip, parse_boolean_result) - self.assertEqual(deploy_resource_model.auto_power_off, parse_boolean_result) - self.assertEqual(deploy_resource_model.auto_delete, parse_boolean_result) self.assertEqual(deploy_resource_model.autoload, parse_boolean_result) self.assertEqual(deploy_resource_model.inbound_ports, inbound_ports) self.assertEqual(deploy_resource_model.outbound_ports, outbounds_ports) From f572970f9ed8999488d81e89d975caa142dc42c5 Mon Sep 17 00:00:00 2001 From: Abhijit Gadgil Date: Tue, 1 Nov 2016 07:39:52 +0530 Subject: [PATCH 5/5] #25 #26 #27 #28 Fixed one review comment --- .../cp/openstack/command/operations/deploy_operation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/cloudshell/cp/openstack/command/operations/deploy_operation.py b/package/cloudshell/cp/openstack/command/operations/deploy_operation.py index dd34c1f..51685da 100644 --- a/package/cloudshell/cp/openstack/command/operations/deploy_operation.py +++ b/package/cloudshell/cp/openstack/command/operations/deploy_operation.py @@ -21,7 +21,7 @@ def deploy(self, os_session, name, reservation, cp_resource_model, deploy_req_mo :param str name: Name of the instance to be deployed :param ReservationModel reservation: :param DeployDataHolder deploy_req_model: - :param XXX cp_resource_model: + :param OpenStackResourceModel cp_resource_model: :param LoggingSessionContext logger: :rtype DeployResultModel: """