Merge "Add test for mcollective package version"
This commit is contained in:
commit
512cf8fdc2
|
@ -1470,3 +1470,33 @@ def check_free_space_slave(env, min_disk_slave=150):
|
||||||
"The minimal vm-nova storage size should be {0}, "
|
"The minimal vm-nova storage size should be {0}, "
|
||||||
"current {1}".format(
|
"current {1}".format(
|
||||||
vm_storage_free_space, 4 * small_flavor_disk))
|
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 import test
|
||||||
from proboscis.asserts import assert_true
|
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.helpers.decorators import log_snapshot_after_test
|
||||||
from fuelweb_test import logger
|
from fuelweb_test import logger
|
||||||
from fuelweb_test.tests.base_test_case import SetupEnvironment
|
from fuelweb_test.tests.base_test_case import SetupEnvironment
|
||||||
|
@ -39,6 +40,49 @@ class IBPTest(TestBasic):
|
||||||
' Missing packages: {}'.format(pkg_list - node_pkgs)
|
' 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],
|
@test(depends_on=[SetupEnvironment.prepare_slaves_1],
|
||||||
groups=["check_ibp_default_package_list"])
|
groups=["check_ibp_default_package_list"])
|
||||||
@log_snapshot_after_test
|
@log_snapshot_after_test
|
||||||
|
|
Loading…
Reference in New Issue