Example #1
0
 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
Example #2
0
 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
Example #3
0
    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
Example #4
0
    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())
Example #8
0
def setup_glanceclient():
    sess = get_admin_session()
    gl = glanceclient('2', session=sess)
    return gl
Example #9
0
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"
Example #10
0
## 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,