use the new version openstack sdk can not get a lot of paras

Bug #1748131 reported by baisen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack SDK
New
Undecided
Unassigned

Bug Description

in before like below we use the openstacksdk (0.9.19) like below

 def __init__(self, auth_url, project, username, password):
        self.res_serv_map = {}
        for serv in self.serv_reslist_map:
            for res in self.serv_reslist_map[serv]:
                self.res_serv_map[res] = serv

        self.connection_map = {}
        param = {
            'auth_url': auth_url,
            'project_name': project,
            'user_domain_name': 'default',
            'project_domain_name': 'default',
            'username': username,
            'password': password}

            conn = connection.Connection(**param)
            self.connection_map[region] = conn

(Pdb) p conn.__dict__.items()
[('profile', {'clustering': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'clustering', 'requires_project_id': False, 'api_version': None}, 'volume': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'volume', 'requires_project_id': True, 'api_version': None}, 'compute': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'compute', 'requires_project_id': False, 'api_version': None}, 'network': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'network', 'requires_project_id': False, 'api_version': None}, 'database': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'database', 'requires_project_id': False, 'api_version': None}, 'alarming': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'alarming', 'requires_project_id': False, 'api_version': None}, 'image': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'image', 'requires_project_id': False, 'api_version': None}, 'key-manager': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'key-manager', 'requires_project_id': False, 'api_version': None}, 'metering': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'metering', 'requires_project_id': False, 'api_version': None}, 'baremetal': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'baremetal', 'requires_project_id': False, 'api_version': None}, 'workflowv2': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'workflowv2', 'requires_project_id': False, 'api_version': None}, 'load-balancer': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v2', 'service_type': 'load-balancer', 'requires_project_id': False, 'api_version': None}, 'orchestration': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'orchestration', 'requires_project_id': True, 'api_version': None}, 'object-store': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'object-store', 'requires_project_id': False, 'api_version': None}, 'messaging': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v1', 'service_type': 'messaging', 'requires_project_id': False, 'api_version': None}, 'identity': {'region_name': None, 'service_name': None, 'interface': None, 'version': 'v3', 'service_type': 'identity', 'requires_project_id': False, 'api_version': None}}), ('load_balancer', <openstack.load_balancer.v2._proxy.Proxy object at 0x7f7d439c8b50>), ('block_store', <openstack.block_store.v2._proxy.Proxy object at 0x7f7d43ac1bd0>), ('compute', <openstack.compute.v2._proxy.Proxy object at 0x7f7d43ad5a90>), ('network', <openstack.network.v2._proxy.Proxy object at 0x7f7d43aa1b90>), ('database', <openstack.database.v1._proxy.Proxy object at 0x7f7d43a62650>), ('alarm', <openstack.telemetry.alarm.v2._proxy.Proxy object at 0x7f7d43a62f10>), ('workflow', <openstack.workflow.v2._proxy.Proxy object at 0x7f7d439c1950>), ('telemetry', <openstack.telemetry.v2._proxy.Proxy object at 0x7f7d43a23ed0>), ('authenticator', <keystoneauth1.identity.generic.password.Password object at 0x7f7d43d29e90>), ('cluster', <openstack.cluster.v1._proxy.Proxy object at 0x7f7d43b2b6d0>), ('session', <openstack.session.Session object at 0x7f7d43bac710>), ('identity', <openstack.identity.v3._proxy.Proxy object at 0x7f7d43997750>), ('bare_metal', <openstack.bare_metal.v1._proxy.Proxy object at 0x7f7d43a31ad0>), ('orchestration', <openstack.orchestration.v1._proxy.Proxy object at 0x7f7d439e1850>), ('message', <openstack.message.v1._proxy.Proxy object at 0x7f7d43980610>), ('image', <openstack.image.v2._proxy.Proxy object at 0x7f7d43a1a810>), ('key_manager', <openstack.key_manager.v1._proxy.Proxy object at 0x7f7d43a1ac90>), ('object_store', <openstack.object_store.v1._proxy.Proxy object at 0x7f7d439ee610>)]

as above we can get the 'network' 'image' 'compute' and so on. so we can use
proxy = getattr(conn, serv)
return getattr(proxy, 'create_%s' % _type)(**params)
to use these methonds.

but in the new version openstacksdk (0.11.3), we use the code as below, we can not get

these paras, can any one tell me why? why? why?

 def __init__(self, auth_url, project, username, password,
                 project_id, user_domain_id):
        self.res_serv_map = {}
        for serv in self.serv_reslist_map:
            for res in self.serv_reslist_map[serv]:
                self.res_serv_map[res] = serv

        self.connection_map = {}
        auth = {
            'auth_url': auth_url,
            'project_name': project,
            'user_domain_name': 'default',
            'project_domain_name': 'default',
            'username': username,
            'password': password,
            'project_id': project_id,
            'user_domain_id': user_domain_id}

        for region in ('CentralRegion', 'RegionOne', 'RegionTwo'):
            conn = connection.Connection(region_name = region,
                                         auth = auth)
 (Pdb) p conn.__dict__.items()
[('session', <keystoneauth1.session.Session object at 0x7ff8864cd0d0>), ('_proxies', {}), ('task_manager', <openstack.task_manager.TaskManager object at 0x7ff8864cd050>), ('config', <openstack.config.cloud_region.CloudRegion object at 0x7ff886d65bd0>)]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.