Add test for mcollective package version
Scenario: 1. Check mcollective version on bootstrap 2. Create cluster 3. Add one node to cluster 4. Provision nodes 5. Check mcollective version on node Change-Id: I92fe35d0c31f08bd0d69a8993c9f3a72e2bdb60d Closes-Bug: #1460073
This commit is contained in:
parent
5abb335e74
commit
357f2f9026
|
@ -1470,3 +1470,33 @@ def check_free_space_slave(env, min_disk_slave=150):
|
|||
"The minimal vm-nova storage size should be {0}, "
|
||||
"current {1}".format(
|
||||
vm_storage_free_space, 4 * small_flavor_disk))
|
||||
|
||||
|
||||
@logwrap
|
||||
def check_package_version(ip, package_name, expected_version, condition='ge'):
|
||||
"""Check that package version equal/not equal/greater/less than expected
|
||||
|
||||
:param ip: ip
|
||||
:param package_name: package name to check
|
||||
:param expected_version: expected version of package
|
||||
:param condition: predicate can be on of eq, ne, lt, le, ge, gt
|
||||
:return None: or raise UnexpectedExitCode
|
||||
"""
|
||||
cmd = "dpkg -s {0} " \
|
||||
"| awk -F': ' '/Version/ {{print \$2}}'".format(package_name)
|
||||
logger.debug(cmd)
|
||||
result = ssh_manager.execute_on_remote(
|
||||
ip,
|
||||
cmd=cmd,
|
||||
assert_ec_equal=[0]
|
||||
)
|
||||
version = result['stdout_str']
|
||||
logger.info('{} ver is {}'.format(package_name, version))
|
||||
err_msg = 'Package {} version is {} and not {} {}'.format(package_name,
|
||||
version,
|
||||
condition,
|
||||
expected_version)
|
||||
cmd = 'dpkg --compare-versions {0} {1} {2}'.format(version, condition,
|
||||
expected_version)
|
||||
ssh_manager.execute_on_remote(ip, cmd, assert_ec_equal=[0],
|
||||
err_msg=err_msg)
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
from proboscis import test
|
||||
from proboscis.asserts import assert_true
|
||||
|
||||
from fuelweb_test.helpers.checkers import check_package_version
|
||||
from fuelweb_test.helpers.decorators import log_snapshot_after_test
|
||||
from fuelweb_test import logger
|
||||
from fuelweb_test.tests.base_test_case import SetupEnvironment
|
||||
|
@ -39,6 +40,49 @@ class IBPTest(TestBasic):
|
|||
' Missing packages: {}'.format(pkg_list - node_pkgs)
|
||||
)
|
||||
|
||||
@test(depends_on=[SetupEnvironment.prepare_slaves_1],
|
||||
groups=["check_mcollective_version"])
|
||||
@log_snapshot_after_test
|
||||
def check_mcollective_version(self):
|
||||
"""Check mcollective package version on bootstrap and provisioned node
|
||||
|
||||
Scenario:
|
||||
1. Check mcollective version on bootstrap
|
||||
2. Create cluster
|
||||
3. Add one node to cluster
|
||||
4. Provision nodes
|
||||
5. Check mcollective version on node
|
||||
|
||||
Duration 5m
|
||||
"""
|
||||
self.env.revert_snapshot("ready_with_1_slaves", skip_timesync=True)
|
||||
self.show_step(1)
|
||||
|
||||
node = self.env.d_env.get_node(name__in=["slave-01"])
|
||||
_ip = self.fuel_web.get_nailgun_node_by_devops_node(node)['ip']
|
||||
check_package_version(_ip, 'mcollective', '2.3.3', 'ge')
|
||||
|
||||
self.show_step(2)
|
||||
cluster_id = self.fuel_web.create_cluster(
|
||||
name=self.__class__.__name__
|
||||
)
|
||||
pkg_list = self.fuel_web.get_cluster_ibp_packages(cluster_id)
|
||||
logger.debug('Cluster IBP packages: {}'.format(pkg_list))
|
||||
|
||||
self.show_step(3)
|
||||
self.fuel_web.update_nodes(
|
||||
cluster_id,
|
||||
{
|
||||
'slave-01': ['controller'],
|
||||
}
|
||||
)
|
||||
|
||||
self.show_step(4)
|
||||
self.fuel_web.provisioning_cluster_wait(cluster_id)
|
||||
|
||||
self.show_step(5)
|
||||
check_package_version(_ip, 'mcollective', '2.3.3', 'ge')
|
||||
|
||||
@test(depends_on=[SetupEnvironment.prepare_slaves_1],
|
||||
groups=["check_ibp_default_package_list"])
|
||||
@log_snapshot_after_test
|
||||
|
|
Loading…
Reference in New Issue