Strings for Versions
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:/
* https:/
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
- Started by
- Completed by
- Shawn Hartsock