null characters in oslo.message cause mistral to fail
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mistral |
Confirmed
|
Medium
|
Unassigned |
Bug Description
description of problem:
we are facing problems with RedHat OpenStack Platform 13 overcloud installation. Undercloud has been installed successfully and is operational. We already have experience with osp12 and we reused templates that worked for us in the 12 version with required changes. This is a fresh installation of undercloud - i.e. not an upgrade of an existing osp12 environment.
version-release number of selected component (if applicable):
osp13, mistral 6.0.2, heat 10.0.1, oslo-messaging 5.35.0, python-
how reproducible:
steps to reproduce:
1. deployment is started using the following command:
openstack overcloud deploy \
--templates \
--libvirt-type kvm \
--timeout 120 \
-r /home/stack/
-e /home/stack/
-e /home/stack/
-e /usr/share/
-e /home/stack/
-e /usr/share/
-e /usr/share/
-e /home/stack/
-e /home/stack/
--ntp-server 172.16.95.210
2a. in some occasions deployment is running up to this point:
started mistral workflow tripleo.
waiting for messages on queue 'tripleo' with no timeout.
removing the current plan files
uploading new plan files
started mistral workflow tripleo.
('the read operation timed out',)
2b. in some occations deployment is running up to this point:
started mistral workflow tripleo.
waiting for messages on queue 'tripleo' with no timeout.
removing the current plan files
uploading new plan files
started mistral workflow tripleo.
plan updated.
processing templates in the directory /tmp/tripleocli
unable to establish connection to https:/
actual results:
deployment stops after this point. no stack is created and no attempt of creating the stack was done.
expected results:
deployment should continue and at least reach stack creation stage or gieve some meaningful answer why it can't continue.
additional info:
in case of 2a.:
there is the following trace in /var/log/
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
2018-08-15 12:04:30.088 59391 error oslo.messaging.
in case of 2b.:
there is the following trace in /var/log/
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
2018-08-15 11:28:14.077 2880 error oslo.messaging.
further investigation shows that there are indeed invalid characters - null characters with code 'x00' in json that is being sent over the messaging bus. they are not present in the initial templates but get introduced by the message issuer. attached is the file with the intercepted message. this characters can be detected using "grep -op "\x00" message_body.txt | wc -l" or they also get showed up in vim. in the attached file first such character is encountered on the position 1694930, which complies with the stack trace referred in the case 2a. in the attached packet capture file amqp_mistral_
in this situation it is expected that json parser will fail, since \0 characters are not allowed.
why does message sender introduce this characters and how can this be avoided?
Changed in mistral: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
tags: | added: tripleo |
Changed in mistral: | |
milestone: | none → stein-1 |
tags: | added: d2a0f00e2d178a2b16055daa2d8dc5b9 |
Changed in mistral: | |
milestone: | stein-1 → none |