コード例 #1
0
def marker_security_group():
    cloud = cloudseed.cloud.Cloud(__opts__)
    vm_ = cloud.vm_profile('master')
    provider = cloud.provider_profile_full(vm_)

    # this should be an array with at LEAST our
    # cloudseed marker in tow if not more, assuming it was
    # bootstrapped through cloudseed
    provider_groups = provider.get('securitygroup', [])

    try:
        # len 3
        # cloudseed-project-env
        return next(x for x in provider_groups
                    if x.startswith('cloudseed') and len(x.split('-')) == 3)
    except StopIteration:
        return None
コード例 #2
0
ファイル: ec2.py プロジェクト: cloudseed-project/cloudseed2
def marker_security_group():
    cloud = cloudseed.cloud.Cloud(__opts__)
    vm_ = cloud.vm_profile('master')
    provider = cloud.provider_profile_full(vm_)

    # this should be an array with at LEAST our
    # cloudseed marker in tow if not more, assuming it was
    # bootstrapped through cloudseed
    provider_groups = provider.get('securitygroup', [])

    try:
        # len 3
        # cloudseed-project-env
        return next(x for x in provider_groups
                    if x.startswith('cloudseed') and
                    len(x.split('-')) == 3)
    except StopIteration:
        return None
コード例 #3
0
ファイル: ec2.py プロジェクト: cloudseed-project/cloudseed2
def bootstrap_master(vm_, cloud):
    provider = cloud.provider_profile_full(vm_)

    provider['ssh_interface'] = 'public_ips'
    append_data = {}

    if not provider.get('keyname', False):
        keyname = '%s-%s' % (env.location_name(), env.env_name())

        filename = os.path.join(
            env.current_env_path(),
            'salt',
            '%s.pem' % keyname)

        bootstrap_create_keypair(keyname, filename)

        # set it for the current command
        provider['keyname'] = keyname
        provider['private_key'] = filename

        append_data['keyname'] = keyname
        append_data['private_key'] = 'cloudseed/current/salt/%s.pem' % keyname

    else:
        if not os.path.isabs(provider['private_key']):
            new_path = os.path.abspath(provider['private_key'])
            provider['private_key'] = new_path

    groups = bootstrap_master_security_groups(vm_, provider)
    append_data['securitygroup'] = groups

    # write down and new data
    if append_data:
        provider_bytes = filesystem.read_file(cloud.opts['providers_config'])
        provider_data = yaml.load(provider_bytes)
        alias, driver = vm_['provider'].split(':')

        target = provider_data[alias]
        target.update(append_data)
        writers.write_yaml(cloud.opts['providers_config'], provider_data)
コード例 #4
0
def bootstrap_master(vm_, cloud):
    provider = cloud.provider_profile_full(vm_)

    provider['ssh_interface'] = 'public_ips'
    append_data = {}

    if not provider.get('keyname', False):
        keyname = '%s-%s' % (env.location_name(), env.env_name())

        filename = os.path.join(env.current_env_path(), 'salt',
                                '%s.pem' % keyname)

        bootstrap_create_keypair(keyname, filename)

        # set it for the current command
        provider['keyname'] = keyname
        provider['private_key'] = filename

        append_data['keyname'] = keyname
        append_data['private_key'] = 'cloudseed/current/salt/%s.pem' % keyname

    else:
        if not os.path.isabs(provider['private_key']):
            new_path = os.path.abspath(provider['private_key'])
            provider['private_key'] = new_path

    groups = bootstrap_master_security_groups(vm_, provider)
    append_data['securitygroup'] = groups

    # write down and new data
    if append_data:
        provider_bytes = filesystem.read_file(cloud.opts['providers_config'])
        provider_data = yaml.load(provider_bytes)
        alias, driver = vm_['provider'].split(':')

        target = provider_data[alias]
        target.update(append_data)
        writers.write_yaml(cloud.opts['providers_config'], provider_data)