Merge "Skip redundant time syncs during prepare environment"

This commit is contained in:
Jenkins 2015-03-31 18:45:05 +00:00 committed by Gerrit Code Review
commit f454ccf5c1
2 changed files with 51 additions and 45 deletions

View File

@ -64,7 +64,7 @@ class EnvironmentModel(object):
self.fuel_web.add_syslog_server(
cluster_id, self.d_env.router(), port)
def bootstrap_nodes(self, devops_nodes, timeout=600):
def bootstrap_nodes(self, devops_nodes, timeout=600, skip_timesync=False):
"""Lists registered nailgun nodes
Start vms and wait until they are registered on nailgun.
:rtype : List of registered nailgun nodes
@ -78,8 +78,9 @@ class EnvironmentModel(object):
time.sleep(2)
wait(lambda: all(self.nailgun_nodes(devops_nodes)), 15, timeout)
for node in self.nailgun_nodes(devops_nodes):
self.sync_node_time(self.d_env.get_ssh_to_remote(node["ip"]))
if not skip_timesync:
for node in self.nailgun_nodes(devops_nodes):
self.sync_node_time(self.d_env.get_ssh_to_remote(node["ip"]))
return self.nailgun_nodes(devops_nodes)
@ -166,43 +167,45 @@ class EnvironmentModel(object):
devops_nodes
)
def revert_snapshot(self, name):
if self.d_env.has_snapshot(name):
logger.info('We have snapshot with such name %s' % name)
def revert_snapshot(self, name, skip_timesync=False):
if not self.d_env.has_snapshot(name):
return False
self.d_env.revert(name)
logger.info('Starting snapshot reverting ....')
logger.info('We have snapshot with such name: %s' % name)
self.d_env.resume()
logger.info('Starting snapshot resuming ...')
logger.info("Reverting of the snapshot '{0}' ....".format(name))
self.d_env.revert(name)
admin = self.d_env.nodes().admin
logger.info("Resuming of the snapshot '{0}' ....".format(name))
self.d_env.resume()
try:
admin.await(
self.d_env.admin_net, timeout=10 * 60,
by_port=8000)
except Exception as e:
logger.warning("From first time admin isn't reverted: "
"{0}".format(e))
admin.destroy()
logger.info('Admin node was destroyed. Wait 10 sec.')
time.sleep(10)
self.d_env.start(
self.d_env.nodes().admins)
logger.info('Admin node started second time.')
self.d_env.nodes().admin.await(
self.d_env.admin_net, timeout=10 * 60,
by_port=8000)
admin = self.d_env.nodes().admin
self.set_admin_ssh_password()
try:
_wait(self.fuel_web.client.get_releases,
expected=EnvironmentError, timeout=300)
except exceptions.Unauthorized:
self.set_admin_keystone_password()
self.fuel_web.get_nailgun_version()
try:
admin.await(
self.d_env.admin_net, timeout=10 * 60,
by_port=8000)
except Exception as e:
logger.warning("From first time admin isn't reverted: "
"{0}".format(e))
admin.destroy()
logger.info('Admin node was destroyed. Wait 10 sec.')
time.sleep(10)
admin.start()
logger.info('Admin node started second time.')
self.d_env.nodes().admin.await(
self.d_env.admin_net, timeout=10 * 60,
by_port=8000)
self.set_admin_ssh_password()
try:
_wait(self.fuel_web.client.get_releases,
expected=EnvironmentError, timeout=300)
except exceptions.Unauthorized:
self.set_admin_keystone_password()
self.fuel_web.get_nailgun_version()
if not skip_timesync:
self.sync_time_admin_node()
for node in self.d_env.nodes().slaves:
@ -220,8 +223,7 @@ class EnvironmentModel(object):
' {1}'.format(node.name, e))
_ip = self.fuel_web.get_nailgun_node_by_name(node.name)['ip']
self.run_nailgun_agent(self.d_env.get_ssh_to_remote(_ip))
return True
return False
return True
def set_admin_ssh_password(self):
try:

View File

@ -73,7 +73,7 @@ class SetupEnvironment(TestBasic):
"""
self.check_run("ready")
self.env.revert_snapshot("empty")
self.env.revert_snapshot("empty", skip_timesync=True)
if OPENSTACK_RELEASE == OPENSTACK_RELEASE_REDHAT:
self.fuel_web.update_redhat_credentials()
@ -99,8 +99,9 @@ class SetupEnvironment(TestBasic):
"""
self.check_run("ready_with_1_slaves")
self.env.revert_snapshot("ready")
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:1])
self.env.revert_snapshot("ready", skip_timesync=True)
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:1],
skip_timesync=True)
self.env.make_snapshot("ready_with_1_slaves", is_make=True)
@test(depends_on=[prepare_release],
@ -117,8 +118,9 @@ class SetupEnvironment(TestBasic):
"""
self.check_run("ready_with_3_slaves")
self.env.revert_snapshot("ready")
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:3])
self.env.revert_snapshot("ready", skip_timesync=True)
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:3],
skip_timesync=True)
self.env.make_snapshot("ready_with_3_slaves", is_make=True)
@test(depends_on=[prepare_release],
@ -135,8 +137,9 @@ class SetupEnvironment(TestBasic):
"""
self.check_run("ready_with_5_slaves")
self.env.revert_snapshot("ready")
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:5])
self.env.revert_snapshot("ready", skip_timesync=True)
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:5],
skip_timesync=True)
self.env.make_snapshot("ready_with_5_slaves", is_make=True)
@test(depends_on=[prepare_release],
@ -153,6 +156,7 @@ class SetupEnvironment(TestBasic):
"""
self.check_run("ready_with_9_slaves")
self.env.revert_snapshot("ready")
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:9])
self.env.revert_snapshot("ready", skip_timesync=True)
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:9],
skip_timesync=True)
self.env.make_snapshot("ready_with_9_slaves", is_make=True)