Merge "TripleO Repo Management Tool"
This commit is contained in:
commit
0ebc186107
139
specs/policy/tripleo-repos.rst
Normal file
139
specs/policy/tripleo-repos.rst
Normal file
@ -0,0 +1,139 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
==============================
|
||||
TripleO Repo Management Tool
|
||||
==============================
|
||||
|
||||
https://blueprints.launchpad.net/tripleo/tripleo-repos
|
||||
|
||||
Create a tool to handle the repo setup for TripleO
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
The documented repo setup steps for TripleO are currently:
|
||||
|
||||
* 3 curls
|
||||
* a sed
|
||||
* a multi-line bash command
|
||||
* a yum install
|
||||
* (optional) another yum install and sed command
|
||||
|
||||
These steps are also implemented in multiple other places, which means every
|
||||
time a change needs to be made it has to be done in at least three different
|
||||
places. The stable branches also need slightly different commands which further
|
||||
complicates the documentation. They also need to appear in multiple places
|
||||
in the docs (e.g. virt system setup, undercloud install, image build,
|
||||
undercloud upgrade).
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
My proposal is to abstract away the repo management steps into a standalone
|
||||
tool. This would essentially change the repo setup from the process
|
||||
described above to something like::
|
||||
|
||||
sudo yum install -y http://tripleo.org/tripleo-repos.rpm
|
||||
sudo tripleo-repos current
|
||||
|
||||
Historical note: The original proposal was called dlrn-repo because it was
|
||||
dealing exclusively with dlrn repos. Now that we've started to add more
|
||||
repos like Ceph that are not from dlrn, that name doesn't really make sense.
|
||||
|
||||
This will mean that when repo setup changes are needed (which happen
|
||||
periodically), they only need to be made in one place and will apply to both
|
||||
developer and user environments.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
Use tripleo.sh's repo setup. However, tripleo.sh is not intended as a
|
||||
user-facing tool. It's supposed to be a thin wrapper that essentially
|
||||
implements the documented deployment commands.
|
||||
|
||||
Security Impact
|
||||
---------------
|
||||
|
||||
The tool would need to make changes to the system's repo setup and install
|
||||
packages. This is the same thing done by the documented commands today.
|
||||
|
||||
Other End User Impact
|
||||
---------------------
|
||||
|
||||
This would be a new user-facing CLI.
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
No meaningful change
|
||||
|
||||
Other Deployer Impact
|
||||
---------------------
|
||||
|
||||
Deployers would need to switch to this new method of configuring the
|
||||
TripleO repos in their deployments.
|
||||
|
||||
Developer Impact
|
||||
----------------
|
||||
|
||||
There should be little to no developer impact because they are mostly using
|
||||
other tools to set up their repos, and those tools should be converted to use
|
||||
the new tool.
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
bnemec
|
||||
|
||||
Other contributors:
|
||||
<launchpad-id or None>
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Update the proposed tool to match the current repo setup
|
||||
* Import code into gerrit
|
||||
* Package tool
|
||||
* Publish the package somewhere easily accessible
|
||||
* Update docs to use tool
|
||||
* Convert existing developer tools to use this tool
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
NA
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
tripleo.sh would be converted to use this tool so it would be covered by
|
||||
existing CI.
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
Documentation would be simplified.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
Original proposal:
|
||||
http://lists.openstack.org/pipermail/openstack-dev/2016-June/097221.html
|
||||
|
||||
Current version of the tool:
|
||||
https://github.com/cybertron/dlrn-repo
|
Loading…
x
Reference in New Issue
Block a user