Rabbitmq vhost and user support#1052
Rabbitmq vhost and user support#1052lmiccini wants to merge 2 commits intoopenstack-k8s-operators:mainfrom
Conversation
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/190f4bb7eca7441d8e42567b23824058 ✔️ openstack-meta-content-provider SUCCESS in 3h 29m 35s |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/e49f704cb10943c295aeec1583a8186e ✔️ openstack-meta-content-provider SUCCESS in 3h 20m 36s |
|
recheck |
047781d to
c449b78
Compare
|
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. |
c449b78 to
b5594d1
Compare
| cellDatabaseInstance: openstack | ||
| cellDatabaseAccount: nova-cell0 | ||
| hasAPIAccess: true | ||
| memcachedInstance: memcached |
There was a problem hiding this comment.
so in this case we expect cell 0 to be using the the rabbitmq rabit cluster
based on teh default of CellMessageBusInstance in the cell template.
// +kubebuilder:validation:Optional
// +kubebuilder:default=rabbitmq
// CellMessageBusInstance is the name of the RabbitMqCluster CR to select
// the Message Bus Service instance used by the nova services to
// communicate in this cell. For cell0 it is unused.
CellMessageBusInstance string `json:"cellMessageBusInstance"`
relying on the implict defaulting is nova very clear.
| messagingBus: | ||
| cluster: rabbitmq | ||
| notificationsBus: | ||
| cluster: rabbitmq |
There was a problem hiding this comment.
while this is possibel to do that goes against best practices so this is nto somethin we shoudl supprot downstream
unlike with cells im ok with not blocking this in the webhook since it does not fundementally unermine how cells are desgien to work.
it generally recomemnted upstream for moderate to large clouds that each service uses its own rabbit instnace and notifications are kept sepreate form rpc trafic.
that using seperate notification really shoudl be the only deployment model we supprot downstream but its technially valid so we can supprot it in the operator. in a very small cloud i.e. less then 50 comptues its viable but its not somethign we shoudl ever default too or recommend for most clouds.
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/ca4ac87ba47c49098e4da429204a102a ✔️ openstack-meta-content-provider SUCCESS in 5h 06m 17s |
b5594d1 to
a55d41f
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lmiccini The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
f5fe07a to
d5bf4bf
Compare
|
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. |
d5bf4bf to
95599f7
Compare
|
/test functional |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/61a27248f6d44ffb9c3ef2fb8f54d1c2 ✔️ openstack-meta-content-provider SUCCESS in 3h 13m 00s |
95599f7 to
6c79605
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/c37d46757ba74c90bc5d68c446753ce7 ✔️ openstack-meta-content-provider SUCCESS in 1h 00m 02s |
6c79605 to
72840d4
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/d6214ce4dde54e78b263373c857bdcbe ❌ openstack-meta-content-provider FAILURE in 6m 50s |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/17055cd6ff87400794e6a86feee861ac ❌ openstack-meta-content-provider FAILURE in 7m 26s |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/cef65f09fdcc4908af429ca5f7617228 ❌ openstack-meta-content-provider FAILURE in 7m 32s |
aff29e9 to
8130899
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/e6c3bf90d07b4de2975a530265257caa ❌ openstack-meta-content-provider FAILURE in 7m 31s |
8130899 to
145dc1d
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/1df0f71b7ce84136bb6cbde9a4157791 ❌ openstack-meta-content-provider FAILURE in 10m 42s |
|
recheck |
| if spec.MessagingBus.Cluster == "" { | ||
| spec.MessagingBus.Cluster = "rabbitmq" | ||
| } | ||
|
|
There was a problem hiding this comment.
should we have validation and default assigment incuded for spec.MessagingBus.user too
general question, so I am not sure why we need to update webhook to set this value here.
I thought webhook is for genral validation of var we set in CR's - like to restrict wrong conf and I generally use webhook to test my live code make run-with-webhook so that to provide pre-requisite
can you tell or @SeanMooney if around !
145dc1d to
0fcbd76
Compare
|
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. |
|
recheck |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/493ddad7105949d181ad22f0b1220fef ❌ openstack-meta-content-provider FAILURE in 14m 04s |
|
recheck |
Add new messagingBus and notificationsBus interfaces to hold cluster,
user and vhost names for optional usage.
The controller adds these values to the TransportURL create request when present.
Additionally, we migrate RabbitMQ cluster name to RabbitMq config struct
using DefaultRabbitMqConfig from infra-operator to automatically
populate the new Cluster field from legacy RabbitMqClusterName.
Example usage:
spec:
messagingBus:
cluster: rpc-rabbitmq
user: rpc-user
vhost: rpc-vhost
notificationsBus:
cluster: notifications-rabbitmq
user: notifications-user
vhost: notifications-vhost
Finally, we add the rabbitmquser crs to the secret so they can be
stored for dataplane finalizers management and do auto cleanup of orphaned
users after credential rotations.
Jira: https://issues.redhat.com/browse/OSPRH-22697
0fcbd76 to
ebc58fb
Compare
|
This change depends on a change that failed to merge. Change openstack-k8s-operators/openstack-operator#1797 is needed. |
|
recheck |
|
/test functional |
|
@lmiccini: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/test functional |
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/be6eb187439e41ce8a142ef3201d3578 ✔️ openstack-meta-content-provider SUCCESS in 1h 04m 30s |
|
recheck |
1 similar comment
|
recheck |
|
This change depends on a change that failed to merge. Change openstack-k8s-operators/openstack-operator#1797 is needed. |
|
recheck |
Add new messagingBus and notificationsBus interfaces to hold cluster, user and vhost names for optional usage.
The controller adds these values to the TransportURL create request when present.
Additionally, we migrate RabbitMQ cluster name to RabbitMq config struct using DefaultRabbitMqConfig from infra-operator to automatically populate the new Cluster field from legacy RabbitMqClusterName.
Example usage:
Jira: https://issues.redhat.com/browse/OSPRH-22697
Depends-on: openstack-k8s-operators/openstack-operator#1797