Merge "Skip redundant time syncs during prepare environment"
This commit is contained in:
commit
f454ccf5c1
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue