Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page Properties
label


Status
Status
colourYellowBlue
titleIn progressDecided
Impact

Status
colourGreen
titleLOW

Driver
ApproverREC 07 Mar 2019
Contributors
Informed
Due date
OutcomeOption 6


Background

At some point in the past, the simp-adapter RPM was created with the primary purpose of downloading the appropriate version of puppet for your system. This spawned two different RPM result sets of simp-adapter-foss and simp-adapter-pe both of which provide simp-adapter so that the underlying RPMs don't have to worry about figuring out which one is required.

...


Option 1:Option 2:Option 3:
DescriptionPersist the simp-adapter-foss and simp-adapter-pe installation packages with puppet dependencies.Push all puppet dependencies down to the individual modulesPush all puppet dependencies into the simp RPM.
Pros and cons

(plus) Allows for a two-package installation of the entire stack if your repositories are set up correctly.

(minus) Having simp-adapter-pe gets confusing and tends to win in the YUM repos. It should probably be isolated into its own repo if this path continues.

(plus) Probably the most accurate mechanism

(plus) May allow for a one-package installation with yum install simp

(minus) May have to persist a package to version matrix to determine what version of puppet is in what upstream package.

(minus) Will probably require a re-roll of all modules with a version bump just for this. (If so, this should wait until after 6.4.0 so that we can get the r10k work completed)

(plus) Allows for a one-package installation with yum install simp

(minus) Eliminates the possibility of installing individual components via RPM without dragging in the entire stack and reduces the simp RPM relevance as a pure meta-RPM (yes, a lot of the stuff in the %post section already needs to be refactored and/or removed but this would make the problem worse)

(minus) Would change a lot of long-held RPM couplings and require the most amount of testing to achieve and should wait until after 6.4.0 if selected.

Estimated cost
Status
colourGreen
titleSMALL
Status
colourYELLOW
titleMEDIUM
Status
colourRed
titleHIGH



Option 4:

Option 5:

Option 6:
Description

Add a new RPM whose sole purpose is to pin the version of puppet and puppetserver allowed on the system.

This was the original goal of simp-adapter but, if we split this RPM out and ensure that it only is required from the simp RPM, then users can successfully un-pin all RPMs from the underlying puppet installation by simply removing the RPM.

Remove simp-adapter-pe, making simp-adapter-foss default, and add a simp-adapter-unbounded to allow un-pinned versions of Puppet as stated in Option 4Remove any requirements for Puppet or Puppetserver and move validation to simp-cli
Pros and Cons

(plus) Easily allows users to un-pin from the underlying version of puppet

(plus) Does not require a full release of SIMP for compatible version bumps or pinning (we've had to work around broken versions of puppet in the past)

(plus) Does not require a re-roll of all modules

(plus) Easy to implement

(plus) Makes it easy to determine when the system has been purposefully deviated from the tested installation state

(minus) Allows users to create a system where versions of puppet can be installed that were not evaluated with the SIMP stack and may cause support difficulties.

All Pluses/Minuses from Option 4, plus:

(plus) Allows for a single command install (yum install simp)

(plus) Allows Bolt, Ansible, etc.

(minus) Still creates user confusion

(minus) Testing scenarios we don't currently cover



(plus)  Don't need to worry about Puppet changes

(plus)  Can be used with Bolt, Ansible, etc w/o having to add/test new adapters

(minus) If people don't read instructions, they could create a broken environment


Estimated cost
Status
colourGreen
titleSMALL
Status
colourGreen
titleSMALL
Status
colourGreen
titleSMALL

Action items

  •  

Outcome