3.3 KiB
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