Add retries on mirror creation

Fuel-mirror can download files which it failed
to download in previous attempts.
Re-run will simply try to download absent files.

Change-Id: I54e5bbd2bac4904f6b8c1e3ce8392e170e60a1f2
Closes-bug: #1565857
This commit is contained in:
Alexandr Kostrikov 2016-04-05 15:20:56 +03:00
parent 2f13281daf
commit 8778c6b2cc
3 changed files with 10 additions and 4 deletions

View File

@ -25,6 +25,7 @@ import yaml
from fuelweb_test import logger
from fuelweb_test import logwrap
from fuelweb_test.helpers.decorators import retry
from fuelweb_test.helpers.regenerate_repo import regenerate_centos_repo
from fuelweb_test.helpers.regenerate_repo import regenerate_ubuntu_repo
from fuelweb_test.helpers import replace_repos
@ -198,6 +199,11 @@ class AdminActions(BaseActions):
def wait_for_fuel_ready(self, timeout=300):
wait(lambda: self.is_fuel_ready, timeout=timeout)
@logwrap
@retry()
def ensure_cmd(self, cmd):
self.ssh_manager.execute_on_remote(ip=self.admin_ip, cmd=cmd)
@logwrap
def upload_plugin(self, plugin):
""" Upload plugin on master node.

View File

@ -450,10 +450,9 @@ class MultiroleMultipleServices(TestBasic):
Duration 140m
"""
self.show_step(1, initialize=True)
self.show_step(1)
self.env.revert_snapshot('ready_with_5_slaves')
# TODO(akostrikov):Enable debug
self.show_step(2)
admin_ip = self.ssh_manager.admin_ip
if MIRROR_UBUNTU != '':
@ -466,7 +465,7 @@ class MultiroleMultipleServices(TestBasic):
cmd=replace_cmd)
create_mirror_cmd = 'fuel-mirror create -P ubuntu -G mos ubuntu'
self.ssh_manager.execute_on_remote(ip=admin_ip, cmd=create_mirror_cmd)
self.env.admin_actions.ensure_cmd(create_mirror_cmd)
self.show_step(3)
cluster_id = self.fuel_web.create_cluster(

View File

@ -158,7 +158,8 @@ class TestUseMirror(TestBasic):
self.show_step(9)
create_cmd = 'fuel-mirror create -P ubuntu -G mos ' \
'--log-file /var/log/mos_mirrors_create.log'
self.ssh_manager.execute_on_remote(ip=admin_ip, cmd=create_cmd)
self.env.admin_actions.ensure_cmd(create_cmd)
self.show_step(10)
apply_cmd = 'fuel-mirror apply -P ubuntu -G mos'
self.ssh_manager.execute_on_remote(ip=admin_ip, cmd=apply_cmd)