undercloud ffu breaks novajoin
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Michele Baldessari |
Bug Description
After a queens -> train FFU novajoin is broken (seen first via rhbz#1901157)
2020-11-24 20:01:31.569 7 CRITICAL join [-] Unhandled error: amqp.exceptions
ism AMQPLAIN. For details see the broker logfile.
2020-11-24 20:01:31.569 7 ERROR join Traceback (most recent call last):
2020-11-24 20:01:31.569 7 ERROR join File "/usr/bin/
2020-11-24 20:01:31.569 7 ERROR join sys.exit(main())
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join server.start()
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join log_after, timeout_timer)
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join post_fn = fn()
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join states[
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self.listener = self._create_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self._batch_timeout
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join targets_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join conn = self._get_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join purpose=purpose)
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self.connection = connection_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join return self.connection
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self.ensure_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self.connection
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join callback)
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join return fun(*args, **kwargs)
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join return self.connection
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self._connection = self._establish
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join conn = self.transport.
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join conn.connect()
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join self.drain_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join while not self.blocking_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join return self.on_
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join callback(channel, method_sig, buf, None)
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join method_sig, payload, content,
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join listener(*args)
2020-11-24 20:01:31.569 7 ERROR join File "/usr/lib/
2020-11-24 20:01:31.569 7 ERROR join (class_id, method_id), ConnectionError)
2020-11-24 20:01:31.569 7 ERROR join amqp.exceptions
Server side it gives us:
2020-11-24 20:12:31.426 [error] <0.5096.1> Error on AMQP connection <0.5096.1> (192.168.24.1:57254 -> 192.168.24.1:5672, state: starting):
AMQPLAIN login refused: user 'guest' - invalid credentials
So the novajoin connects via:
[root@undercloud-0 novajoin]# grep -v ^# join.conf |grep -i '[a-z]' |grep ^transport_url
transport_
Everyone else connects via a randomly generated username:
[root@undercloud-0 puppet-generated]# grep -ir ^transport_url | cut -f2- -d: |sort |uniq -c |sort -n -r
16 transport_
1 transport_
So it seems to me that novajoin is using 'guest' where it should not. Although on a clean new osp16 deployments we have:
[root@undercloud-0 puppet-generated]# grep -ir ^transport_url | cut -f2- -d: |sort |uniq -c |sort -n -r
17 transport_
That random rabbit user name came from:
[root@undercloud-0 stack]# grep RpcUser tripleo-
RpcUserName: bf2065d34572247
So on the undercloud on queens we randomized the rabbitmq username, whereas on train we use guest as the rabbitmq undercloud username. Now the upgrade in python-
On a clean queens install we have:
[root@undercloud-0 rabbitmq]# grep rabbit /home/stack/
undercloud_
undercloud_
undercloud_
These get translated as follows during a UC upgrade:
[root@undercloud-0 openstack-
NotifyPassword: y2dkTWz1Oc74PmR
RabbitCookie: 5059f7a464386fc
RabbitPassword: 33d8b46fd381503
RpcPassword: 33d8b46fd381503
RpcUserName: bf2065d34572247
The problem is that novajoin uses RabbitUserName and we only translate the rabbit_user_name to RpcUserName which novajoin does not use
Changed in tripleo: | |
milestone: | wallaby-1 → wallaby-2 |
Changed in tripleo: | |
milestone: | wallaby-2 → wallaby-3 |
Changed in tripleo: | |
milestone: | wallaby-3 → wallaby-rc1 |
This issue was fixed in the openstack/ tripleo- heat-templates 12.4.2 release.