Description

This article is an artifact of:

It tracks:

Goals:


Brief Summary of SIMP 6.4 

Starting with 6.4, SIMP's philosophy of handling SIMP Environments is changing:

Summary of SIMP ≥ 6.4 changes, by component

This section summarizes the changes mapped in the sections above, to collect requirements for each component:

Legend:

WHITEMapped, but relevant Jira issues have not been researched 


: reason

Not Jira us
YELLOWJira issues are still being researched for this mapping
BLUEJira issues exist to address this mapping
(tick)PRs have been submitted to address this mapping's Jira Issues
(tick) GREENMapping + Jira Issues are complete



simp-cli commands 

`simp environment [COMMAND]

Related article: SIMP 6.4+: Design `simp environment` command



MappingJira IssuesNotes

A1.2: simp env new|update ENVIRONMENT will copy files from %{prefix} to /var/simp/environments/${ENVIRONMENT}/ 

(tick)

A2.2: simp env new|update ENVIRONMENT runs a post-action step that applies SELinux fixfiles restore to the /var/simp/environments/${ENVIRONMENT}/ + subdirectories 

  • OmniEnvController calls #fix as part of #new
    • DirEnv#fix
      • SecondaryDirEnv#fix:

(tick)

A2.3simp env fix ENVIRONMENT applies the correct SELinux contexts on demand  

  • simp env fix 
  • DirEnv#fix + SecondaryDirEnv#fix: 
(tick)

A3.2: (Related: A2.2simp env new|update ENVIRONMENT runs a post-action step that applies Puppet user settings & groups  to:

  • OmniEnvController delegates #fix to Env objects: 
(tick)
  • A3.2.1$codedir/environments/$ENVIRONMENT/ (group only)
(tick)
  • A3.2.2/var/simp/environments/$ENVIRONMENT/site_files/ (group only)
(tick)
  • A3.2.3: /opt/puppetlabs/server/data/puppetserver/simp/environments/$ENVIRONMENT(user + group)
 (error)
(tick)

A5.2: The simp env command will ensure the cacertkey during fix ENVIRONMENT and after new|update ENVIRONMENT.

  • SecondaryDirEnv#new
  • SecondaryDirEnv#fix: 
    • : should this be in #fix?
(tick)

A6.3: create new Extra/Omni environments on demand with simp environment new.

  • PuppetDirEnv#new: 
  • SecondaryDirEnv#new: 
  • WritableDirEnv#new: 

 


A7.2: Environments can be removed with simp env rm ENVIRONMENT


(tick)

B3.2: The simp env command will ensure the correct puppet permissions are set during fix ENVIRONMENT and after new|update ENVIRONMENT

  • B3.2.1: Note the changes above include several users, paths, and the digest algorithm.

  • B3.2.2: Note that these specific UID/GIDs may no longer be necessary.  Now that the simp command is setting them, it can just check what user is configured to own what files etc.

 See A3.2 + children

  • Puppet: 
  • Secondary: 
  • Writable: 


 (error)

(tick)

C1.2: The command simp env new|update ENVIRONMENT will copy files from %{prefix}/???/rsync/ to /var/simp/environments/${ENVIRONMENT}/rsync/

Related to A1.2, but focuses on rsync/, which will have its own skeleton directory

(tick)

C2.1 The command simp env new|update ENVIRONMENT will copy files from %{prefix} to /var/simp/environments/${ENVIRONMENT}/rsync/

  • : Look into basic DNS env
  • : Review RPM strangeness
(tick)C3.2: The simp env command will ensure the correct FACLS are set during fix ENVIRONMENT and after new|update ENVIRONMENT.



C5.2:  The simp env command will ensure the correct symlinks (if any) are managed during  new|update|remove ENVIRONMENT
(tick)D1.2: simp environment command would then install into the appropriate secondary environment directory, when these boot files exist.


`simp config


MappingJira IssuesNotes
(tick)

