-
Notifications
You must be signed in to change notification settings - Fork 55
clientconfig: No endpoint found in service catalog for system_scope requests #166
Copy link
Copy link
Closed
Description
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': '***'}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels