Skip to content

Conversation

@Deydra71
Copy link
Contributor

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

@softwarefactory-project-zuul
Copy link

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.
Warning:
Error merging github.com/openstack-k8s-operators/telemetry-operator for 310,6ca03b5a4075bcacd284d5b995483429a4fdbb94

@Deydra71 Deydra71 changed the title [tls] Support for telemetry [tlse] tls support for telemetry pod configuration Feb 19, 2024
@Deydra71 Deydra71 changed the title [tlse] tls support for telemetry pod configuration [tlse] tls support for telemetry ceilometer, aodh Feb 19, 2024
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/4795191de5ce4ac6846c8a4335e78376

openstack-k8s-operators-content-provider FAILURE in 6m 35s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/56ed12fb47e94332926921972de87cbb

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 21m 50s
podified-multinode-edpm-deployment-crc FAILURE in 1h 01m 09s

Copy link
Contributor

@vyzigold vyzigold left a 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?

// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// TLS - Parameters related to the TLS
TLS tls.API `json:"tls,omitempty"`
Copy link
Contributor

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.

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 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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

cc: @stuggi

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/dec7c0638eb044219cf33ef77c44d9b8

openstack-k8s-operators-content-provider FAILURE in 6m 13s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/c7cb304147054a859737d3280795b691

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 23m 55s
podified-multinode-edpm-deployment-crc FAILURE in 1h 00m 54s

@Deydra71
Copy link
Contributor Author

Currently the volumes and volume mounts in both ceilometer and aodh are not correctly created. Working on it.

@Deydra71 Deydra71 force-pushed the tls-support branch 2 times, most recently from 1f46715 to 15348e8 Compare February 21, 2024 11:02
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://review.rdoproject.org/zuul/buildset/33039054729c4b7a896439cb1d4b975b

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 54m 49s
podified-multinode-edpm-deployment-crc FAILURE in 1h 01m 45s
telemetry-operator-multinode-autoscaling FAILURE in 1h 34m 21s

@vyzigold
Copy link
Contributor

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

@vyzigold
Copy link
Contributor

We had the same issue here: #284 . It should be fixed, so next run should get the CI further.

@elfiesmelfie
Copy link
Contributor

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

@Deydra71 Deydra71 force-pushed the tls-support branch 2 times, most recently from a03a641 to f10a866 Compare February 22, 2024 13:36
@Deydra71
Copy link
Contributor Author

I believe you need to edit this file as well:

- tests/kuttl/suites/metricstorage/

. I hope that's enough to get them executed.

Yep, that was it. Thanks a lot!

@Deydra71 Deydra71 changed the title [tlse] tls support for telemetry ceilometer, aodh [tlse] tls support for telemetry aodh Mar 1, 2024
@Deydra71 Deydra71 force-pushed the tls-support branch 2 times, most recently from d22bef9 to dc095f8 Compare March 1, 2024 11:56
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
@vyzigold
Copy link
Contributor

vyzigold commented Mar 5, 2024

I read through the PR once again and I don't have anything to add. Thank you.
/approve
/lgtm

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 5, 2024

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved label Mar 5, 2024
@openshift-merge-bot openshift-merge-bot bot merged commit 2385f25 into openstack-k8s-operators:main Mar 5, 2024
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 7, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 7, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 11, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 11, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 11, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 12, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 12, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 13, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 14, 2024
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]>
Deydra71 added a commit to Deydra71/openstack-operator that referenced this pull request Mar 14, 2024
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]>
stuggi pushed a commit to stuggi/openstack-operator that referenced this pull request Apr 9, 2024
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]>
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.

4 participants