This article is an artifact of:
It tracks:
simp-environment (6.3.0)
simp-adapter
(0.1.1)simp-rsync
(6.2.1)simp
auto.cfg
Goals:
Starting with 6.4, SIMP's philosophy of handling SIMP Environments is changing:
simp config
after an ISO installation.This section summarizes the changes mapped in the sections above, to collect requirements for each component:
Legend:
WHITE | Mapped, but relevant Jira issues have not been researched |
: reason | Not Jira us |
YELLOW | Jira issues are still being researched for this mapping |
BLUE | Jira issues exist to address this mapping |
PRs have been submitted to address this mapping's Jira Issues | |
GREEN | Mapping + Jira Issues are complete |
simp-cli
commands `simp environment
[COMMAND]
` Related article: SIMP 6.4+: Design `simp environment` command |
Mapping | Jira Issues | Notes | |
---|---|---|---|
A1.2: | |||
A2.2: |
| ||
A2.3: |
| ||
A3.2: (Related: A2.2) |
| ||
| |||
| |||
| |||
A5.2: The |
| ||
A6.3: create new Extra/Omni environments on demand with |
|
| |
A7.2: Environments can be removed with | |||
B3.2: The
| See A3.2 + children
|
| |
C1.2: The command
| Related to A1.2, but focuses on | ||
C2.1 The command
|
| ||
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 | |||
D1.2: simp environment command would then install into the appropriate secondary environment directory, when these boot files exist. |
`simp config
` Mapping | Jira Issues | Notes | |
---|---|---|---|
A6.2: move the initial ISO install environment deploy logic into an early stage of | Uncomment
|
simp-environment
(
RPM)Mapping | Jira Issues | Notes | |
---|---|---|---|
A1.1: | |||
A2.1:
|
| ||
A3.1: | |||
A4.1: (Related: E1) Consolidate |
| See: E1.1 | |
A4.1.1: The two have slight differences between them that should be carried over into | See: simp-utils RPM/ E1.2 | ||
A4.1.2: Remove logic from RPM |
| ||
A5.1: remove cacertkey ensure logic from | patched in PR#22 | ||
A6.1: remove `/usr/local/sbin/simp_rpm_helper --rpm_dir=%{prefix} --rpm_section='post' --rpm_status=$1 --preserve --target_dir='.'` from | |||
A7.1: remove `/usr/local/sbin/simp_rpm_helper --rpm_dir=%{prefix} --rpm_section='post' --rpm_status=$1 --preserve --target_dir='.'` from | patched in PR#22 |
simp-adapter
(RPM)Mapping | Jira Issues | Notes | |
---|---|---|---|
B1: keep this for now? (see discussion) | PR#15, undone by PR#17 | ||
B2.1: remove this behavior from | |||
B3.1: Remove this behavior from | Incorporated into |
simp-
rsync
(RPM)Mapping | Jira Issues | Notes | |
---|---|---|---|
C1.1.1: Change | |||
C1.1.2: Change any references to | |||
C2.2: Remove OBE %pre logic | |||
C3.1: Move | |||
C3.3: Remove from %post | |||
C4.1: Remove | |||
C5.1: Remove OS symlink logic from | still in 7.0.0-0: |
simp-
core
(ISO)Mapping | Jira Issues | Notes | |
---|---|---|---|
D1.1: Remove this logic. No extra copy of files already located in | |||
D1.2: | : As of 5/14, this is debatable—it may install into the secondary environment skeleton |
simp-
core
(RPM)Mapping | Jira Issues | Notes | |
---|---|---|---|
D2.1: Remove obsolete |
simp-
utils
(RPM)Mapping | Jira Issues | Notes | |
---|---|---|---|
| |||
|
For each component:
simp-environment
(6.3.0) [Analyzed, Mapped: 7/7, Questions: 0]simp-environment.spec
essentially installs to two filesystem roots:simp-environment
6.3.0:%{prefix}
( /usr/share/simp/environments/simp/
)%{_var}
( used to manage %{_var
}/simp/environments/simp/
)simp-environment.spec
installs all files to %{prefix}
, and does not install files into %{_var}
simp env new|update ENVIRONMENT
will copy files from %{prefix}
to /var/simp/environments/${ENVIRONMENT}/
/var/simp/
subdirectories so the various services can access filessimp-environment
6.3.0:%build
, builds SELinux module%post
, builds + loads an SELinux policy and runs fixfiles
so puppet can read from /var/simp
directories%uninstall
, removes SELinux policy and runs fixfiles
simp-environment.spec
still provides SELinux policies for %{_var}
%build
still builds SELinux module%post
(initial install only) applies the initial installs' fixfiles restore
to the top-level /var/simp
%post
no longer applies fixfiles
for separate subdirectories under /var/simp/environments/
simp env new|update ENVIRONMENT
runs a post-action step that applies SELinux fixfiles restore
to the /var/simp/environments/${ENVIRONMENT}/ + subdirectories
simp env fix ENVIRONMENT
reapplies the correct SELinux context on demandpuppet config print
simp-environment
6.3.0:%{prefix}
and %{_var}
directory trees%post
(initial install only) applies the Puppet user settings & groups at the top-level /var/simp
simp env new|update ENVIRONMENT
runs a post-action step that applies Puppet user settings & groups to$codedir/environments/$ENVIRONMENT/
(group only)/var/simp/environments/$ENVIRONMENT/site_files/
(group only)/opt/puppetlabs/server/data/puppetserver/simp/environments/$ENVIRONMENT/
(user + group)
%post
creates a yum repo directory structure and runs createrepo
under /var/www/yum/${os}/...
: /var/www/yum
simp-environment.spec
, which doesn't seem to deliver these files.%post
's yum repo creation logic into the existing script simp-utils:scripts/sbin/updaterepos
.updaterepos
%post
%post
, ensures that the cacertkey (at %{_var}/simp/environments/simp/FakeCA/cacertkey
) has some random gibberish in it if it doesn't exist. %post
simp env
command will ensure the cacertkey
during fix ENVIRONMENT
and after new|update ENVIRONMENT
.%post
, runs simp_rpm_helper simp-environment
6.3.0:# Needed for migrating the environment data into the codedir for an initial install
/usr/local/sbin/simp_rpm_helper --rpm_dir=%{prefix} --rpm_section='post' --rpm_status=$1 --preserve --target_dir='.'
%post
simp config
.simp environment new
.%postun
, runs simp_rpm_helper simp-environment
6.3.0:# Needed for cleaning up the data from codedir as appropriate for an erase
/usr/local/sbin/simp_rpm_helper --rpm_dir=%{prefix} --rpm_section='postun' --rpm_status=$1 --preserve --target_dir='.'
%postun
simp env rm ENVIRONMENT
simp-adapter
(0.1.1) [Analyzed, Mapped: 3/3, Questions: 0]simp-adapter 0.1.1 %pre
and %posttrans have operations to prevent the global Hiera 3 hiera.yaml.simp
file delivered with simp-adapter <= 0.0.6 and its hiera.yaml
link created in that RPM's %post
from being removed during upgrade if it may be in use.hiera.yaml
files (global and environment) are modified during install/upgrade:hiera.yaml
is linked to hiera.yaml.simp
hiera.yaml
and hiera.yaml.simp
hiera.yaml
is not linked to hiera.yaml.simp
hiera.yaml.simp
but not remove hiera.yaml
hiera.yaml
is linked to hiera.yaml.simp
hiera.yaml
and hiera.yaml.simp
, but keep hiera.yaml.simpbak
hiera.yaml
is not linked to hiera.yaml.simp
hiera.yaml.simp
, but keep hiera.yaml
and hiera.yaml.simpbak
/etc/simp/adapter_config.yaml
:simp-environment
6.3.0Under the following conditions:
Only during a new RPM install ($1 -eq 1
)
Only when the Linux kernel contained simp install
(e.g., a SIMP ISO installation)
%post
will create %{prefix}/adapter_config.yaml
with the following content:
# This file was modified by simp-adapter during a SIMP install
# on ${date}:
target_directory: 'auto'
copy_rpm_data: true
%post
simp-environment
6.3.0puppetserver
(install or upgrade)puppet
user UID and GID to 52, changing the UID/GID if the installed ids are incorrect./opt/puppetlabs/
, /etc/puppetlabs
, /var/log/puppetlabs/
, and /var/run/puppetlabs/
to match the nailed UID/GIDpuppetserver
to pick up changes.puppdetdb
user and grouppuppet
to sha256
(install or upgrade)puppet-agent
, puppetserver
, and puppetdb
directoriesACCEPTED
state but has no Fix version
assigned%post
simp env
command will ensure the correct puppet
permissions are set during fix ENVIRONMENT
and after new|update ENVIRONMENT
. simp
command is setting them, it can just check what user is configured to own what files etc.simp-rsync (6.2.1) [Analyzed, Mapped:6/6, Questions: 1]
/var/simp/environments/simp/rsync/
simp-rsync
6.2.1:%global rsync_dir /var/simp/environments/simp/rsync
Prefix: %{rsync_dir}
%files
delivers rsync facls file to %{rsync_dir}/.rsync.facl
as a %config
file%{rsync_dir}
, which breaks when rpm --prefix
=NEWPATH%{prefix}
, which is now /usr/share/simp/environment_templates/rsync/
Prefix:
+ %{prefix}
to /usr/share/simp/environment_templates/rsync/
%{rsync_dir}
from all RPM scriptlets simp env new|update ENVIRONMENT
will copy files from %{prefix}
to /var/simp/environments/${ENVIRONMENT}/rsync/
%pre has strange logic
simp-rsync
6.2.1:Pre-removes directories under
{%rsync_dir}/ ("# Remove the directories that we're going to replace with symlinks")
Includes a "# Make sure upgrades work properly!
" section that looks like it might try to symlink the LICENSE
file as a directory if the default
directory is missing under bind_dns
/.
simp env new|update ENVIRONMENT
will copy files from %{prefix}
to /var/simp/environments/${ENVIRONMENT}/rsync/
%post
runs setfacl --restore
on {%rsync_dir}
, using the delivered .rsync.facl
file.simp-rsync
6.2.1:%{rsync_dir}
= /var/simp/environments/simp/rsync
The rsync.facl
definitions use relative paths%{prefix}
(/usr/share/simp/environment_templates/rsync/
); see C1.1rsync.facl
into %{prefix}
(/usr/...), like the rest of the %files
simp env
command will ensure the correct FACLS are set during fix ENVIRONMENT
and after new|update ENVIRONMENT
.%post
deletes all *.rpmnew
files under {%rsync_dir}/
/var/simp/environments/simp/rsync/
as %config)
*.rpmnew
files to hosts that have no use for them/usr/share/simp
/, which is not an rsync source.%config
, so .rpmnew
files won't get generated, anyway%post
RedHat
have a CentOS
symlink under /var/simp/environments/simp/rsync
simp-rsync
6.2.1:%post
symlinks RedHat
directories to CentOS
under {%rsync_dir}/
RedHat
, regardless of its location (buggy logic)%preun
deletes any symlinks named CentOS
under {%rsync_dir}/
CentOS
symlink in any directory named RedHat
, regardless of its subdirectory (buggy logic)%post and %preun
simp env
command will ensure the correct symlinks (if any) are managed during new|update|remove ENVIRONMENT
.RedHat
have a CentOS
symlink under /var/simp/environments/simp/rsync
simp-core (6.3.3)
[Analyzed, Mapped: 2/2]
simp-core
6.3.3:/var/www/yum
needed.simp environment
command would then install into the appropriate secondary environment directory, when these boot files exist.%post
in simp.spec
simp-core
6.3.3:Includes obsolete logic to run the (defunct) `hiera_upgrade`
script under certain conditions (-d
${puppet_environmentpath}/simp
)
hiera_upgrade
script was been gone for two yearssimp-core
in 2015 to support SIMP 5.1.X upgradessimp-utils
in 2017 as part of SIMP 6.1.0hiera_upgrade
script (SIMP-6507)simp-utils
E1.) The script simp-utils:scripts/sbin/updaterepos
(mostly) duplicates the %post
yum repo createrepo
logic in simp-environment
.
%post
's yum repo creation logic into the existing script simp-utils:scripts/sbin/updaterepos
.updaterepos