Strings for Versions

Registered by Shawn Hartsock

This blueprint has been superseded. See the newer blueprint "Save hypervisor version as string rather than an integer" for updated plans.

High level:
The core problem is that version numbers are not numbers. It is possible for a company to mandate a number that is not sequential, not logical, or not a number.

Detail:
hypervisor_version reported by vmwareapi, powervm, hyperv and the fake driver all use strings as their "version number" and it would make supporting new hypervisors easier if the hypervisor_version in the compute_nodes table were a string.

Based on discussions here:
* https://review.openstack.org/#/c/34685/4/nova/virt/vmwareapi/host.py
* https://bugs.launchpad.net/nova/+bug/1207058

Several hypervisors use version numbers like 1.0.0 and may not adhere to version numbers that convert to strings easily. It would facilitate support for alternate hypervisors if the column hypervisor_version could hold any version "number" string. Such as "1.0.0_beta1" for example.

Someone could have a hypothetical version... say: 1.6.0_51 ... while nobody has yet released a hypervisor with a version number like this, I don't think we should be doing things that will require us to keep revisiting this issue. I also don't think its reasonable for us to say, "you didn't use version numbers the way we want so you're out of OpenStack"

Why can't we just use strings as versions in the database?

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Shawn Hartsock

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.