![Evgeniy L](/assets/img/avatar_default.png)
Change-Id: I9239562816f5a13cf85442c0f5cc7e7fd4ba8c79 Implements: blueprint plugin-major-version-for-releases
2.8 KiB
Plugin developer can specify major version in release dependencies
https://blueprints.launchpad.net/fuel/+spec/plugin-major-version-for-releases
Plugin developer should be able to specify only major version in plugin release dependencies.
Problem description
Currently there is a field in plugin's metadata which looks like:
releases:
- os: ubuntu
version: 2014.2-6.0
mode: ['ha', 'multinode']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
Where "version" is a version of Fuel OpenStack release which the plugin is compatibele with.
The problem is the plugin will not work for releases with versions 2014.2-6.0.1 and 2014.2.1-6.0. Also user should be able to specify specific minor version, because his plugin can have some minor specific hacks.
Proposed change
OpenStack release in Fuel consists of two parts, "<openstack version>-<fuel version>", we will split this version by "-" symbol and then get all releases with prefix <openstack version>, and all releases with prefix <fuel version>.
For example we have the releases with the next versions
- 2014.2-6.0
- 2014.2-6.0.1
- 2014.2.1-6.0
- 2014.2.1-6.0.1
- 2014.2.1-6.0.2
When user specifies 2014.2-6.0 as dependencies, all releases from the list are compatibele with the plugin.
When user specifies 2014.2.1-6.0 as dependencies, only next releases are compatibele:
- 2014.2.1-6.0.1
- 2014.2.1-6.0.2
When user specifies 2014.2-6.0.1 as dependencies, only next releases are compatibele:
- 2014.2-6.0.1
- 2014.2.1-6.0.1
Also user can specify exact version of release which is compatibele with the plugin 2014.2.1-6.0.1
Alternatives
None
Data model impact
None
REST API impact
None
Upgrade impact
None
Security impact
None
Notifications impact
None
Other end user impact
None
Performance Impact
None
Plugin impact
Described above.
Other deployer impact
None
Developer impact
None
Implementation
Assignee(s)
Primary assignee:
Work Items
- Fix compatibility parsing on Nailgun side
Dependencies
None
Testing
Cases are described in Proposed changes section.
Documentation Impact
Parsing logic should be described in plugins documentation.
References
None