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:
@@ -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,
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user