Scenarios for the Installer

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:

  1. clone katello-deploy
  2. cd katello-deploy
  3. clone foreman-installer and checkout PR 163
  4. cd foreman-installer
  5. run rake build to populate the modules
  6. clone katello-installer and checkout PR 290
  7. cd katello-installer
  8. run 'librarian-puppet install'
  9. 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

··· -- Eric D. Helms Red Hat Engineering Ph.D. Student - North Carolina State University

> 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:
>
> 1. clone katello-deploy
> 2. cd katello-deploy
> 3. clone foreman-installer and checkout PR 163
> 4. cd foreman-installer
> 5. run rake build to populate the modules
> 6. clone katello-installer and checkout PR 290
> 7. cd katello-installer
> 8. run 'librarian-puppet install'
> 9. 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

Updated boxes.yaml with fixes and new scratch builds of rebased packages:

scenario-katello:
box: centos7-katello-nightly
options: --koji-task 412086,414397,416617,419223,418934

scenario-foreman:
box: centos7-foreman-nightly
options: --koji-task 412086,414397,416617

419223 - katello-installer

418934 - katello

416617 - foreman-installer

414397 - rubygem-kafo

412086 - rubygem-kafo-wizards

··· On 02/04/2016 05:53 AM, Eric D Helms wrote:

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


Eric D. Helms
Red Hat Engineering
Ph.D. Student - North Carolina State University

You received this message because you are subscribed to the Google
Groups “foreman-dev” group.
To unsubscribe from this group and stop receiving emails from it, send
an email to foreman-dev+unsubscribe@googlegroups.com
mailto:foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.