Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NovaAPI]Fix www_authenticate_uri configuration #535

Merged

Conversation

gibizer
Copy link
Contributor

@gibizer gibizer commented Sep 18, 2023

According to the keystone middleware doc we have to set www_authenticate_uri to the public keystone endpoint as an unauthenticated user is redirected to this URL.

Our service uses the internal endpoint for auth and so far it used the internal endpoint for www_authenticate_uri as well. But this will not work for external users.

A new field is added to the NovaAPI CR to allow configuring not just the internal endpoint but also the public endpoint.

Closes: #217

@gibizer gibizer requested review from kajinamit and removed request for jamepark4 September 18, 2023 12:03
@gibizer
Copy link
Contributor Author

gibizer commented Sep 19, 2023

/test nova-operator-build-deploy

{  failed to wait for the created cluster claim to become ready: timed out waiting for the condition}

description: KeystoneAuthURL configures the keystone API endpoint
to be used by the service for authentication and authorization
type: string
keystonePublicAuthURL:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dumb question but can we look this up form the keystone catalog?

I'm not nessisarly against adding this just wondering if it is needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can. We can look for KeystoneEndpoint CRs (how the Nova controller does it to fill this value), or we can use the golang sdk and call keytone internal api to get the catalog and get the public URL. I went with the former in the nova controller as we already looking for KeystoneEndpoints there.

According to the keystone middleware doc we have to set
www_authenticate_uri to the public keystone endpoint as an
unauthenticated user is redirected to this URL.

Our service uses the internal endpoint for auth and so far it used the
internal endpoint for www_authenticate_uri as well. But this will not
work for external users.

A new field is added to the NovaAPI CR to allow configuring not just the
internal endpoint but also the public endpoint.

Closes: openstack-k8s-operators#217
@gibizer
Copy link
Contributor Author

gibizer commented Sep 22, 2023

We know that tempest will only be green again after openstack-k8s-operators/openstack-operator#457 is landed.

@gibizer
Copy link
Contributor Author

gibizer commented Sep 25, 2023

/test nova-operator-build-deploy-tempest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 2, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gibizer, SeanMooney

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit b31fdc0 into openstack-k8s-operators:main Oct 2, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The [keystone_authtoken] www_authenticate_uri option should point public url
3 participants