Comment 8 for bug 2051365

Revision history for this message
Christopher Bartz (bartz) wrote :

Thank you, Ian, for picking up on this.

The logs give me:

unit-rabbitmq-server-0: 09:15:30 INFO unit.rabbitmq-server/0.juju-log coordinator.Serial Loading state
unit-rabbitmq-server-0: 09:15:30 INFO unit.rabbitmq-server/0.juju-log coordinator.Serial Leader handling coordinator requests
unit-rabbitmq-server-0: 09:15:30 WARNING unit.rabbitmq-server/0.juju-log min-cluster-size is not defined, race conditions may occur if this is not a single unit deployment.
unit-rabbitmq-server-0: 09:15:30 DEBUG unit.rabbitmq-server/0.juju-log Must assume this is a single unit returning 'cluster' ready
unit-rabbitmq-server-0: 09:15:31 DEBUG unit.rabbitmq-server/0.juju-log Running ['/usr/sbin/rabbitmqctl', 'change_password', 'flask-rabbitmq', 'Z2Ygxz5krTHmKbWLRksCFFpJdqP5sCs3cnjStLK5V84954jnJ9JjSMFN7L4YtN3J']
unit-rabbitmq-server-0: 09:15:31 DEBUG unit.rabbitmq-server/0.rotate-service-user-password Changing password for user "flask-rabbitmq" ...
unit-rabbitmq-server-0: 09:15:31 INFO unit.rabbitmq-server/0.juju-log Changed password on rabbitmq for user: flask-rabbitmq
unit-rabbitmq-server-0: 09:15:31 INFO unit.rabbitmq-server/0.juju-log Updating password on key private-address on relation_id: amqp:8
unit-rabbitmq-server-0: 09:15:31 INFO unit.rabbitmq-server/0.juju-log coordinator.Serial Publishing state

For context, we are trying to create a cross-integration from a flask application on k8s to rabbitmq, its kind of an experiment at the moment, so there is no charm published on charmhub. If you want to reproduce it, I have put the charm on https://github.com/cbartz/flask-rabbitmq/raw/checkin-charm/charm/flask-rabbitmq_ubuntu-22.04-amd64.charm. You can deploy it on a k8s model and integrate with the rabbitmq-server SAAS application with

 ╰─$ juju deploy ./flask-rabbitmq_ubuntu-22.04-amd64.charm flask-rabbitmq --resource flask-app-image=cbartz/flask-rabbitmq --resource statsd-prometheus-exporter-image=prom/statsd-exporter:v0.24.0
Located local charm "flask-rabbitmq", revision 9
Deploying "flask-rabbitmq" from local charm "flask-rabbitmq", revision 9 on ubuntu@22.04/stable
╭─ubuntu@reactive-runner ~/flask-rabbitmq/charm ‹checkin-charm●› [microk8s:flask]
╰─$ juju integrate flask-rabbitmq rabbitmq-server

Then switch to the rabbitmq hosting model and run the password action

╭─ubuntu@reactive-runner ~/flask-rabbitmq/charm ‹checkin-charm●› [microk8s:flask]
╰─$ juju switch lxd
microk8s:admin/flask -> lxd:admin/reactive-runner
╭─ubuntu@reactive-runner ~/flask-rabbitmq/charm ‹checkin-charm●› [lxd:reactive-runner]
╰─$ juju run rabbitmq-server/0 rotate-service-user-password service-user=flask-rabbitmq
Running operation 13 with 1 task
  - task 14 on unit-rabbitmq-server-0

Waiting for task 14...

Changing password for user "flask-rabbitmq" ...

Then switch back to the k8s model and display the relational databag.

╭─ubuntu@reactive-runner ~/flask-rabbitmq/charm ‹checkin-charm●› [lxd:reactive-runner]
╰─$ juju switch microk8s
lxd:admin/reactive-runner -> microk8s:admin/flask
╭─ubuntu@reactive-runner ~/flask-rabbitmq/charm ‹checkin-charm●› [microk8s:flask]
╰─$ juju show-unit flask-rabbitmq/0
flask-rabbitmq/0:
  opened-ports: []
  charm: local:jammy/flask-rabbitmq-9
  leader: true
  life: alive
  relation-info:
  - relation-id: 12
    endpoint: amqp
    cross-model: true
    related-endpoint: amqp
    application-data: {}
    related-units:
      rabbitmq-server/0:
        in-scope: true
        data:
          egress-subnets: 10.33.194.148/32
          hostname: 10.33.194.148
          ingress-address: 10.33.194.148
          password: Z2Ygxz5krTHmKbWLRksCFFpJdqP5sCs3cnjStLK5V84954jnJ9JjSMFN7L4YtN3J
          private-address: 26pjZxCWgBbrVLnj5TN5WP2tkWnpwtMGY6SNKGxsgTJ6T3YdKgYXR49Zjs3cnHfT