Create a tool to handle the repo setup for TripleO
The documented repo setup steps for TripleO are currently:
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).
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.
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.
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.
This would be a new user-facing CLI.
No meaningful change
Deployers would need to switch to this new method of configuring the TripleO repos in their deployments.
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.
tripleo.sh would be converted to use this tool so it would be covered by existing CI.
Documentation would be simplified.
Original proposal: http://lists.openstack.org/pipermail/openstack-dev/2016-June/097221.html
Current version of the tool: https://github.com/cybertron/dlrn-repo