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 inspect
import json import json
import os import os
from subprocess import call
import sys import sys
import time import time
import traceback import traceback
import urllib2 import urllib2
from urlparse import urlparse
from devops.helpers import helpers from devops.helpers import helpers
from fuelweb_test.helpers.checkers import check_action_logs from fuelweb_test.helpers.checkers import check_action_logs
@@ -168,6 +170,24 @@ def update_packages(func):
remote = environment.d_env.get_admin_remote() 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 = \ centos_files_count, ubuntu_files_count = \
environment.admin_actions.upload_packages( environment.admin_actions.upload_packages(
local_packages_dir=settings.UPDATE_FUEL_PATH, 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 = os.environ.get('UPDATE_FUEL', 'false') == 'true'
UPDATE_FUEL_PATH = os.environ.get('UPDATE_FUEL_PATH', '~/fuel/pkgs/') 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_PLUGIN_PATH = os.environ.get('EMC_PLUGIN_PATH')
EMC_SP_A_IP = os.environ.get('EMC_SP_A_IP') EMC_SP_A_IP = os.environ.get('EMC_SP_A_IP')