示例#1
0
文件: backend.py 项目: lichnak/catnip
def get_client(session):
    if settings.AUTH_TYPE == "cloudkitty-noauth":
        auth = ck_auth.CloudKittyNoAuthPlugin(endpoint=settings.AUTH_URL)
        client = ck_client.Client(settings.CLOUDKITTY_API_VERSION, auth=auth)
        return client
    elif settings.AUTH_TYPE == "keystone":
        token_as_dict = json.loads(session["token"])
        if token_as_dict["project"]["id"]:
            auth = v3.Token(
                auth_url=settings.AUTH_URL,
                token=token_as_dict["unscoped_token"],
                project_id=token_as_dict["project"]["id"],
                reauthenticate=False,
            )
        else:
            auth = v3.Token(
                auth_url=settings.AUTH_URL,
                token=token_as_dict["unscoped_token"],
                user_project_name=token_as_dict["user_domain_name"],
                reauthenticate=False,
            )
        session = ks_session.Session(auth=auth)
        client = ck_client.Client("2", session=session)
        return client
    return None
示例#2
0
def cloudkittyclient(request):
    """Initialization of Cloudkitty client."""

    endpoint = base.url_for(request, 'rating')
    insecure = getattr(settings, 'OPENSTACK_SSL_NO_VERIFY', False)
    cacert = getattr(settings, 'OPENSTACK_SSL_CACERT', None)
    return ck_client.Client('1',
                            endpoint,
                            token=(lambda: request.user.token.id),
                            insecure=insecure,
                            cacert=cacert)
def cloudkittyclient(request):
    """Initialization of Cloudkitty client."""
    cacert = getattr(settings, 'OPENSTACK_SSL_CACERT', None)
    insecure = getattr(settings, 'OPENSTACK_SSL_NO_VERIFY', False)
    auth_url = getattr(settings, 'OPENSTACK_KEYSTONE_URL', None)
    auth = Token(
        auth_url,
        token=request.user.token.id,
        project_id=request.user.project_id,
        domain_id=request.user.domain_id,
    )
    return ck_client.Client('1', auth=auth, cacert=cacert, insecure=insecure)
示例#4
0
 def client(self):
     if self._client is None:
         self.cloud = self.cloud_config.get_one_cloud(argparse=self.options)
         session = self.cloud.get_session()
         adapter_options = dict(
             service_type=(self.options.os_rating_service_type
                           or self.options.os_service_type),
             service_name=(self.options.os_rating_service_name
                           or self.options.os_service_name),
             interface=(self.options.os_rating_interface
                        or self.options.os_interface),
             region_name=self.options.os_region_name,
             endpoint_override=(self.options.os_rating_endpoint_override
                                or self.options.os_endpoint_override),
         )
         self._client = client.Client(str(self.options.ck_version),
                                      session=session,
                                      adapter_options=adapter_options)
     return self._client
示例#5
0

#auth = v3.Password(auth_url='http://10.81.1.80:5000/v3', user_id='d6d7abde8b3541dd83c913cfa59672a9',  password='******',project_id='7f74bac0c5624988a0815d4aaf2ff049')
#sess = session.Session(auth=auth)

#sess= session.Session( auth=v3.Password(auth_url='http://10.81.1.80:5000/v3', username='******',  password='******',project_id='7f74bac0c5624988a0815d4aaf2ff049',user_domain_id='default'))
sess = session.Session(auth=v3.Password(auth_url='http://10.81.1.80:5000/v3',
                                        username='******',
                                        password='******',
                                        project_name='admin',
                                        user_domain_id='default',
                                        project_domain_id='default'))
keystone = client.Client(session=sess, include_metadata=True)
resp = keystone.projects.list()

#cloudkitty
from cloudkittyclient import client as cloudkitty_client
cc = cloudkitty_client.Client(1, session=sess)

p(cc.report.get_summary(groupby=['res_type']))

#nova api
from novaclient import client as nova_client
nova = nova_client.Client(2, session=sess)
nova.servers.list()

#gnocchi
from gnocchiclient import client as gnocchi_client
g = gnocchi_client.Client(1, session=sess)
pp(dir(g))