From 06cee3fd7737372a4d4964dfed7edb110a7cbcd1 Mon Sep 17 00:00:00 2001 From: ibumarskov Date: Tue, 23 Aug 2016 14:23:29 +0300 Subject: [PATCH] Add tests with changing of vSphere cluster configuration Change-Id: Iddad9ea9127ce46eab94d3b3f74d828f53aad8df Closes-bug: #1612584 --- system_test/actions/base.py | 18 +++++-- system_test/tests/vcenter/test_vcenter_dvs.py | 1 + .../settings/vmware/dvs/dvs_1cluster.yaml | 2 +- .../settings/vmware/dvs/dvs_main.yaml | 2 +- .../vcenter_add_cluster_to_ctrl.yaml | 45 ++++++++++++++++ .../vcenter_add_computevmware.yaml | 3 +- .../vcenter_delete_computevmware.yaml | 6 ++- ...vcenter_mv_cluster_compute_to_compute.yaml | 52 +++++++++++++++++++ .../vcenter_mv_cluster_compute_to_ctrl.yaml | 47 +++++++++++++++++ .../vcenter_mv_cluster_ctrl_to_compute.yaml | 47 +++++++++++++++++ 10 files changed, 214 insertions(+), 9 deletions(-) create mode 100644 system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_cluster_to_ctrl.yaml create mode 100644 system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_compute.yaml create mode 100644 system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_ctrl.yaml create mode 100644 system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_ctrl_to_compute.yaml diff --git a/system_test/actions/base.py b/system_test/actions/base.py index 385c2b101..550a0907b 100644 --- a/system_test/actions/base.py +++ b/system_test/actions/base.py @@ -453,15 +453,17 @@ class BaseActions(PrepareActions, HealthCheckActions, PluginsActions, for node in step_config: if node['action'] == 'add': self._add_node([node]) - if node.get('vmware_vcenter'): - nova_computes = node['vmware_vcenter']['nova-compute'] - dvs_settings = node['vmware_dvs'] - self.add_vmware_nova_compute(nova_computes) - self.update_dvs_plugin_settings(dvs_settings) elif node['action'] == 'delete': self._del_node([node]) if 'compute-vmware' in node['roles']: self.del_vmware_nova_compute() + elif node['action'] == 'reconfigure': + if node.get('vmware_vcenter'): + nova_computes = node['vmware_vcenter']['nova-compute'] + self.add_vmware_nova_compute(nova_computes) + if node.get('vmware_dvs'): + dvs_settings = node['vmware_dvs'] + self.update_dvs_plugin_settings(dvs_settings) else: logger.error("Unknown scale action: {}".format(node['action'])) self.scale_step += 1 @@ -544,6 +546,9 @@ class BaseActions(PrepareActions, HealthCheckActions, PluginsActions, comp_vmware_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles( self.cluster_id, ['compute-vmware'], role_status='pending_roles') + comp_vmware_nodes = [n for n in comp_vmware_nodes if + n['pending_addition']] + for instance in nova_computes: cluster_name = instance['cluster'] srv_name = instance['srv_name'] @@ -554,6 +559,9 @@ class BaseActions(PrepareActions, HealthCheckActions, PluginsActions, else: target_node = instance['target_node'] + vcenter_data[:] = [n for n in vcenter_data if + cluster_name != n['vsphere_cluster']] + vcenter_data.append( {"vsphere_cluster": cluster_name, "service_name": srv_name, diff --git a/system_test/tests/vcenter/test_vcenter_dvs.py b/system_test/tests/vcenter/test_vcenter_dvs.py index d6cdf88d7..27dbc9ecc 100644 --- a/system_test/tests/vcenter/test_vcenter_dvs.py +++ b/system_test/tests/vcenter/test_vcenter_dvs.py @@ -99,6 +99,7 @@ class ScaleWithVMware(ActionTest, BaseActions, VMwareActions): 'deploy_cluster', 'scale_node', 'deploy_changes', + 'check_nova_conf', 'health_check_sanity_smoke_ha' ] diff --git a/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml b/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml index 2cc7f8ea6..798d511eb 100644 --- a/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml +++ b/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml @@ -1,3 +1,3 @@ --- -dvswitch_name: !os_env DVS_NAME, Cluster1:dvSwitch +dvswitch_name: !os_env DVS_NAME, Cluster1:Cluster1 dvs_fw_driver: false diff --git a/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_main.yaml b/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_main.yaml index 68940c166..a85ed9c09 100644 --- a/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_main.yaml +++ b/system_test/tests_templates/cluster_configs/settings/vmware/dvs/dvs_main.yaml @@ -1,3 +1,3 @@ --- -dvswitch_name: !os_env DVS_NAME, Cluster1:dvSwitch;Cluster2:dvSwitch +dvswitch_name: !os_env DVS_NAME, Cluster1:Cluster1;Cluster2:Cluster2 dvs_fw_driver: false diff --git a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_cluster_to_ctrl.yaml b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_cluster_to_ctrl.yaml new file mode 100644 index 000000000..9c1a2aa2c --- /dev/null +++ b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_cluster_to_ctrl.yaml @@ -0,0 +1,45 @@ +--- +template: + name: 1 controller, 1 cinder-vmware on Neutron/VLAN with DVS plugin + slaves: 2 + cluster_template: + name: vcenter_add_cluster_to_ctrl + release: ubuntu + network: + !include cluster_configs/networks/neutron_vlan.yaml + settings: + components: + !include cluster_configs/settings/components/wo_components.yaml + storages: + !include cluster_configs/settings/storages/cinder_only.yaml + vmware_vcenter: + settings: + !include cluster_configs/settings/vmware/vcenter_main.yaml + nova-compute: + !include cluster_configs/settings/vmware/nova_compute/1cluster_ctrl.yaml + glance: + enable: false + vmware_dvs: + !include cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml + nodes: + - roles: + - controller + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + - roles: + - cinder-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + scale_nodes: + - - action: reconfigure + vmware_vcenter: + nova-compute: + - cluster: Cluster2 + srv_name: srv_cluster2 + datastore: .* + target_node: controllers + vmware_dvs: + dvswitch_name: !os_env DVS_NAME, Cluster1:Cluster1;Cluster2:Cluster2 + dvs_fw_driver: false diff --git a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_computevmware.yaml b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_computevmware.yaml index f0abbd0a0..71948dfde 100644 --- a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_computevmware.yaml +++ b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_add_computevmware.yaml @@ -39,6 +39,7 @@ template: iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml count: 1 action: add + - action: reconfigure vmware_vcenter: nova-compute: - cluster: Cluster2 @@ -46,5 +47,5 @@ template: datastore: .* target_node: compute-vmware vmware_dvs: - dvswitch_name: !os_env DVS_NAME, Cluster1:dvSwitch;Cluster2:dvSwitch + dvswitch_name: !os_env DVS_NAME, Cluster1:Cluster1;Cluster2:Cluster2 dvs_fw_driver: false \ No newline at end of file diff --git a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_delete_computevmware.yaml b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_delete_computevmware.yaml index 442b58e4b..e54fc6eda 100644 --- a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_delete_computevmware.yaml +++ b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_delete_computevmware.yaml @@ -43,4 +43,8 @@ template: - compute-vmware iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml count: 1 - action: delete \ No newline at end of file + action: delete + - action: reconfigure + vmware_dvs: + dvswitch_name: !os_env DVS_NAME, Cluster1:Cluster1 + dvs_fw_driver: false \ No newline at end of file diff --git a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_compute.yaml b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_compute.yaml new file mode 100644 index 000000000..796ad144a --- /dev/null +++ b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_compute.yaml @@ -0,0 +1,52 @@ +--- +template: + name: 1 controller, 1 compute-vmware on Neutron/VLAN with DVS plugin + slaves: 3 + cluster_template: + name: vcenter_mv_cluster_compute_to_compute + release: ubuntu + network: + !include cluster_configs/networks/neutron_vlan.yaml + settings: + components: + !include cluster_configs/settings/components/wo_components.yaml + storages: + !include cluster_configs/settings/storages/cinder_only.yaml + vmware_vcenter: + settings: + !include cluster_configs/settings/vmware/vcenter_main.yaml + nova-compute: + !include cluster_configs/settings/vmware/nova_compute/1cluster_comp-vmware.yaml + glance: + enable: false + vmware_dvs: + !include cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml + nodes: + - roles: + - controller + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + - roles: + - compute-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + scale_nodes: + - - roles: + - compute-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + action: add + - roles: + - compute-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + action: delete + - action: reconfigure + vmware_vcenter: + nova-compute: + - cluster: Cluster1 + srv_name: srv_cluster1 + datastore: .* + target_node: compute-vmware diff --git a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_ctrl.yaml b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_ctrl.yaml new file mode 100644 index 000000000..98ba08666 --- /dev/null +++ b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_compute_to_ctrl.yaml @@ -0,0 +1,47 @@ +--- +template: + name: 1 controller, 1 compute-vmware on Neutron/VLAN with DVS plugin + slaves: 2 + cluster_template: + name: vcenter_mv_cluster_compute_to_ctrl + release: ubuntu + network: + !include cluster_configs/networks/neutron_vlan.yaml + settings: + components: + !include cluster_configs/settings/components/wo_components.yaml + storages: + !include cluster_configs/settings/storages/cinder_only.yaml + vmware_vcenter: + settings: + !include cluster_configs/settings/vmware/vcenter_main.yaml + nova-compute: + !include cluster_configs/settings/vmware/nova_compute/1cluster_comp-vmware.yaml + glance: + enable: false + vmware_dvs: + !include cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml + nodes: + - roles: + - controller + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + - roles: + - compute-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + scale_nodes: + - - roles: + - compute-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + action: delete + - action: reconfigure + vmware_vcenter: + nova-compute: + - cluster: Cluster1 + srv_name: srv_cluster1 + datastore: .* + target_node: controllers diff --git a/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_ctrl_to_compute.yaml b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_ctrl_to_compute.yaml new file mode 100644 index 000000000..2e547ce12 --- /dev/null +++ b/system_test/tests_templates/tests_configs/vcenter_dvs/vcenter_mv_cluster_ctrl_to_compute.yaml @@ -0,0 +1,47 @@ +--- +template: + name: 1 controller, 1 cinder-vmware, 1 compute-vmware on Neutron/VLAN with DVS plugin + slaves: 3 + cluster_template: + name: vcenter_mv_cluster_ctrl_to_compute + release: ubuntu + network: + !include cluster_configs/networks/neutron_vlan.yaml + settings: + components: + !include cluster_configs/settings/components/wo_components.yaml + storages: + !include cluster_configs/settings/storages/cinder_only.yaml + vmware_vcenter: + settings: + !include cluster_configs/settings/vmware/vcenter_main.yaml + nova-compute: + !include cluster_configs/settings/vmware/nova_compute/1cluster_ctrl.yaml + glance: + enable: false + vmware_dvs: + !include cluster_configs/settings/vmware/dvs/dvs_1cluster.yaml + nodes: + - roles: + - controller + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + - roles: + - cinder-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + + scale_nodes: + - - roles: + - compute-vmware + iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml + count: 1 + action: add + - action: reconfigure + vmware_vcenter: + nova-compute: + - cluster: Cluster1 + srv_name: srv_cluster1 + datastore: .* + target_node: compute-vmware