Skip to content

clientconfig: No endpoint found in service catalog for system_scope requests #166

@ZdenekPesek

Description

@ZdenekPesek

Hello,

lately I tried to work with nova aggregates in terraform (openstack_compute_aggregate_v2) and find out I am unable to work with the resource under system scope authentication.

my client setup

/etc/openstack/clouds.yaml
clouds:                                                                                                                                                                                       
  foo:                                                                                         
    profile: bar                                                                             
    auth:                                                                    
      system_scope: all

/etc/openstack/secure.yaml
clouds:
  foo:
    auth:
      password: xxx

/etc/openstack/clouds-public.yaml
public-clouds:
  bar:
    auth:
      auth_url: http://cloud.example.com:5000
      project_domain_name: default
      user_domain_name: default
      username: admin

with the client setup I can work with the aggregates via CLI (python3-openstackclient)

openstack --os-cloud foo aggregate list
openstack --os-cloud foo aggregate create ...

but terraform returns after export OS_CLOUD=foo:
Error: Error creating OpenStack compute client: No suitable endpoint could be found in the service catalog.

After some debugging, I noticed the difference between request body
for system_scope auth (missing scope part completely)

2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0: User-Agent: HashiCorp Terraform/1.0.11 (+https://www.terraform.io) Terraform Plugin SDK/1.17.2 gophercloud
/2.0.0
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0: 2022/01/07 13:49:28 [DEBUG] OpenStack Request Body: {                                                     
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:   "auth": {                                                                                               
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:     "identity": {                                                                                         
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       "methods": [                                                                                        
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         "password"                                                                                        
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       ],                                                                                                  
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       "password": {                                                                                       
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         "user": {                                                                                         
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "domain": {                                                                                     
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:             "name": "default"                                                                             
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           },                                                                                              
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "name": "admin",                                                                                
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "password": "***"                                                                               
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         }                                                                                                 
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       }                                                                                                   
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:     }                                                                                                     
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:   }                                                                                                       
2022-01-07T13:49:28.541+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0: }

and project scope (taken from another resources just for comparison)

2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0: User-Agent: HashiCorp Terraform/1.0.11 (+https://www.terraform.io) Terraform Plugin SDK/1.17.2 gophercloud
/2.0.0                                                                                                                                                                                        
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0: 2022/01/07 11:16:45 [DEBUG] OpenStack Request Body: {
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:   "auth": { 
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:     "identity": {
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       "methods": [
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         "password"
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       ],
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       "password": {                                     
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         "user": {                                      
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "domain": { 
2022-01-07T11:16:45.164+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:             "name": "default"
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           },                  
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "name": "admin",         
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "password": "***"
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         }
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       }
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:     },
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:     "scope": {
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       "project": {
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         "domain": {
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:           "name": "default"
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         },
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:         "name": "foo"
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:       }
2022-01-07T11:16:45.165+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:     }
2022-01-07T11:16:45.166+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0:   }
2022-01-07T11:16:45.166+0100 [DEBUG] provider.terraform-provider-openstack_v1.43.0: }

Adding also debug from python client and how it handles requests for project and system scope

# system scope
Using parameters {'auth_url': 'http://cloud.example.com:5000', 'system_scope': 'all', 'project_domain_name': 'default', 'username': 'admin', 'user_domain_name': 'default', 'password': '***'}

# project scope
Using parameters {'auth_url': 'http://cloud.example.com:5000', 'project_name': 'foo', 'project_domain_name': 'default', 'username': 'admin', 'user_domain_name': 'default', 'password': '***'}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions