Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor fixes


Info

Add your comments directly to the page. Include links to any relevant research, data, or feedback.

Page Properties
label


Status
Status
colourGreen
titleIN PROGRESS
Impact

Status
colourYellow
titleMEDIUM

Driver
Approver
Contributors
InformedBrandon Riden Kendall Moore, Nick MarkowskiDylan CochranSteven PritchardNick Miller,  Adam Yohrling
Due date01 May 2019
Outcome(Sprint 82 is tentatively proceeding with Option 1)


...

  • Installation by ISO is intended to be an easy way to get started, and ensure that all files are present (including Puppet modules).
  • SIMP supports installations in offline/network-isolated enclaves.

Relevant data

What the word "Environment"

...

means

The word term "environment" is heavily overloaded with respect to SIMP, Puppet, DevOps, and IT in general. 

This decision log uses the SIMP-specific terminology defined in the design article, Environments design article.Image Removed


Proposed workflow

...

  • The initial Puppet environment in SIMP  6.3 was created upon the installation of the simp-environment RPM.
    • There is only one circumstance when SIMP 6.4+ will auto-generate a Puppet environment, and that is when simp config is run on a Puppet server without any deployed Puppet environments.
    • In practice, this means that  all later environments must be created by the administrator—never automatically.

  • The Puppet module auto-deploy logic in SIMP ≤ 6.3 executed immediately upon the installation of every RPM, which happened during and after the initial SIMP ISO installation.
    • There is only one circumstance when SIMP 6.4+  will auto-deploy Puppet modules, and that is when simp config is run on a Puppet server without any deployed Puppet modules.
    • In practice, this means that all later deployments must be initiated by the administrator—never automatically.

...

A2: Puppet module RPMs + local bare git repositories


  • After a SIMP-packaged Puppet module RPM is installed, the system's simp_rpm_helper script ensures that a local bare git repository exists for the module, and it contains a commit of the modules files (tagged with the module's version).
  • This is a prerequisite for simp puppetfile generate to work.
  • A prototype for this workflow was already implemented during SIMP-6083. 


B2: simp config's initial "auto-deploy"
Anchor
autodeploy
autodeploy

...

  • The secondary environment for production was generated automatically during simp config's initial auto-deploy in Stage B2
  • New environments can be generated or cloned using the proposed command, simp environment new.
    • can be configured to run after each environment deployment by setting postrun in Code Manager's r10k.yaml.
    • It may also be configured to run from a (not created) local webhook using Code Manager's post_environment_hooks setting.
  • New environments can be generated using the proposed command, simp environment new.
    • New environments can also be cloned or symlinked from an existing SIMP extra environment (associated secondary + writable environments).
    • The simp environment new command can be configured to run after each environment deployment by setting postrun in Code Manager's r10k.yaml.
    • It may also be configured to run from a local webhook (not included) using Code Manager's post_environment_hooks setting.

Options considered


Option 1:Option 2:
Description
  • The Proposed workflow is implemented.
  • There is only one circumstance where SIMP will automatically scaffold and deploy a Puppet environment, and that is when simp config is run on a Puppet server without any deployed Puppet environments.
  • B1 determines the environment 

Pros and cons

(plus)

(minus)

(plus)

(minus)

Estimated cost
Status
colourYellow
titleMEDIUM
Status
colourYELLOW
titleMEDIUM

...