Merge "Add new integration tests for vCenter 9.0" into stable/mitaka
This commit is contained in:
commit
a33b8f083e
@ -15,6 +15,7 @@
|
|||||||
from __future__ import division
|
from __future__ import division
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
import itertools
|
||||||
|
|
||||||
from proboscis import SkipTest
|
from proboscis import SkipTest
|
||||||
from proboscis.asserts import assert_equal
|
from proboscis.asserts import assert_equal
|
||||||
@ -423,12 +424,70 @@ class BaseActions(PrepareActions, HealthCheckActions, PluginsActions):
|
|||||||
for node in step_config:
|
for node in step_config:
|
||||||
if node['action'] == 'add':
|
if node['action'] == 'add':
|
||||||
self._add_node([node])
|
self._add_node([node])
|
||||||
|
if node.get('vmware_vcenter'):
|
||||||
|
nova_computes = node['vmware_vcenter']['nova-compute']
|
||||||
|
self.add_vmware_nova_compute(nova_computes)
|
||||||
elif node['action'] == 'delete':
|
elif node['action'] == 'delete':
|
||||||
self._del_node([node])
|
self._del_node([node])
|
||||||
|
if 'compute-vmware' in node['roles']:
|
||||||
|
self.del_vmware_nova_compute()
|
||||||
else:
|
else:
|
||||||
logger.error("Unknow scale action: {}".format(node['action']))
|
logger.error("Unknow scale action: {}".format(node['action']))
|
||||||
self.scale_step += 1
|
self.scale_step += 1
|
||||||
|
|
||||||
|
def add_vmware_nova_compute(self, nova_computes):
|
||||||
|
vmware_attr = \
|
||||||
|
self.fuel_web.client.get_cluster_vmware_attributes(self.cluster_id)
|
||||||
|
vcenter_data = vmware_attr['editable']['value']['availability_zones'][
|
||||||
|
0]["nova_computes"]
|
||||||
|
|
||||||
|
comp_vmware_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
|
||||||
|
self.cluster_id, ['compute-vmware'], role_status='pending_roles')
|
||||||
|
|
||||||
|
for instance in nova_computes:
|
||||||
|
cluster_name = instance['cluster']
|
||||||
|
srv_name = instance['srv_name']
|
||||||
|
datastore = instance['datastore']
|
||||||
|
if instance['target_node'] == 'compute-vmware':
|
||||||
|
node = comp_vmware_nodes.pop()
|
||||||
|
target_node = node['hostname']
|
||||||
|
else:
|
||||||
|
target_node = instance['target_node']
|
||||||
|
|
||||||
|
vcenter_data.append(
|
||||||
|
{"vsphere_cluster": cluster_name,
|
||||||
|
"service_name": srv_name,
|
||||||
|
"datastore_regex": datastore,
|
||||||
|
"target_node": {
|
||||||
|
"current": {"id": target_node,
|
||||||
|
"label": target_node},
|
||||||
|
"options": [{"id": target_node,
|
||||||
|
"label": target_node}, ]},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
logger.debug("Try to update cluster with next "
|
||||||
|
"vmware_attributes {0}".format(vmware_attr))
|
||||||
|
self.fuel_web.client.update_cluster_vmware_attributes(
|
||||||
|
self.cluster_id, vmware_attr)
|
||||||
|
|
||||||
|
def del_vmware_nova_compute(self):
|
||||||
|
vmware_attr = \
|
||||||
|
self.fuel_web.client.get_cluster_vmware_attributes(self.cluster_id)
|
||||||
|
vcenter_data = vmware_attr['editable']['value']['availability_zones'][
|
||||||
|
0]["nova_computes"]
|
||||||
|
|
||||||
|
comp_vmware_nodes = self.fuel_web.get_nailgun_cluster_nodes_by_roles(
|
||||||
|
self.cluster_id, ['compute-vmware'],
|
||||||
|
role_status='pending_deletion')
|
||||||
|
|
||||||
|
for node, nova_comp in itertools.product(comp_vmware_nodes,
|
||||||
|
vcenter_data):
|
||||||
|
if node['hostname'] == nova_comp['target_node']['current']['id']:
|
||||||
|
vcenter_data.remove(nova_comp)
|
||||||
|
self.fuel_web.client.update_cluster_vmware_attributes(self.cluster_id,
|
||||||
|
vmware_attr)
|
||||||
|
|
||||||
@deferred_decorator([make_snapshot_if_step_fail])
|
@deferred_decorator([make_snapshot_if_step_fail])
|
||||||
@action
|
@action
|
||||||
def reset_cluster(self):
|
def reset_cluster(self):
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from proboscis.asserts import assert_true
|
from proboscis.asserts import assert_true
|
||||||
|
from proboscis import SkipTest
|
||||||
from system_test import logger
|
from system_test import logger
|
||||||
|
|
||||||
from system_test import deferred_decorator
|
from system_test import deferred_decorator
|
||||||
@ -153,3 +154,13 @@ class VMwareActions(object):
|
|||||||
vmware_attr)
|
vmware_attr)
|
||||||
|
|
||||||
logger.debug("Attributes of cluster have been updated")
|
logger.debug("Attributes of cluster have been updated")
|
||||||
|
|
||||||
|
@deferred_decorator([make_snapshot_if_step_fail])
|
||||||
|
@action
|
||||||
|
def deploy_changes(self):
|
||||||
|
"""Deploy environment"""
|
||||||
|
if self.cluster_id is None:
|
||||||
|
raise SkipTest()
|
||||||
|
|
||||||
|
self.fuel_web.deploy_cluster_wait(self.cluster_id,
|
||||||
|
check_services=False)
|
||||||
|
@ -94,6 +94,50 @@ class ScaleWithVMware(ActionTest, BaseActions, VMwareActions):
|
|||||||
'network_check',
|
'network_check',
|
||||||
'deploy_cluster',
|
'deploy_cluster',
|
||||||
'scale_node',
|
'scale_node',
|
||||||
'deploy_cluster',
|
'deploy_changes',
|
||||||
|
'health_check_sanity_smoke_ha'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@testcase(groups=['system_test',
|
||||||
|
'system_test.vcenter',
|
||||||
|
'system_test.vcenter.scale_vcenter_dvs_skipsrvcheck'])
|
||||||
|
class ScaleWithVMwareSkipSrvCheck(ActionTest, BaseActions, VMwareActions):
|
||||||
|
"""Deploy and scale cluster with vCenter and dvs plugin
|
||||||
|
|
||||||
|
Scenario:
|
||||||
|
1. Upload plugin to the master node
|
||||||
|
2. Install plugin
|
||||||
|
3. Create cluster
|
||||||
|
4. Configure dvs settings (depends on yaml config)
|
||||||
|
5. Add nodes (depends on yaml config)
|
||||||
|
6. Configure vmware settings (depends on yaml config)
|
||||||
|
7. Run network verification
|
||||||
|
8. Deploy the cluster
|
||||||
|
9. Add/Delete nodes
|
||||||
|
10. Redeploy cluster
|
||||||
|
11. Run OSTF
|
||||||
|
|
||||||
|
Duration 3h 00min
|
||||||
|
Snapshot scale_vcenter_dvs
|
||||||
|
"""
|
||||||
|
|
||||||
|
plugin_name = "fuel-plugin-vmware-dvs"
|
||||||
|
plugin_path = DVS_PLUGIN_PATH
|
||||||
|
plugin_version = DVS_PLUGIN_VERSION
|
||||||
|
ostf_tests_should_failed = 1
|
||||||
|
failed_test_name = ['Check that required services are running']
|
||||||
|
|
||||||
|
actions_order = [
|
||||||
|
'prepare_env_with_plugin',
|
||||||
|
'create_env',
|
||||||
|
'enable_plugin',
|
||||||
|
'configure_dvs_plugin',
|
||||||
|
'add_nodes',
|
||||||
|
'configure_vcenter',
|
||||||
|
'network_check',
|
||||||
|
'deploy_cluster',
|
||||||
|
'scale_node',
|
||||||
|
'deploy_changes',
|
||||||
'health_check_sanity_smoke_ha'
|
'health_check_sanity_smoke_ha'
|
||||||
]
|
]
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
template:
|
||||||
|
name: 1 controller, 1 compute + cinder, 1 compute-vmware on Neutron/VLAN with DVS plugin
|
||||||
|
slaves: 3
|
||||||
|
cluster_template:
|
||||||
|
name: vcenter_add_computevmware
|
||||||
|
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:
|
||||||
|
- compute
|
||||||
|
- cinder
|
||||||
|
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
|
||||||
|
vmware_vcenter:
|
||||||
|
nova-compute:
|
||||||
|
- cluster: Cluster2
|
||||||
|
srv_name: srv_cluster2
|
||||||
|
datastore: .*
|
||||||
|
target_node: compute-vmware
|
@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
template:
|
||||||
|
name: 1 controller, 1 compute + cinder, 1 compute-vmware on Neutron/VLAN with DVS plugin
|
||||||
|
slaves: 3
|
||||||
|
cluster_template:
|
||||||
|
name: vcenter_delete_computevmware
|
||||||
|
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/2clusters_ctrl_comp-vmware.yaml
|
||||||
|
glance:
|
||||||
|
enable: false
|
||||||
|
vmware_dvs:
|
||||||
|
!include cluster_configs/settings/vmware/dvs/dvs_main.yaml
|
||||||
|
nodes:
|
||||||
|
- roles:
|
||||||
|
- controller
|
||||||
|
iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml
|
||||||
|
count: 1
|
||||||
|
|
||||||
|
- roles:
|
||||||
|
- compute
|
||||||
|
- cinder
|
||||||
|
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
|
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
template:
|
||||||
|
name: 1 controller, 1 compute-vmware + cinder-vmware on Neutron/VLAN with DVS plugin
|
||||||
|
slaves: 2
|
||||||
|
cluster_template:
|
||||||
|
name: vcenter_multiroles_computevmware_cindervmware
|
||||||
|
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/2clusters_ctrl_comp-vmware.yaml
|
||||||
|
glance:
|
||||||
|
enable: false
|
||||||
|
vmware_dvs:
|
||||||
|
!include cluster_configs/settings/vmware/dvs/dvs_main.yaml
|
||||||
|
nodes:
|
||||||
|
- roles:
|
||||||
|
- controller
|
||||||
|
iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml
|
||||||
|
count: 1
|
||||||
|
|
||||||
|
- roles:
|
||||||
|
- compute-vmware
|
||||||
|
- cinder-vmware
|
||||||
|
iface: !include cluster_configs/settings/vmware/vcenter_ifaces.yaml
|
||||||
|
count: 1
|
Loading…
Reference in New Issue
Block a user