Nested 'path' query param in console URL breaks serialproxy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
melanie witt | ||
Rocky |
Fix Committed
|
High
|
melanie witt | ||
Stein |
Fix Committed
|
High
|
melanie witt | ||
Train |
Fix Committed
|
High
|
melanie witt |
Bug Description
Description
===========
Change I2ddf0f4d768b69
While this was necessary for NoVNC support, it appears to have broken Ironic serial consoles, which use the nova-serialproxy service, which apparently is not aware that it needs to parse the token in this manner. It uses websockify.
To test, I enabled debug mode and added some extra logging in the nova-serialproxy to prove that "token" was empty in this function: https:/
Steps to reproduce
==================
1. Have Ironic set up to allow web/serial consoles (https:/
2. Launch an Ironic instance and attempt to access the console via Horizon.
Expected result
===============
The serial console loads in the web interface; "Status: Opened" is displayed in the bottom. Console is interactive assuming the node has booted properly.
Actual result
=============
The serial console loads, but is blank; "Status: Closed" is displayed in the bottom. nova-serialproxy logs indicate the token was expired or invalid. The console never becomes interactive, but does not indicate there is an error in Horizon (at least on my deployment.)
Environment
===========
OpenStack Rocky release, deployed with Kolla-Ansible.
tags: | added: train-rc-potential |
I know tempest has a novnc console test, I wonder if the same is possible for ironic serial consoles in ironic CI testing so we could avoid these types of regressions in the future?