All,
Over the past few months a group of us has been working on adding support
for a feature known as scenarios to the installer. Scenarios allow
providing multiple options for installation from a single installer script
and the ability to switch between scenarios. This for example provides the
ability to have a bare bones Foreman installation scenario, smart proxy
installer or to install bare bones Foreman which is later switched to a
customized scenario that includes multiple plugins. Prior demos can be seen
at [1], [2], [3].
To this end, Martin has been adding new functionality to kafo to provide
the scenario support, which includes switching and diffing. As well, adding
integrated migration support to handle changes in parameters for the puppet
modules include between versions of each installer. Brad has been tackling
the removal of the wrapping of puppet-foreman_proxy from the puppet-capsule
module to provide better alignment. And the whole team has been working to
craft scenarios and migrations for Foreman, Smart Proxy, Katello and the
Capsule.
We have currently reached the point where we have multiple pull requests
open to the foreman-installer, katello-installer and packaging repositories
and have completed initial testing. This is where we could use the help of
the community to review and test pull requests so that we may get this
functionality out in users hands. To that end, we have a few deployment
scenarios that can be used to automate this as well as scratch builds.
Current status and PRs that need attention:
foreman-installer:
https://github.com/theforeman/foreman-installer/pull/163
foreman-installer packaging:
https://github.com/theforeman/foreman-packaging/pull/996
katello-installer:
https://github.com/Katello/katello-installer/pull/290
katello-installer packaging:
https://github.com/Katello/katello-packaging/pull/151
Lastest scratches:
kafo: http://koji.katello.org/koji/getfile?taskID=414397
foreman-installer: http://koji.katello.org/koji/taskinfo?taskID=416617
katello-installer: http://koji.katello.org/koji/taskinfo?taskID=416609
From Git
For those that want an automated and isolated way to test, there is a pull
request against katello-deploy [4] that can be used. To use it:
- clone katello-deploy
- cd katello-deploy
- clone foreman-installer and checkout PR 163
- cd foreman-installer
- run rake build to populate the modules
- clone katello-installer and checkout PR 290
- cd katello-installer
- run 'librarian-puppet install'
- cd back to katello-deploy
Now you can either deploy Foreman or Katello using the locally available
git checkouts:
vagrant up centos7-foreman-nightly
vagrant up centos7-katello-nightly
From RPMs
For those who want to test this via RPM builds, the scratch builds can be
installed and used via katello-deploy mechanisms. First, ensure you have
cloned and checked out [4]. Create a boxes.yaml file and in it, put the
following:
scenario -katello:
box: centos7-katello-nightly
options: --koji-task 412086,414397,416617,416609
scenario-foreman:
box: centos7-foreman-nightly
options: --koji-task 412086,414397,416617
This will provide a box for each foreman and katello that uses the scratch
builds from Koji.
Any help testing or reviewing is greatly appreciated, and if you have any
questions myself, Martin or Brad are happy to help.
[1] Scenarios – https://www.youtube.com/watch?v=uhXCD7_Ry34 (minute 22)
[2] Switching scenarios – http://www.youtube.com/watch?v=afOWk6V8neU
(minute 42)
[3] Migrations – https://www.youtube.com/watch?v=AsY3U6qRInk (minute 44)
[4] https://github.com/Katello/katello-deploy/pull/174