A6.2move the initial ISO install environment deploy logic into an early stage of simp config 

Uncomment OmniEnvContoller#create and integration test

  • (follows )


simp-environment (RPM)


MappingJira IssuesNotes
(tick)

A1.1: simp-environment.spec installs all files to %{prefix}, and does not install files into %{_var}


(tick)

A2.1simp-environment.spec still provides SELinux policies for %{_var}

  • A2.1.1%build still builds SELinux module

  • A2.1.2: %post (initial install only) applies the initial installs' fixfiles restore to the top-level /var/simp 

  • A2.1.2: %post no longer applies fixfiles for separate subdirectories under /var/simp/environments/ 

    • See A2.2

  1. remove policies from simp-environment: 
  2. create new RPM:


A3.1 %post (initial install only) applies the Puppet user settings & groups at the top-level /var/simp 




A4.1:  (Related: E1Consolidate %post's yum repo creation logic into the existing script simp-utils:scripts/sbin/updaterepos

See:  E1.1


A4.1.1: The two have slight differences between them that should be carried over into updaterepos

See: simp-utils RPM/ E1.2
(tick)

A4.1.2:  Remove logic from RPM %post

  • createrepo removed in PR#23
    • The above pull request removed the yum repo stuff from simp-env but another ticket was opened to do the work in simp-utils.
(tick)

A5.1: remove cacertkey ensure logic from %post

patched in PR#22
(tick)

A6.1: remove `/usr/local/sbin/simp_rpm_helper --rpm_dir=%{prefix} --rpm_section='post' --rpm_status=$1 --preserve --target_dir='.'` from %post


patched in PR#22

(tick)

A7.1: remove `/usr/local/sbin/simp_rpm_helper --rpm_dir=%{prefix} --rpm_section='post' --rpm_status=$1 --preserve --target_dir='.'` from %postun

patched in PR#22


simp-adapter (RPM)


MappingJira IssuesNotes
(tick)

B1: keep this for now? (see discussion)

PR#15, undone by PR#17
(tick)

B2.1: remove this behavior from %post


(tick)

B3.1: Remove this behavior from %post

Incorporated into  


simp-
rsync (RPM)


MappingJira IssuesNotes
(tick)

C1.1.1: Change Prefix: %{prefix}to /usr/share/simp/environment_templates/rsync/


(tick)

C1.1.2: Change any references to %{rsync_dir} from all RPM scriptlets 


(tick)C2.2: Remove OBE %pre logic
(tick)

C3.1:  Move rsync.facl into %{prefix} ( /usr/share/simp/... ), like the rest of the %files


(tick)

C3.3: Remove from %post


(tick)

C4.1: Remove *.rpmnew deletion logic from %post


(tick)

C5.1Remove OS symlink logic from %post (code) and %preun (code)

still in 7.0.0-0:

%post

%preun


simp-core (ISO)


MappingJira IssuesNotes
(tick)

D1.1Remove this logic.  No extra copy of files already located in /var/www/yum needed.



D1.2: simp environment command would then install into the appropriate secondary environment directory, when these boot files exist.

: As of 5/14, this is debatable—it may install into the secondary environment skeleton



simp-core (RPM)


MappingJira IssuesNotes
(tick)

D2.1: Remove obsolete hiera_upgrade script



simp-utils (RPM)


MappingJira IssuesNotes




  • E1.2: The two have slight differences between them that should be carried over into updaterepos


Mapped capabilities: SIMP ≤ 6.3 to SIMP ≥ 6.4


For each component:

simp-environment (6.3.0)  [Analyzed, Mapped: 7/7, Questions: 0]


simp-adapter (0.1.1)  [Analyzed, Mapped: 3/3, Questions: 0]

simp-rsync (6.2.1) [Analyzed, Mapped:6/6, Questions: 1]


simp-core (6.3.3) [Analyzed, Mapped: 2/2]

simp-utils


Further steps

What happens during an upgrade?

Reference