Adding node_check test case
Change-Id: I40a3d7bf3772aaef6cccef2429fec641e61b8dc4
This commit is contained in:
parent
433cee2d64
commit
57e051e542
cloudpulse
@ -104,7 +104,7 @@ class ansible_runner(object):
|
||||
filetered_list.append(os_node)
|
||||
elif role_list and self.openstack_node:
|
||||
for role in role_list:
|
||||
for os_node in self.self.openstack_node:
|
||||
for os_node in self.openstack_node:
|
||||
if role == os_node.getRole():
|
||||
filetered_list.append(os_node)
|
||||
return filetered_list
|
||||
@ -154,7 +154,11 @@ class ansible_runner(object):
|
||||
return out
|
||||
|
||||
# can perform all shell operations Ex: rm /tmp/output
|
||||
def execute(self, command, container_name=None):
|
||||
def execute(self, command, container_name=None, roles=[]):
|
||||
filetered_os_list = []
|
||||
if roles:
|
||||
filetered_os_list = self.get_os_node_list(role_list=roles)
|
||||
self.inventory = self.init_ansible_inventory(filetered_os_list)
|
||||
if is_containerized and container_name:
|
||||
command = 'docker exec %s %s' % (container_name, command)
|
||||
|
||||
@ -169,6 +173,20 @@ class ansible_runner(object):
|
||||
out = runner.run()
|
||||
return out
|
||||
|
||||
def ping(self, container_name=None, roles=[]):
|
||||
filetered_os_list = []
|
||||
if roles:
|
||||
filetered_os_list = self.get_os_node_list(role_list=roles)
|
||||
self.inventory = self.init_ansible_inventory(filetered_os_list)
|
||||
runner = ansible.runner.Runner(
|
||||
module_name='ping',
|
||||
remote_user=self.remote_user,
|
||||
inventory=self.inventory,
|
||||
forks=1,
|
||||
)
|
||||
out = runner.run()
|
||||
return out
|
||||
|
||||
def get_results(self):
|
||||
result = {}
|
||||
if not os.path.isdir(TMP_LOCATION + 'output/'):
|
||||
|
@ -48,6 +48,9 @@ PERIODIC_TESTS_OPTS = [
|
||||
cfg.IntOpt('docker_check',
|
||||
default=0,
|
||||
help='The docker periodic check'),
|
||||
cfg.IntOpt('node_check',
|
||||
default=0,
|
||||
help='The Node Check peiodic check'),
|
||||
cfg.IntOpt('all_operator_tests',
|
||||
default=0,
|
||||
help='Run all operator tests')
|
||||
@ -85,7 +88,7 @@ class operator_scenario(base.Scenario):
|
||||
rabbit_container = cfg.CONF.operator_test.rabbit_container
|
||||
cmd = ("docker exec %s %s" % (rabbit_container, cmd))
|
||||
|
||||
out = self.ans_runner.execute(cmd)
|
||||
out = self.ans_runner.execute(cmd, roles=['controller'])
|
||||
res, output = self.ans_runner.validate_results(out)
|
||||
|
||||
if res['status'] is 'PASS':
|
||||
@ -133,7 +136,7 @@ class operator_scenario(base.Scenario):
|
||||
galera_container = cfg.CONF.operator_test.galera_container
|
||||
cmd = ("docker exec %s %s" % (galera_container, cmd))
|
||||
|
||||
out = self.ans_runner.execute(cmd)
|
||||
out = self.ans_runner.execute(cmd, roles=['controller'])
|
||||
results, failed_hosts = self.ans_runner.validate_results(out)
|
||||
|
||||
if results['status'] is 'PASS':
|
||||
@ -175,7 +178,7 @@ class operator_scenario(base.Scenario):
|
||||
def ceph_check(self):
|
||||
self.load()
|
||||
cmd = (r"ceph -f json status")
|
||||
out = self.ans_runner.execute(cmd)
|
||||
out = self.ans_runner.execute(cmd, roles=['controller'])
|
||||
results, failed_hosts = self.ans_runner.validate_results(out)
|
||||
|
||||
if results['status'] is 'PASS':
|
||||
@ -196,6 +199,20 @@ class operator_scenario(base.Scenario):
|
||||
return (404, ("Ceph cluster Test Failed: %s" %
|
||||
results['status_message']), [])
|
||||
|
||||
@base.scenario(admin_only=False, operator=True)
|
||||
def node_check(self):
|
||||
self.load()
|
||||
out = self.ans_runner.ping()
|
||||
results, failed_hosts = self.ans_runner.validate_results(out)
|
||||
if results['status'] is 'PASS':
|
||||
return (200, "All nodes are up")
|
||||
else:
|
||||
msg = "Some nodes are not up"
|
||||
if failed_hosts:
|
||||
msg = "The following nodes are not up: %s" % str(
|
||||
failed_hosts[0])
|
||||
return (404, msg)
|
||||
|
||||
@base.scenario(admin_only=False, operator=True)
|
||||
def all_operator_tests(self):
|
||||
test_list = [func for func in dir(self) if base.Scenario.is_scenario(
|
||||
|
Loading…
x
Reference in New Issue
Block a user