def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(args.upload_tools):
        assess_block(bs_manager.client, bs_manager.series)
    return 0
Exemple #2
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    run_perfscale_test(assess_controller_stress, bs_manager, args)

    return 0
def main(argv):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(upload_tools=args.upload_tools):
        with detect_bootstrap_machine(bs_manager):
            assess_recovery(bs_manager, args.strategy, args.charm_series)
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with maas_account_from_boot_config(bs_manager.client.env) as account:
        assess_endpoint_bindings(account, bs_manager)
    return 0
def main():
    args = parse_args()
    configure_logging(max(logging.WARNING - 10 * args.verbose, logging.DEBUG))
    if args.released:
        download_released_juju(args)
    if args.revision:
        download_candidate_juju(args)
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(args.upload_tools):
        assess_user_grant_revoke(bs_manager.client)
    return 0
Exemple #7
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    run_perfscale_test(perfscale_assess_model_destruction, bs_manager, args)

    return 0
Exemple #8
0
def main():
    args = parse_args()
    configure_logging(logging.INFO)
    assess_heterogeneous(args.initial, args.other, args.base_environment,
                         args.environment_name, args.log_dir,
                         args.upload_tools, args.debug, args.agent_url,
                         args.agent_stream, args.series)
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)

    check_resources()

    assess_charmstore_resources(args.charm_bin, args.credentials_file)
    return 0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(args.upload_tools):
        assess_model_change_watcher(bs_manager.client, bs_manager.series,
                                    args.juju_bin)
    return 0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    test_kvm = '--with-virttype-kvm' in args
    with bs_manager.booted_context(args.upload_tools):
        assess_constraints(bs_manager.client, test_kvm)
    return 0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    with temp_dir() as temp:
        os.environ['JUJU_HOME'] = temp
        os.environ['JUJU_DATA'] = temp
        assess_add_credentials(args)
    return 0
def main(argv=None):
    args = parse_args(argv)
    series = args.series if args.series else 'xenial'
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(args.upload_tools):
        assess_juju_status(bs_manager.client, series)
    return 0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    bs_manager.client.enable_feature('address-allocation')
    with cleaned_bootstrap_context(bs_manager, args) as ctx:
        assess_spaces_subnets(bs_manager.client)
    return ctx.return_code
Exemple #15
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(args.upload_tools):
        _set_charm_store_ip(bs_manager.client, args.charm_store_ip)
        assess_deploy(bs_manager.client, args.charm)
    return 0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    client = client_from_config(args.env, args.juju_bin, False)
    agent_stream = args.agent_stream if args.agent_stream else 'devel'
    agent_version = get_agent_version(client)
    assess_juju_sync_tools(client, agent_stream, agent_version)
    return 0
Exemple #17
0
def main():
    """ Test Juju scale out."""
    args = parse_args()
    configure_logging(args.verbose)
    charms = args.charms
    with scaleout_setup(args) as client:
        deploy_charms(client, charms)
        for charm in charms:
            scale_out(client, charm)
Exemple #18
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    client = bs_manager.client
    machine_types = _get_container_types(client, args.machine_type)
    with cleaned_bootstrap_context(bs_manager, args):
        assess_container_networking(bs_manager.client, machine_types)
    return 0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    if (args.other_region is not None
            and args.other_region == bs_manager.client.env.get_region()):
        raise ValueError('Other region is a repeat of region.')
    with bs_manager.booted_context(args.upload_tools):
        assess_model_defaults(bs_manager.client, args.other_region)
    return 0
Exemple #20
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    client = client_from_args(args)
    bs_manager = BootstrapManager.from_client(args, client)
    if args.test == 'combined':
        assess_cloud_combined(bs_manager)
    elif args.test == 'provisioning':
        assess_cloud_provisioning(bs_manager, args.machine_series)
    else:
        assess_cloud_kill_controller(bs_manager)
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    client = bs_manager.client
    if args.image_metadata_url is not None:
        client.env.update_config('image-metadata-url',
                                 args.image_metadata_url)
    with bs_manager.booted_context(args.upload_tools):
        assess_mixed_images(bs_manager.client)
    return 0
Exemple #22
0
def main(argv=None):
    """Run many tasks concurrently."""
    args = parse_args(argv)
    configure_logging(args.verbose)
    tasks = [Task(*t, log_dir=args.log_dir) for t in args.tasks]
    try:
        names = [t.name for t in tasks]
        log.debug('Running these tasks {}'.format(names))
        run_all(list(tasks))
    except Exception:
        log.exception("Script failed while running tasks")
        return 126
    return min(100, summarise_tasks(tasks))
