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
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)
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)