def __init__(self, host='127.0.0.1', version='2', port=None, user='******', password=None, debug=False, project=None, domain='Default', auth_url=None, ca_file=None, external_network=None): self.debug = debug self.host = host loader = loading.get_plugin_loader('password') auth = loader.load_from_options(auth_url=auth_url, username=user, password=password, project_name=project, user_domain_name=domain, project_domain_name=domain) if ca_file is not None: sess = session.Session(auth=auth, verify=os.path.expanduser(ca_file)) else: sess = session.Session(auth=auth) self.nova = novaclient.Client(version, session=sess) self.glance = glanceclient(version, session=sess) self.cinder = cinderclient.Client(version, session=sess) self.neutron = neutronclient(session=sess) self.conn = self.nova self.project = project self.external_network = external_network return
def __init__(self, host='127.0.0.1', version='2', port=None, user='******', password=None, debug=False, project=None, domain='Default', auth_url=None): self.debug = debug self.host = host loader = loading.get_plugin_loader('password') auth = loader.load_from_options(auth_url=auth_url, username=user, password=password, project_name=project, user_domain_name=domain, project_domain_name=domain) sess = session.Session(auth=auth) self.nova = novaclient.Client(version, session=sess) self.glance = glanceclient(version, session=sess) self.cinder = cinderclient.Client(version, session=sess) self.neutron = neutronclient(session=sess) self.conn = self.nova self.project = project return
def get_glance(self, version='2'): """Get a glance client instance. :param version: String api version :return: glanceclient.Client """ if self.glance is None: self.glance = glanceclient(version, session=self.get_session()) return self.glance
def get_glance(self, version='2', scope='project'): """Get a glance client instance. :param version: String api version :return: glanceclient.Client """ if self.glance is None: sess = self.get_session(scope=scope) self.glance = glanceclient(version, session=sess) return self.glance
def vm_create(self, image=None, flavor=None, name=None): if image is None: image = self.image if flavor is None: flavor = self.flavor if name is None: name = "vm" + str(self.count) self.count += 1 session = self.authenticate() nics = self.network_cfg() nova = novaclient.Client('2.1', session=session) glance = glanceclient('2', session=session) vm_flavor = nova.flavors.find(name=flavor) images = list(glance.images.list()) image_mapping = {x['name']: x['id'] for x in images} vm_image = image_mapping[image] instance = nova.servers.create(name, vm_image, vm_flavor, nics=nics) self.vms[name] = instance return name
print "Found a glance endpoint at {}".format(glance_endpoint) for tenant in keystone.tenants.list(): if tenant.name == 'service': svc_tenant = tenant.id break if not svc_tenant: print "can't find service tenant, bailing" sys.exit(0) token = keystone.auth_token from glanceclient import Client as glanceclient gc = glanceclient('1', endpoint=glance_endpoint, token=token) router_images = [] servers = {} for server in novac.servers.list(True, {'all_tenants': 1}): ## Skip anything that doesn't look like a router instance router = 0 try: image_id = server.image.get('id') except AttributeError: image_id = False if image_id: gc.images.get(image_id) try:
def get_glance_client(): return glanceclient(version='2', session=get_session())
def setup_glanceclient(): sess = get_admin_session() gl = glanceclient('2', session=sess) return gl
USERNAME = "******" PASSWORD = "******" PROJECT_NAME = "admin" auth = v2.Password(auth_url=AUTH_URL, username=USERNAME, password=PASSWORD, tenant_name=PROJECT_NAME) sess = session.Session(auth=auth) nova = novaclient.Client("2", session=sess) OS_IMAGE_ENDPOINT = auth.get_endpoint(sess, interface="public", service_type="image") OS_AUTH_TOKEN = auth.get_token(sess) # Glance Identity glance = glanceclient('2', endpoint=OS_IMAGE_ENDPOINT, token=OS_AUTH_TOKEN) # Cinder Identity # Default: version 2 # Version 1 cinder = cinderclient.Client("1", USERNAME, PASSWORD, PROJECT_NAME, AUTH_URL) # Time Out TIMEOUT = 120 # Instance Name VM_NAME = "test1"
## Cinder cinder = cinderclient.Client(username, password, project_name, auth_url) vols = cinder.volumes.list() print vols ## Glance GLANCE_ENDPOINT = 'https://glance.kaizen.massopencloud.org:9292' loader = loading.get_plugin_loader('password') auth = loader.load_from_options(auth_url=auth_url, username=username, password=password, project_id=project_id) session = session.Session(auth=auth) glance = glanceclient('2', endpoint=GLANCE_ENDPOINT, session=session) for img in glance.images.list(): print img ## Swift ## Swiftclient offers both a higher level API called SwiftService, and a lower level API called SwiftClient ## SwiftService interface # SwiftService API will actually use your environment auth variables if they are not specified in the script, # but here is how to specify them explicitly: options = { "auth_version": '2.0', "os_username": username,