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