Modify update_packages decorator

- Add ability to update_packages to download
packages from external repo

Change-Id: I5117bbf3e63f961cc8b84e5a1e45fb275d438e33
Implements: blueprint mos-patching-tests
This commit is contained in:
asledzinskiy
2015-06-18 18:48:00 +03:00
parent 67e662d813
commit 07bb4e16e1
2 changed files with 21 additions and 0 deletions

View File

@@ -16,10 +16,12 @@ import functools
import inspect
import json
import os
from subprocess import call
import sys
import time
import traceback
import urllib2
from urlparse import urlparse
from devops.helpers import helpers
from fuelweb_test.helpers.checkers import check_action_logs
@@ -168,6 +170,24 @@ def update_packages(func):
remote = environment.d_env.get_admin_remote()
if settings.UPDATE_FUEL_MIRROR:
for url in settings.UPDATE_FUEL_MIRROR:
repo_url = urlparse(url)
cut_dirs = len(repo_url.path.strip('/').split('/'))
download_cmd = ('wget --recursive --no-parent'
' --no-verbose --reject "index'
'.html*,*.gif" --exclude-directories'
' "{pwd}/repocache" '
'--directory-prefix {path} -nH'
' --cut-dirs={cutd} {url}').\
format(pwd=repo_url.path.rstrip('/'),
path=settings.UPDATE_FUEL_PATH,
cutd=cut_dirs, url=repo_url.geturl())
return_code = call(download_cmd, shell=True)
assert_equal(return_code, 0, 'Mirroring of remote'
' packages '
'repository failed')
centos_files_count, ubuntu_files_count = \
environment.admin_actions.upload_packages(
local_packages_dir=settings.UPDATE_FUEL_PATH,

View File

@@ -428,6 +428,7 @@ DOWNLOAD_LINK = os.environ.get(
UPDATE_FUEL = os.environ.get('UPDATE_FUEL', 'false') == 'true'
UPDATE_FUEL_PATH = os.environ.get('UPDATE_FUEL_PATH', '~/fuel/pkgs/')
UPDATE_FUEL_MIRROR = os.environ.get("UPDATE_FUEL_MIRROR", '').split()
EMC_PLUGIN_PATH = os.environ.get('EMC_PLUGIN_PATH')
EMC_SP_A_IP = os.environ.get('EMC_SP_A_IP')