Describe MOS RPM repositories interface
Change-Id: I4346f4a7956ada832da550e64bc1093045d1e417
This commit is contained in:
parent
9fbc3ede36
commit
a1b09eaaa3
186
specs/7.0/mos-rpm-repos-iface.rst
Normal file
186
specs/7.0/mos-rpm-repos-iface.rst
Normal file
@ -0,0 +1,186 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=================================================================
|
||||
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
|
||||
|
||||
.. _separate_mos_from_linux: https://github.com/stackforge/fuel-specs/blob/master/specs/6.1/separate-mos-from-linux.rst
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
References
|
||||
==========
|
Loading…
Reference in New Issue
Block a user