Exemple #23
0
def main():
    args = parse_args()
    log_level = logging.WARNING - args.verbose * (logging.WARNING -
                                                  logging.INFO)
    configure_logging(log_level)
    if args.command == 'get-juju-bin':
        return get_juju_bin(args)
    elif args.command == 'get':
        return cmd_get(args)
    elif args.command == 'get-summary':
        return cmd_get_summary(args)
    else:
        raise Exception('{} not implemented.'.format(args.command))
def deploy_job():
    args = deploy_job_parse_args()
    configure_logging(args.verbose)
    series = args.series
    if not args.logs:
        args.logs = generate_default_clean_dir(args.temp_env_name)
    if series is None:
        series = 'precise'
    charm_series = series
    # Don't need windows or centos state servers.
    if series.startswith("win") or series.startswith("centos"):
        logging.info('Setting default series to trusty for win and centos.')
        series = 'trusty'
    return _deploy_job(args, charm_series, series)
def main(argv=None):
    return_code = 1
    args = parse_args(argv)
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    with bs_manager.booted_context(args.upload_tools):
        return_code = assess_update_mongo(bs_manager.client, args.series,
                                          bs_manager.known_hosts['0'])
        log.info("Tearing down test.")
    log.info("Teardown complete.")
    if return_code == 0:
        log.info('TEST PASS')
    else:
        log.info('TEST FAIL')
    return return_code
Exemple #26
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)

    if not os.path.isfile(args.agent_file):
        raise Exception(
            "Unable to find juju agent file {}".format(args.agent_file))

    agent_stream = args.agent_stream if args.agent_stream else 'testing'

    with make_unique_tool(args.agent_file, agent_stream) as agent_dir:
        assess_metadata(args, agent_dir, agent_stream)

    with make_unique_tool(args.agent_file, agent_stream) as agent_dir:
        assess_add_cloud(args, agent_dir, agent_stream)

    return 0
Exemple #27
0
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    if args.model:
        client = client_for_existing(args.juju_bin, os.environ['JUJU_HOME'])
        start_test(client, args, None)
    else:
        bs_manager = BootstrapManager.from_args(args)
        if args.maas:
            bs_manager.client.excluded_spaces = set()
            bs_manager.client.reserved_spaces = set()
        with bs_manager.booted_context(args.upload_tools):
            if args.maas:
                start_maas_test(bs_manager.client, args)
            else:
                start_test(bs_manager.client, args, None)
    return 0
def main():
    parser = add_basic_testing_arguments(ArgumentParser())
    parser.add_argument('bundle_path',
                        help='URL or path to a bundle')
    parser.add_argument('--service-count', type=int, default=2,
                        help='Minimum number of expected services.')
    args = parser.parse_args()
    configure_logging(args.verbose)
    bs_manager = BootstrapManager.from_args(args)
    quickstart = QuickstartTest(
        bs_manager, args.bundle_path, args.service_count)
    try:
        quickstart.run()
    except LoggedException:
        sys.exit(1)
    except Exception as e:
        print('%s (%s)' % (e, type(e).__name__))
        sys.exit(1)
def main(argv=None):
    args = parse_args(argv)
    configure_logging(args.verbose)
    start_juju_path = None if args.upgrade else args.juju_bin
    client = client_from_config(args.env, start_juju_path, debug=args.debug,
                                soft_deadline=args.deadline)
    with boot_context(args.temp_env_name, client, None, [], args.series,
                      args.agent_url, args.agent_stream, args.logs,
                      args.keep_env, upload_tools=args.upload_tools,
                      region=args.region):
        assess_deployer(
            args, client, args.agent_timeout, args.workload_timeout)
        if args.bundle_verification_script:
            client_ser = pickle.dumps(client)
            logging.info('Calling bundle verification script {}'.format(
                args.bundle_verification_script))
            run_command([args.bundle_verification_script, client_ser])
    return 0
def main():
    configure_logging(logging.INFO)
    args = parse_args(None)
    default_log_dir(args)
    public_clouds = yaml_file_load('public-clouds.yaml')['clouds']
    credentials = yaml_file_load('credentials.yaml')['credentials']
    failures = []
    try:
        for failure in bootstrap_cloud_regions(public_clouds, credentials,
                                               args):
            failures.append(failure)
    finally:
        if len(failures) == 0:
            print('No failures!')
            return 0
        else:
            print('Failed:')
            for config, region, e in failures:
                print(' * {} {} {}'.format(config, region, e))
            return 1