-
Notifications
You must be signed in to change notification settings - Fork 49
[tlse] tls support for telemetry aodh #310
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
[tlse] tls support for telemetry aodh #310
Conversation
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
6ca03b5 to
12fd78e
Compare
|
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/4795191de5ce4ac6846c8a4335e78376 ❌ openstack-k8s-operators-content-provider FAILURE in 6m 35s |
12fd78e to
c4ece80
Compare
|
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/56ed12fb47e94332926921972de87cbb ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 21m 50s |
vyzigold
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this is still WIP, but I took a brief look. So far it looks good except for that one comment I left.
I have a question regarding the CA certs mounted to the containers. We have a bug either in the operator or in aodh. Because of that aodh seems to be ignoring its configuration and it's always using public endpoint for keystone. So the question is if the CA certs are the same for internal and public endpoints? Will aodh be able to connect to public keystone endpoint after we're done with the TLS efforts?
api/v1beta1/autoscaling_types.go
Outdated
| // +kubebuilder:validation:Optional | ||
| // +operator-sdk:csv:customresourcedefinitions:type=spec | ||
| // TLS - Parameters related to the TLS | ||
| TLS tls.API `json:"tls,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would make a bit more sense inside the Aodh struct above, since this is configuring TLS for aodh.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are using two CAs - one for public and one for internal endpoints, and the combined-ca-bundle.pem file incorporates the CAs for both public and internal endpoints. There's also the possibility to provide service specific CA through ca.crt.
So, the aodh should be able to connect to the public keystone.
For more info --> https://github.com/openstack-k8s-operators/docs/blob/main/tls.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc: @stuggi
c4ece80 to
159dc88
Compare
|
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/dec7c0638eb044219cf33ef77c44d9b8 ❌ openstack-k8s-operators-content-provider FAILURE in 6m 13s |
159dc88 to
a809063
Compare
|
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/c7cb304147054a859737d3280795b691 ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 23m 55s |
|
Currently the volumes and volume mounts in both ceilometer and aodh are not correctly created. Working on it. |
1f46715 to
15348e8
Compare
|
Build failed (check pipeline). Post https://review.rdoproject.org/zuul/buildset/33039054729c4b7a896439cb1d4b975b ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 54m 49s |
|
Looks like this is hitting the same issue as Emma's and mine PR, where the infra-operator resources are trying to pull incorrect images: https://logserver.rdoproject.org/10/310/15348e87af91e03038ba3320535d3553e9ace717/github-check/podified-multinode-edpm-deployment-crc/89a8845/controller/ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/namespaces/openstack/pods/memcached-0/memcached-0-describe |
|
We had the same issue here: #284 . It should be fixed, so next run should get the CI further. |
The issue is resolved in openstack-k8s-operators/openstack-operator#643 |
a03a641 to
f10a866
Compare
b65f80b to
5a4f3c8
Compare
Yep, that was it. Thanks a lot! |
d22bef9 to
dc095f8
Compare
Public/Internal service cert secrets and the CA bundle secret can be passed to configure httpd virtual hosts for tls termination. The certs are directly mounted to /var/lib/config-data/* and coppied to the appropriate place in etc/pki/tls/certs/%s.crt|key and a CA bundle to /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem . Job deployments for bootstrap/cron get the CA bundle added if configured. Signed-off-by: Veronika Fisarova <[email protected]> Depends-On: openstack-k8s-operators/lib-common#428
|
I read through the PR once again and I don't have anything to add. Thank you. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Deydra71, vyzigold 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 |
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Creates the telemetry aodh route and svc overrides.
Creates certs for k8s service of the service operator when
spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal
endpoints, this has to be set for each of them for, like:
~~~
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
~~~
Depends-On: openstack-k8s-operators/lib-common#428
Depends-On: openstack-k8s-operators#620
Depends-On: openstack-k8s-operators/telemetry-operator#310
Depends-On: openstack-k8s-operators/telemetry-operator#327
Depends-On: openstack-k8s-operators/telemetry-operator#330
Signed-off-by: Veronika Fisarova <[email protected]>
Public/Internal service cert secrets and the CA bundle secret can be passed to configure httpd virtual hosts for tls termination. The certs get direct mounted to the appropriate place in etc/pki/tls/certs/%s.crt|key and a CA bundle to /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem . Job deployments for bootstrap/cron get the CA bundle added if configured.
Depends-On: openstack-k8s-operators/lib-common#428
Jira: https://issues.redhat.com/browse/OSPRH-4197