a1b09eaaa3
Change-Id: I4346f4a7956ada832da550e64bc1093045d1e417
4.3 KiB
4.3 KiB
MOS RPM repositories: URLs, metadata, and other interface details
Improve the API (URLs and metadata) of MOS RPM repositories
Problem description
Currently the codename is bound to the MOS release number, that is, the repo URLs look like (as documented in separate_mos_from_linux)
http://${mirror_host}/mos/centos-6/proposed
http://${mirror_host}/mos/centos-6/security
http://${mirror_host}/mos/centos-6/updates
- This stucture yields several issues:
-
- it's impossible to distinguish between repositories targeted for different Centos versions
- it's difficult to support per customer repositories
- it's impossible to distinguish between repositories targeted for fuel and openstack nodes
Proposed change
Add change the codename mos${mos_release}-${distro_codename}, so the URLs are
http://${mirror_host}/mos-repos/${distro}/mos${mos_release}-${distro}${distro_version}/os/x86_64/
http://${mirror_host}/mos-repos/${distro}/mos${mos_release}-${distro}${distro_version}/updates/x86_64/
http://${mirror_host}/mos-repos/${distro}/mos${mos_release}-${distro}${distro_version}/security/x86_64/
http://${mirror_host}/mos-repos/${distro}/mos${mos_release}-${distro}${distro_version}/holdback/x86_64/
http://${mirror_host}/mos-repos/${distro}/mos${mos_release}-${distro}${distro_version}/cr/x86_64/
Example: MOS 7.0/centos6
http://${mirror_host}/mos-repos/centos/mos7.0-centos6/os/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6/updates/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6/security/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6/holdback/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6/cr/x86_64/
Example: MOS 7.0/centos6-fuel
http://${mirror_host}/mos-repos/centos/mos7.0-centos6-fuel/os/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6-fuel/updates/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6-fuel/security/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6-fuel/holdback/x86_64/
http://${mirror_host}/mos-repos/centos/mos7.0-centos6-fuel/cr/x86_64/
Example: Customer 7.0/centos6
http://${mirror_host}/customer/centos/mos7.0-centos6/os/x86_64/
http://${mirror_host}/customer/centos/mos7.0-centos6/updates/x86_64/
http://${mirror_host}/customer/centos/mos7.0-centos6/security/x86_64/
http://${mirror_host}/customer/centos/mos7.0-centos6/holdback/x86_64/
http://${mirror_host}/customer/centos/mos7.0-centos6/cr/x86_64/
- Advantages:
-
- MOS release can target arbitrary number of Centos versions (limited only by available resources).
- It's possible to create arbitrary number of per customer (or per team) RPM repositories using codenames and custom url, but still keeping the overall structure.
- It's possible to maintain a separate set of repositories which are not intended for OpenStack nodes (say, packages relevant for Fuel master node only).
Alternatives
Data model impact
Default set of RPM repositories for OpenStack and FUEL nodes should be changed.
REST API impact
None.
Upgrade impact
None.
Security impact
None.
Notifications impact
None.
Other end user impact
None.
Performance Impact
None.
Plugin impact
None.
Other deployer impact
None.
Developer impact
None.
Infrastructure impact
Implementation
Assignee(s)
Work Items
Dependencies
None.
Testing
Acceptance criteria
Documentation Impact
- New RPM URLs and repo metadata should be documented so people can create their repositories the right way.