Inconsistent Behaviour in Server List
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
New
|
Undecided
|
Unassigned |
Bug Description
It looks like there are discrepancies between how `openstack server list` exits/returns depending on the output format used. Notably:
- When format is anything but `table`, "Power States" are replaced with numbers instead of being the text from usual output
- When format is anything but `table`, certain error conditions will not be met and output will become strange
These issues have been seen with openstack CLI version `6.0.0`.
## Power State Replacement
When no format is specified or table is explicitly set:
```
# openstack server list -c ID -c 'Task State' -c 'Power State' -f table
+------
| ID | Task State | Power State |
+------
| 7d698ad5-
| 9c0db4c9-
```
However, other outputs would return, for example:
```
# openstack server list -c ID -c 'Task State' -c 'Power State' -f value
7d698ad5-
9c0db4c9-
# openstack server list -c ID -c 'Task State' -c 'Power State' -f csv
"ID","Task State","Power State"
"7d698ad5-
"9c0db4c9-
```
## Error Conditions Not Met
In version 5.7.0 of the CLI, to include and filter to "Power State" and "Task State" in the list output, this would require the `--long` argument:
```
# openstack server list -c ID -c 'Task State' -c 'Power State' -f value
7d698ad5-
9c0db4c9-
# openstack server list -c ID -c 'Task State' -c 'Power State' -f value --long
7d698ad5-
9c0db4c9-
```
However, running the above command on 6.0.0 returns strange output:
```
# openstack server list -c ID -c 'Task State' -c 'Power State' -f value --long
7d698ad5-
9c0db4c9-
```
To debug this, I removed the formatting and this is when I saw an error:
```
# openstack server list -c ID -c 'Task State' -c 'Power State' -f table --long
Field names must be unique
```