diff --git a/acceptancetests/assess_budget.py b/acceptancetests/assess_budget.py index ec2183821f5..21008b5d505 100755 --- a/acceptancetests/assess_budget.py +++ b/acceptancetests/assess_budget.py @@ -14,11 +14,12 @@ from random import randint import subprocess import sys +import os +from deploy_stack import ( + BootstrapManager, + ) -from jujupy import ( - client_from_config, -) from utility import ( add_basic_testing_arguments, JujuAssertionError, @@ -242,11 +243,31 @@ def parse_args(argv): return parser.parse_args(argv) +def set_controller_cookie_file(): + """Plant pre-generated cookie file to avoid launching Browser.""" + user_home = os.getenv('HOME', default='/var/lib/jenkins') + juju_home = os.getenv('JUJU_HOME', default='/var/lib/jenkins/cloud-city') + ctrl_name = os.getenv('JOB_NAME', default='budget-management') + cookies_source = '{}/go-cookies-extended'.format(user_home) + cookies_target = '{}/jes-homes/{}/cookies/{}.json'.format(juju_home, + ctrl_name, + ctrl_name) + try: + subprocess.check_output(['cp', cookies_source, cookies_target], + stderr=subprocess.STDOUT) + log.info('Cookie file go-cookies-extended has been planted.') + except subprocess.CalledProcessError as e: + log.info(e.output) + raise + + def main(argv=None): args = parse_args(argv) configure_logging(args.verbose) - client = client_from_config(args.env, args.juju_bin, False) - assess_budget(client) + bs_manager = BootstrapManager.from_args(args) + with bs_manager.booted_context(args.upload_tools): + set_controller_cookie_file() + assess_budget(bs_manager.client) return 0