When running a DX NetOps Topology upgrade we're seeing failures. We use the following command.
ansible-playbook -i inventory -K topology-upgrade.yaml
When running the following command we're generating additional logging to the CLI (-vvv), and redirecting it to a log file we're calling upgrade.txt (> upgrade.txt).
ansible-playbook -vvv -i inventory -K topology-upgrade.yaml > upgrade.txt
We see message entries like the following in the resulting upgrade.txt file.
failed: [KafkaBroker1 -> MYSQL(<MySqlHost_IP>)] (item=<LocalIP>) => {
"ansible_loop_var": "item",
"changed": false,
"item": "<LocalIP>",
"module_stderr": "Shared connection to <MySqlHost_IP> closed.\r\n",
"module_stdout": " File \"/home/topology/.ansible/tmp/ansible-tmp-1776887527.301096-2502215-108220191925627/AnsiballZ_command.py\", line 3\r\n from __future__ import annotations\r\n ^\r\nSyntaxError: future feature annotations is not defined\r\n",
"msg": "Module result deserialization failed: No start of json char found",
"rc": 1
This is another example.
<<MySqlHost_IP>> ESTABLISH SSH CONNECTION FOR USER: topology
<<MySqlHost_IP>> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="topology"' -o ConnectTimeout=10 -o 'ControlPath="/home/topology/.ansible/cp/81fb537491"' -o NumberOfPasswordPrompts=1 -tt <MySqlHost_IP> '/bin/sh -c '"'"'/usr/bin/python3 /home/topology/.ansible/tmp/ansible-tmp-1776887528.7768073-2502246-172193593170388/AnsiballZ_command.py && sleep 0'"'"''
<<MySqlHost_IP>> (1, b' File "/home/topology/.ansible/tmp/ansible-tmp-1776887528.7768073-2502246-172193593170388/AnsiballZ_command.py", line 3\r\n from __future__ import annotations\r\n ^\r\nSyntaxError: future feature annotations is not defined\r\n', b'Shared connection to <MySqlHost_IP> closed.\r\n')
<<MySqlHost_IP>> Failed to connect to the host via ssh: Shared connection to <MySqlHost_IP> closed.
All Supported Releases
The inventory yaml file has the incorrect IP set for the Portal MySql host. It was a simple typo where a zero was mistakenly replaced with a one.
Update the inventory yaml file to reflect the correct IP address for the Portal MySql host.