Versions Compared

Key

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

Table of Contents

Introduction

This page lists three tables with typical tasks that are required for a SIMP release:

...

  • the list of supported OSs changes

  • manual tests have been automated

  • new capabilities must be added to the integration regression test list.

Table Conventions

Unless otherwise noted, the following conventions apply to each table:

  • Stories are indicated with a <number> ID, whereas subtasks to a story are indicated with <parent number>.<child number> ID.

  • The Blocker field of a story is used to indicate that this story/subtask requires the listed stories/subtasks to be completed before it can be done.

  • The Story Points field of a subtask may contain an initial guess at the appropriate story points for that subtask. Adjust as needed!

  • When Y appears in one of the OS fields of a story (e.g. EL8) , that story will be replicated for the permutation noted.

  • When Y appears in one of the OS fields of a subtask, that subtask will be replicated for the permutation noted within the story.

  • N, -, and a blank entry are all treated as ‘do not replicate’ indicators.

  • The Notes field will not be included in the ticket and is intended for maintainers of these tables.

Initial Release Candidate Tickets

The table below lists the typical tasks that are required for the initial release candidate (e.g., ‘Alpha’). The largest number of bugs are found during the initial release candidate. So, some of the tasks may have to be repeated after bugs are fixed and some of the tasks may be blocked until bugs are fixed. The sprint planning for this release should be flexible, accordingly.

ID

Ticket Summary (< 100 chars)

Description

Component

Blockers

Story Points

EL7

EL8

OEL7

OEL8

RH7

RH8

Notes

1

Release Components

Identify components to be released, verify tests pass, push annotated tags, update SIMP release confluence page. https://simp.readthedocs.io/en/latest/contributors_guide/maintenance/Tagging_and_Releasing_Components.html

-

3

-

-

-

-

-

-

1.1

Identify components to release

-

1

-

-

-

-

-

-

1.2

Release components

1.1

2

-

-

-

-

-

-

2

Create initial SIMP changelog

Examine changes made to the simp-core project since the previous SIMP release tag (e.g., SIMP-6.5.0-1), as well as changes made to its SIMP dependencies listed in the Puppetfile.pinned.

For simp-core changes, examine the following:

  • simp-core changes noted in its git logs

  • src/assets/simp/build/simp.spec %changelog changes

For changes for an individual SIMP component, examine changes noted both in its git logs and its CHANGELOG file or %changelog section of its build/<component>.spec file. The changes to examine are those from the version listed in the Puppetfile.pinned of the last SIMP release.

simp-doc

8

-

-

-

-

-

-

  • This changelog needs to be done early because it informs what release-specific tests need to be executed and which sections of the documentation may need updates.

  • This is a tedious, time-consuming job!

  • Liz and Jeanne both have utilities to gather the changes.

  • The deps:changelog rake task in simp-core should not be used because it does not accurately take into account individual component changes.

2.1

Create changelog

6

-

-

-

-

-

-

2.2

Review changes

2.1

2

-

-

-

-

-

-

3

Update simp-core pre-release tests with release-specific changes

Update simp-core default, ipa, install_from_tar, and simp_lite acceptance test suites for release-specific changes. This includes updating the nodesets and .gitlab-ci.yml for any changes to the supported OSs.

simp-core

-

5

-

-

-

-

-

-

Ideally, this should be done after the initial changelog has been generated, as the changelog informs the work to be done.

Tests will be executed for the appropriate OSs permutations in the nodeset, but separate tickets per OS should not be created.

3.1

Update tests and nodesets

-

4

-

-

-

-

-

-

3.2

Review updates

3.2

1

-

-

-

-

-

-

4

Update simp-packer with release-specific changes

Update simp-packer for release-specific changes. Be sure to tag the previous simp-packer version, if the updates will break testing functionality built for the prior SIMP release.

simp-packer

-

3

-

-

-

-

-

-

Ideally, this should be done after the initial changelog has been generated, as the changelog informs the work to be done.

4.1

Update code and documentation

-

2

-

-

-

-

-

-

4.2

Review changes

4.1

1

-

-

-

-

-

-

5

Identify release-specific tests and documentation updates

Based on the initial Changelog for the release, identify (1) integration tests that must be done with a fully configured SIMP server and (if necessary) clients and (2) simp-doc documentation that may be affected by the changes. The tests should be tests that are not adequately tested in component acceptance tests.

2

7

-

-

-

-

-

-

5.1

Determine release-specific manual tests

4

5.2

Determine simp-doc pages that need to be reviewed for accuracy or revised

Identify pages that require an in-depth examination or major revision

2

-

-

-

-

-

-

5.3

Create tickets for each test and simp-doc page review

5.1, 5.2

1

-

-

-

-

-

-

6

Update simp-core with released components

Update simp-core files (Puppetfile.pinned, metadata.json, src/assets/simp/build/simp.spec) and verify ISOs can be built and the default, ipa, and simp_lite acceptance test suites pass.

You must set the SIMP_FULL_MATRIX variable to have all the tests run in a GitLab.

simp-core

1, 3

3

-

-

-

-

-

-

6.1

Update files and build ISOs for supported OSs

You may need to update package lists for the ISO builds.

-

2

-

-

-

-

-

-

6.2

Verify acceptance tests

Verify the default, ipa, and simp_lite acceptance tests pass with new components. No major test revisions should be needed.

6.1

1

-

-

-

-

-

-

Tests should already been updated for major changes in ID 3 in this table.

6.3

Review updates

Make sure to verify versions in Puppetfile.pinned, metdata.json and src/assets/simp/build/simp.spec.

6.2

1

-

-

-

-

-

-

7

Create test ISO, and publish the ISO and its tar file

simp-core

6

2

Y

Y

-

-

-

-

This step may actually have to be done several times before we get to an initial release candidate build that can be published. If additional tickets are warranted, they can be created on the fly.

7.1

Build ISO

Use official RPM signing keys when the artifacts are to be published anywhere at simp-project.com.

-

1

-

-

-

-

-

-

7.2

Publish artifacts

Interim artifacts may be published to unstable folders at simp-project.com or other unofficial shared locations.

7.1

1

-

-

-

-

-

-

8

Validate ISO by building packer boxes (BIOS and UEFI)

Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

7

Y

Y

-

-

-

-

8.1

Build Validate ISO by building packer boxes (BIOS)

Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

  • BIOS boot box

with
  • FIPS-enabled

and Build
  • , encrypted disk

  • BIOS boot box FIPS-enabled, unencrypted disk

-

-

-

-

-

-

8.2

  • BIOS boot box FIPS-disabled, encrypted disk

  • BIOS boot box

with
  • FIPS

enabled and
  • -disabled, unencrypted disk

-7-

Y

-Y

-

-

-

-

8.5

8.

3

Build BIOS boot box with FIPS disabled and encrypted disk

-

-

-

-

-

-

-

8.4

Build BIOS boot box with FIPS disabled and unencrypted disk

-

-

-

-

-

-

-

Build UEFI boot box with FIPS enabled and encrypted disk2

Validate ISO by building packer boxes (UEFI)

Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

  • UEFI boot box FIPS-enabled, encrypted disk

  • UEFI boot box FIPS-enabled, unencrypted disk

  • UEFI boot box FIPS-disabled, encrypted disk

  • UEFI boot box FIPS-disabled, unencrypted disk

9

Verify installation from RPMs in tar file

Run simp-core’s install_from_tar test using the tar file generated from an ISO build.

simp-core

7

-

-

-

-

-

-

-

89.6

Build UEFI boot box with FIPS enabled and unencrypted disk

-

-

-

-

-

-

-

8.7

Build UEFI boot box with FIPS disabled and encrypted disk

-

1

Execute test

See https://github.com/simp/simp-core/blob/master/spec/acceptance/suites/README.md for description of environment variables that can be set to point to the tar file.

1

Y

Y

-

-

-

--

10

-

8.8

Build UEFI boot box with FIPS disabled and unencrypted disk

-

-

Create upgrade instructions

Document any steps that are needed outside of the generic upgrade instructions.  Also look for any unusual messages emitted during RPM upgrade.

simp-doc

7

10

Y

Y

-

-

-

-

10.1

Manually execute upgrade with FIPS enabled

4

-

9

Verify installation from RPMs in tar file

Run simp-core’s install_from_tar test using the tar file generated from an ISO build.

simp-core

7-

-

-

-

-

10.2

Manually execute upgrade with FIPS disabled

1

-

-

-

-

-

-

10.3

Write upgrade instructions

4

-

-

-

-

9.1

Execute test

See https://github.com/simp/simp-core/blob/master/spec/acceptance/suites/README.md for description of environment variables that can be set to point to the tar file.

1

Y

Y-

-

10.4

Review instructions

Review the instructions for clarity, grammar, spelling, formatting, etc. Verification will be done in a separate ticket

10.3

1

-

-

-

-

-

-

1011

Create Verify upgrade instructionsDocument any steps

that are needed outside of the generic upgrade instructions.  Also look for any unusual messages emitted during RPM upgradeVerify upgrade instructions and make any necessary adjustments to them.

simp-doc7

10

Y

Y

-

-

-

-

1011.1

Manually execute upgrade with FIPS enabled

4Execute instructions

2

-

-

-

-

-

-

1011.2

Manually execute upgrade with FIPS disabledUpdate instructions

1

-

-

-

-

-

-

10.3

Write upgrade instructions

4

-

-

-

-

-

-

10.4

Review instructions

Review the instructions for clarity, grammar, spelling, formatting, etc. Verification will be done in a separate ticket

10.3

1

-

-

-

-

-

-

11

Verify upgrade instructions

Verify upgrade instructions and make any necessary adjustments to them.

simp-doc

1012

Verify PXE boot UEFI

Manually verify clients can PXE boot (UEFI) from a SIMP-managed tftpboot server. https://simp-project.atlassian.net/browse/SIMP-6925 contains links to tickets with descriptions of what others have done previously to test these capabilities.

  • Verify PXE boot (UEFI) FIPS enabled, disk encrypted, same OS as tftpboot server

  • Verify PXE boot (UEFI) FIPS enabled, disk unencrypted, same OS as tftpboot server

  • Verify PXE boot (UEFI) FIPS disabled, disk encrypted, same OS as tftpboot server

  • Verify PXE boot (UEFI) FIPS disabled, disk unencrypted, same OS as tftpboot server

  • Verify PXE boot (UEFI) FIPS enabled, disk encrypted, clients from tftpboot server of different OS

7

Y

Y

-

-

-

-

11.1

Execute instructions

2

-

-

-

-

-

-

11.2

Update instructions

1

-

-

-

-

-

-

12

Verify PXE boot UEFI

Manually TODO: Automate these tests

13

Verify PXE boot BIOS

Manually verify clients can PXE boot (UEFIBIOS) from a SIMP-managed tftpboot server

7

Y

Y

-

-

-

-

TODO: Automate these tests

12.1

  • Verify PXE boot (

UEFI
  • BIOS)

FIPs
  • FIPS enabled, disk encrypted, same OS as tftpboot server

-

-

-

-

-

-

12.2

  • Verify PXE boot (

UEFI
  • BIOS)

FIPs
  • FIPS enabled, disk unencrypted, same OS as tftpboot server

-

-

-

-

-

-

12.3

12.4

  • Verify PXE boot (

UEFI
  • BIOS)

FIPs
  • FIPS disabled, disk encrypted, same OS as tftpboot server

-

-

-

-

-

-

  • Verify PXE boot (

UEFI
  • BIOS)

FIPs
  • FIPS disabled, disk unencrypted, same OS as tftpboot server

-

-

-

-

-

-

12.5

  • Verify PXE boot (

UEFI
  • BIOS)

FIPs
  • FIPS enabled, disk encrypted, clients from tftpboot server of different OS

-7

Y

Y

-

-

-

-

-

13

Verify PXE boot BIOS

Manually verify clients can PXE boot (BIOS) from a SIMP-managed tftpboot serverODO: Finish automation of these tests

14

Verify non-standard ISO UEFI boot options

Manually verify the choose your own partitions and minimum installation ISO boot options

7

Y

Y

-

-

-

-

ODO: Finish automation of these tests

1314.1

Verify PXE boot (BIOS) FIPs enabled, disk encrypted, same OS as tftpboot serverthe choose your own partitions option

-

-

-

-

-

-

1314.2

Verify PXE boot (BIOS) FIPs enabled, disk unencrypted, same OS as tftpboot serverthe minimum installation option

-

-

-

-

-

-

13.3

15

Verify PXE boot (BIOS) FIPs disabled, disk encrypted, same OS as tftpboot server

-

-non-standard ISO BIOS boot options

Manually verify the ‘choose your own partitions' and ‘minimum installation’ ISO boot options

7

Y

Y

-

-

-

-

1315.4

Verify PXE boot (BIOS) FIPs disabled, disk unencrypted, same OS as tftpboot server

1

Verify the choose your own partitions option

-

-

-

-

-

-

1315.5

Verify PXE boot (BIOS) FIPs enabled, disk encrypted, clients from tftpboot server of different OS

2

Verify the minimum installation option

-

-

-

-

-

-

14

Verify non-standard ISO UEFI boot options

Manually verify the choose your own partitions and minimum installation ISO boot options

716

Dogfood released modules and assets

Use released modules in development environments that exercise as many of the modules as possible. Install RPMs of released assets on SIMP servers.

6

Y

Y

-

-

-

-

1416.1

Verify the choose your own partitions optionDeploy modules to development environments

Update Puppetfiles for development environments and deploy the modules.

-

-

-

-

-

-

1416.2

Verify the minimum installation option

-

Install asset RPMs on SIMP server

Install RPMs and watch for any RPM installation error messages.

-

-

-

-

-

15

Verify non-standard ISO BIOS boot options

Manually verify the ‘choose your own partitions' and ‘minimum installation’ ISO boot options

7

Y

Y-

16.3

Examine logs for issues

16.1, 16.2

-

-

-

-

-

-

15.1

Verify the choose your own partitions option

-

-

17

Execute misc manual tests

Miscellaneous tests that are not addressed (fully) with automation.

6

Y

Y

-

-

-

-

1517.21

Verify the minimum installation option

-

-

-

-

-

-

16

Dogfood released modules and assets

Use released modules in development environments that exercise as many of the modules as possible. Install RPMs of released assets on SIMP servers.

6

Y

Y

-

-

-

-

16.1

Deploy modules to development environments

Update Puppetfiles for development environments and deploy the modules.

rsyslog local and forwarded logging in simp-core default suite

simp-core's default suite has an extensive rsyslog integration test for local logging and log forwarding that does not use a mock sender ('logger'). Due to rsyslog itself, the rsyslog forwarding verifications have proven to be unreliable. As a stopgap measure, the tests were modified to skip any rsyslog test that fails in the simp-core default suite, in lieu of failing. Unfortunately, this has the potential to hide actual problems. So this ticket is to verify manually that all the failed checks executed in this test actually work.

1

-

-

-

-

-

-

1617.2

Install asset RPMs on SIMP server

Install RPMs and watch for any RPM installation error messages.

-

-

-

-

-

-

16.3

Examine logs for issues

16.1, 16.2Verify compliance report in simp-core default suite

Examine the compliance report generated by the simp-core default suite and verify there are no incorrect mappings or unexpected non-compliance. (There will be some non-compliance for overrides that allow the test to run.)

1

-

-

-

-

-

-

17

Execute misc manual tests

Miscellaneous tests that are not addressed (fully) with automation.

6

18

Verify poss scenario

Manually verify SIMP server and a client operate under the expected security measures when the SIMP server is bootstrapped with the ‘poss’ scenario.

Y

Y

-

-

-

-

17

Verify using a SIMP server and kickstart client with the same OS.

TODO: Automate this test

18.1

Verify rsyslog local and forwarded logging in simp-core default suite

simp-core's default suite has an extensive rsyslog integration test for local logging and log forwarding that does not use a mock sender ('logger'). Due to rsyslog itself, the rsyslog forwarding verifications have proven to be unreliable. As a stopgap measure, the tests were modified to skip any rsyslog test that fails in the simp-core default suite, in lieu of failing. Unfortunately, this has the potential to hide actual problems. So this ticket is to verify manually that all the failed checks executed in this test actually work.

1

-

-

-

-

-

-

17.2

Verify compliance report in simp-core default suite

Examine the compliance report generated by the simp-core default suite and verify there are no incorrect mappings or unexpected non-compliance. (There will be some non-compliance for overrides that allow the test to run.)

1

-

-

-

-

-

-

18

Verify poss scenario

Manually verify SIMP server and a client operate under the expected security measures when the SIMP server is bootstrapped with the ‘poss’ scenario.

Y

Y

-

-

-

-

Verify using a SIMP server and kickstart client with the same OS.

TODO: Automate this test

18.1

Bootstrap a SIMP server and verify all security measures are enforced.

18.2

Kick a client and verify no security measures are enforced

  • If the auditd service is running, it has no rules. ('auditctl -l' returns 'No rules’)

  • If the firewalld service is running, the default zone is not the 99_simp zone. ('firewall-cmd --get-default-zone' returns 'public')

  • haveged

    Bootstrap a SIMP server and verify all security measures are enforced.

    -

    -

    -

    -

    -

    -

    18.2

    Kick a client and verify no security measures are enforced

    ID

    Ticket Summary (< 100 chars)

    Description

    Component

    Blockers

    Story Points

    EL7

    EL8

    OEL7

    OEL8

    RH7

    RH8

    Notes

    1

    Release Components

    Identify components to be released, verify tests pass, push annotated tags, update SIMP release confluence page. https://simp.readthedocs.io/en/latest/contributors_guide/maintenance/Tagging_and_Releasing_Components.html

    -

    3
    • If the auditd service is running, it has no rules. ('auditctl -l' returns 'No rules’)

    • If the firewalld service is running, the default zone is not the 99_simp zone. ('firewall-cmd --get-default-zone' returns 'public')

    • haveged service does not exist. ('systemctl status haveged' returns 'Unit haveged.service could not be found.')

    • logrotate configuration, /etc/logrotate.conf, does not have 'include /etc/logrotate.simp.d'

    • pam configuration, /etc/pam.d/system-auth does not have "This file managed by Puppet"

    • SIMP-specific PKI directories, /etc/pki/simp/ and /etc/pki/simp_apps/, do not exist.

    • sssd service should not be running and should not be configured. ( 'systemctl status sssd' returns 'Active: inactive (dead) and there is no/etc/sssd/sssd.conf)

    • stunnel service does not exist. ( 'systemctl status havegedstunnel' returns 'Unit havegedstunnel.service could not be found.')

    • logrotate configuration, rsyslog service may be running but is not configured for SIMP, i.e.
      /etc/logrotatersyslog.conf , does not have 'include $IncludeConfig /etc/logrotatersyslog.simp.d'

    • pam configuration, /etc/pam.d/system-auth does not have "This file managed by Puppet"

    • SIMP-specific PKI directories, /etc/pki/simp/ and /etc/pki/simp_apps/, do not exist.

    • sssd service should not be running and should not be configured. ( 'systemctl status sssd' returns 'Active: inactive (dead) and there is no/etc/sssd/sssd.conf)

    • stunnel service does not exist. ( 'systemctl status stunnel' returns 'Unit stunnel.service could not be found.')

    • rsyslog service may be running but is not configured for SIMP, i.e.
      /etc/rsyslog.conf does not have '$IncludeConfig /etc/rsyslog.simp.d/*.conf'

    • tcpwrappers is not configured on OSs that support tcpwrappers. (If /etc/hosts.allow exists, it is just comments. Same for /etc/hosts.deny )

    Interim Release Candidate Tickets

    The table below lists the typical tasks that are required for the interim release candidates (e.g., ‘Beta’, ‘RC1’). Fewer and fewer bugs are found with each interim release candidate. Any manual integration testing should be targeted to verification of the bug fixes, whereas as many automated integration tests as resources allow should be executed!

    Depending upon the bug fixes included in this release candidate, tests identified in the initial release tickets table may need to be re-executed. So, be sure to add those tasks to your copy of this table before generating tickets.

    1
    • /*.conf'

    • tcpwrappers is not configured on OSs that support tcpwrappers. (If /etc/hosts.allow exists, it is just comments. Same for /etc/hosts.deny )

    -

    -

    -

    -

    -

    -

    19

    Benchmark with SCAP scan

    This test is intended to find deficiencies in the enforced DISA STIG security settings for SIMP modules

    Y

    Y

    -

    -

    -

    -

    19.1

    Execute scan and analyze results

    Execute the SCAP scan on a FIPS-enabled, disk-encrypted SIMP server packer box for which compliance has been enforced and then analyze the results for any SIMP deficiencies. Looking for system configuration that is not correctly configured for which the compliance report does not indicate an exception. Check may reveal component behavior or component compliance data that needs to be updated.

    -

    -

    -

    -

    -

    -

    19.2

    Create tickets for deficiencies

    Create tickets for any component deficiencies found.

    -

    -

    -

    -

    -

    -

    -

    -

    1.1

    Identify components to release

    -

    1

    -

    -

    -

    -

    -

    -

    1.2

    Release components

    1.1

    2

    -

    -

    -

    -

    -

    -

    2

    Update simp-core with released components

    Update simp-core files (Puppetfile.pinned, metadata.json, src/assets/simp/build/simp.spec) and verify ISOs can be built and the default, ipa, and simp_lite acceptance test suites pass.

    You must set the SIMP_FULL_MATRIX variable to have all the tests run in a GitLab.

    simp-core

    Interim Release Candidate Tickets

    The table below lists the typical tasks that are required for the interim release candidates (e.g., ‘Beta’, ‘RC1’). Fewer and fewer bugs are found with each interim release candidate. Any manual integration testing should be targeted to verification of the bug fixes, whereas as many automated integration tests as resources allow should be executed!

    Depending upon the bug fixes included in this release candidate, tests identified in the initial release tickets table may need to be re-executed. So, be sure to add those tasks to your copy of this table before generating tickets.

    ID

    Ticket Summary (< 100 chars)

    Description

    Component

    Blockers

    Story Points

    EL7

    EL8

    OEL7

    OEL8

    RH7

    RH8

    Notes

    1

    Release Components

    Identify components to be released, verify tests pass, push annotated tags, update SIMP release confluence page. https://simp.readthedocs.io/en/latest/contributors_guide/maintenance/Tagging_and_Releasing_Components.html

    -

    3

    -

    -

    -

    -

    -

    -

    21.1

    Update files and build ISOs for supported OSs

    You may need to update package lists for the ISO builds.

     

    -

    2Identify components to release

    -

    1

    -

    -

    -

    -

    -

    -

     

    2.2

    Verify acceptance tests

    Verify the default, ipa, and simp_lite acceptance tests pass with new components. No major test revisions should be needed.

     

    2.1

    1

    1.2

    Release components

    1.1

    2

    -

    -

    -

    -

    -

    -

    2

    .3

    Review updates

    Make sure to verify versions in

    Update simp-core with released components

    Update simp-core files (Puppetfile.pinned, metdatametadata.json and , src/assets/simp/build/simp.spec.

     

    2.2

    1

    -

    -

    -

    -

    -

    -

     

    3

    Create test ISO, and publish the ISO and its tar file) and verify ISOs can be built and the default, ipa, and simp_lite acceptance test suites pass.

    You must set the SIMP_FULL_MATRIX variable to have all the tests run in a GitLab.

    simp-core

    212

    3

    Y-Y

    -

    -

    -

    -

    -

    32.1

    Build ISO

    Use official RPM signing keys when the artifacts are to be published anywhere at simp-project.com.

    -

    1Update files and build ISOs for supported OSs

    You may need to update package lists for the ISO builds.

     

    -

    2

    -

    -

    -

    -

    -

    -

     

    32.2

    Publish artifacts

    Interim artifacts may be published to unstable folders at simp-project.com or other unofficial shared locations.

    3Verify acceptance tests

    Verify the default, ipa, and simp_lite acceptance tests pass with new components. No major test revisions should be needed.

     

    2.1

    1

    -

    -

    -

    -

    -

    -

    4

    Validate ISO by building packer boxes

    Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

    3

    Y

    Y

    2.3

    Review updates

    Make sure to verify versions in Puppetfile.pinned, metdata.json and src/assets/simp/build/simp.spec.

     

    2.2

    1

    -

    -

    -

    -

    -

    -

    4.1

    Build BIOS boot box with FIPS enabled and encrypted disk

    -

    -

    - 

    3

    Create test ISO, and publish the ISO and its tar file

    simp-core

    2

    2

    Y

    Y

    -

    -

    -

    -

    43.2

    Build BIOS boot box with FIPS enabled and unencrypted disk

    -

    1

    Build ISO

    Use official RPM signing keys when the artifacts are to be published anywhere at simp-project.com.

    -

    1

    -

    -

    -

    -

    -

    -

    43.3

    Build BIOS boot box with FIPS disabled and encrypted disk

    -

    2

    Publish artifacts

    Interim artifacts may be published to unstable folders at simp-project.com or other unofficial shared locations.

    3.1

    1

    -

    -

    -

    -

    -

    -

    4

    .4

    Build BIOS boot box with FIPS disabled and unencrypted disk

    Validate ISO by building packer boxes (BIOS and UEFI)

    Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

    3

    Y

    Y

    -

    -

    -

    -

    -

    -

    -

    4.5

    Build UEFI boot box with FIPS enabled and encrypted disk

    -

    -

    -

    -

    -

    -

    -

    4.6

    Build UEFI boot box with FIPS enabled and unencrypted disk

    -

    -

    -

    -

    -

    -

    -

    4.7

    Build UEFI boot box with FIPS disabled and encrypted disk

    -

    -

    -

    -

    -

    -

    -

    4.8

    Build UEFI boot box with FIPS disabled and unencrypted disk

    -

    -

    -

    -

    -

    -

    -4.1

    Validate ISO by building packer boxes (BIOS)

    Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

    • BIOS boot box FIPS-enabled, encrypted disk

    • BIOS boot box FIPS-enabled, unencrypted disk

    • BIOS boot box FIPS-disabled, encrypted disk

    • BIOS boot box FIPS-disabled, unencrypted disk

    4.2

    Validate ISO by building packer boxes (UEFI)

    Use simp-packer to build SIMP server packer boxes. Basic bootstrap validation is done as part of the packer build.

    • UEFI boot box FIPS-enabled, encrypted disk

    • UEFI boot box FIPS-enabled, unencrypted disk

    • UEFI boot box FIPS-disabled, encrypted disk

    • UEFI boot box FIPS-disabled, unencrypted disk

    5

    Verify installation from RPMs in tar file

    Run simp-core’s install_from_tar test

    simp-core

    2

    -

    -

    -

    -

    -

    -

    -

    This test can be omitted if there are no changes to component packaging since the previous candidate. Component behavior is already tested by the simp-core default suite with each simp-core check-in.

    5.1

    Execute test

    See https://github.com/simp/simp-core/blob/master/spec/acceptance/suites/README.md for description of environment variables that can be set to point to the tar file

    1

    Y

    Y

    -

    -

    -

    -

    6

    Update Changelog for bug fixes

    simp-doc

    2

    3

    -

    -

    -

    -

    -

    -

    6.1

    Identify bug fixes and update changelog

    -

    2

    -

    -

    -

    -

    -

    -

    6.2

    Review changes

    6.1

    1

    -

    -

    -

    -

    -

    -

    7

    Dogfood released modules and assets

    Use released modules in development environments that exercise as many of the modules as possible. Install RPMs of released assets on SIMP servers.

    2

    Y

    Y

    -

    -

    -

    -

    7.1

    Deploy modules to development environments

    Update Puppetfiles for development environments and deploy the modules.

    -

    -

    -

    -

    -

    -

    7.2

    Install asset RPMs on SIMP server

    Install RPMs and watch for any RPM installation error messages.

    -

    -

    -

    -

    -

    -

    7.3

    Examine logs for issues

    -

    -

    -

    -

    -

    -

    Release Tickets

    The table below lists the typical tasks that are required for the final release. By the time we get to this phase of the release process, there are few, if any bugs found, and very little manual testing is required. There are quite a number of documentation review tickets, however. The user documentation tickets are required for each major release, nice-to-have for each minor release, and not necessary for each patch release. They will need to be updated each time the user documentation undergoes structural changes.

    ...

    ID

    Ticket Summary (< 100 chars)

    Description

    Component

    Blockers

    Story Points

    EL7

    EL8

    OEL7

    OEL8

    RH7

    RH8

    Notes

    1

    Release Components

    Identify components to be released, verify tests pass, push annotated tags, update SIMP release confluence page. https://simp.readthedocs.io/en/latest/contributors_guide/maintenance/Tagging_and_Releasing_Components.html

    NOTE: This excludes simp-doc, which is addressed a separate ticket after all documentation updates have been completed.

    -

    3

    -

    -

    -

    -

    -

    -

    1.1

    Identify components to release

    -

    1

    -

    -

    -

    -

    -

    -

    1.2

    Release components

    1.1

    2

    -

    -

    -

    -

    -

    -

    2

    Update simp-core with released components

    Update simp-core files (Puppetfile.pinned, metadata.json, src/assets/simp/build/simp.spec) and verify ISOs can be built and the default, ipa, and simp_lite acceptance test suites pass.

    You must set the SIMP_FULL_MATRIX variable to have all the tests run in a GitLab.

    All components in the Puppetfile.pinned except simp-doc should be referencing a GitHub tag. simp-doc is addressed in another ticket.

    simp-core

    1

    3

    -

    -

    -

    -

    -

    -

    2.1

    Update files and build ISOs for supported OSs

    You may need to update package lists for the ISO builds.

     

    -

    2

    -

    -

    -

    -

    -

    -

     

    2.2

    Verify acceptance tests

    Verify the default, ipa, and simp_lite acceptance tests pass with new components. No major test revisions should be needed.

     

    2.1

    1

    -

    -

    -

    -

    -

    -

    2.3

    Review updates

    Make sure to verify versions in Puppetfile.pinned, metdata.json and src/assets/simp/build/simp.spec.

     

    2.2

    1

    -

    -

    -

    -

    -

    -

    3

    Verify simp/simp_core meta module

    Verify that the simp/simp_core meta module has appropriate dependencies and its dependencies have all been published to PuppetForge by running the install_from_core_module test suite.

    2

    -

    -

    -

    -

    -

    -

    3.1

    Execute check for PuppetForge publication

    Execute ‘bundle exec rake puppetfile:check’ and examine output to identify any modules that have not been published to PuppetForge

    -

    -

    -

    -

    -

    -

    3.2

    Publish any missing modules to PuppetForge

    -

    -

    -

    -

    -

    -

    3.3

    Update the install_from_core_module test with any release-specific changes

    -

    -

    -

    -

    -

    -

    3.4

    Execute the install_from_core_module test

    -

    -

    -

    -

    -

    -

    4

    Dogfood released modules and assets

    Use released modules in development environments that exercise as many of the modules as possible. Install RPMs of released assets on SIMP servers.

    2

    Y

    Y

    -

    -

    -

    -

    4.1

    Deploy modules to development environments

    Update Puppetfiles for development environments and deploy the modules.

    -

    -

    -

    -

    -

    -

    4.2

    Install asset RPMs on SIMP server

    Install RPMs and watch for any RPM installation error messages.

    -

    -

    -

    -

    -

    -

    4.3

    Examine logs for issues

    -

    -

    -

    -

    -

    -

    5

    Update Changelog for bug fixes

    simp-doc

    2

    3

    -

    -

    -

    -

    -

    -

    5.1

    Identify bug fixes and update changelog

    -

    2

    -

    -

    -

    -

    -

    -

    5.2

    Review changes

    5.1

    1

    -

    -

    -

    -

    -

    -

    6

    Review ‘Quick Start’ Guide

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    6.1

    Review and update

    -

    -

    -

    -

    -

    -

    6.2

    Review changes

    6.2

    -

    -

    -

    -

    -

    -

    7

    Review ‘Getting Started’ Guide

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    7.1

    Review and update

    -

    -

    -

    -

    -

    -

    7.2

    Review changes

    7.2

    -

    -

    -

    -

    -

    -

    8

    Review ‘User Guide’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    8.1

    Review and update

    -

    -

    -

    -

    -

    -

    8.2

    Review changes

    8.2

    -

    -

    -

    -

    -

    -

    8.3

    Review Upgrade Instructions

    Ensure nothing has changed since the original

    9

    Review ‘HOWTO’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    9.1

    Review and update

    -

    -

    -

    -

    -

    -

    9.2

    Review changes

    9.2

    -

    -

    -

    -

    -

    -

    10

    Review ‘FAQ’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    10.1

    Review and update

    -

    -

    -

    -

    -

    -

    10.2

    Review changes

    10.2

    -

    -

    -

    -

    -

    -

    11

    Review ‘Help’ and ‘Contact’ sections

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    11.1

    Review and update

    -

    -

    -

    -

    -

    -

    11.2

    Review changes

    11.2

    -

    -

    -

    -

    -

    -

    12

    Review ‘Glossary of Terms’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    12.1

    Review and update

    -

    -

    -

    -

    -

    -

    12.2

    Review changes

    12.2

    -

    -

    -

    -

    -

    -

    13

    Review ‘Security Concept of Operations’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    13.1

    Review and update

    -

    -

    -

    -

    -

    -

    13.2

    Review changes

    13.2

    -

    -

    -

    -

    -

    -

    14

    Review ‘Security Control Mapping’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    14.1

    Review and update

    -

    -

    -

    -

    -

    -

    14.2

    Review changes

    14.2

    -

    -

    -

    -

    -

    -

    15

    Review ‘Vulnerability Supplement’

    Review and update as necessary. This is a general review to make sure the information is accurate and intelligible.

    simp-doc

    -

    -

    -

    -

    -

    -

    15.1

    Review and update

    -

    -

    -

    -

    -

    -

    15.2

    Review changes

    15.2

    -

    -

    -

    -

    -

    -

    16

    Finalize simp-doc

    16.1

    Remove any reference to release candidates

    16.2

    Release

    16.2

    17

    Update simp-core with released simp-doc and verify versions

    Update simp-core Puppetfile.pinned

    All components in the Puppetfile.pinned should be referencing a GitHub tag.

    simp-core

    1

    3

    -

    -

    -

    -

    -

    -

    17.1

    Update files and build ISOs

    -

    2

    -

    -

    -

    -

    -

    -

    17.2

    Verify versions

    Make sure there are no version discrepancies in the Puppetfile.pinned, metadata.json and src/assets/simp/build/simp.spec files.

    17.1

    1

    -

    -

    -

    -

    -

    -

    TODO: Automate this task

    18

    Create final ISO, verify with simp-packer, and publish the ISOs and their tar files

    This is the final build and spot check via simp-packer.

    simp-core

    17

    Y

    Y

    -

    -

    -

    -

    18.1

    Build ISO

    Use official RPM signing keys when the artifacts are to be published anywhere at simp-project.com.

    -

    1

    -

    -

    -

    -

    -

    -

    18.2

    Build BIOS boot box with FIPS enabled and encrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.3

    Build BIOS boot box with FIPS enabled and unencrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.4

    Build BIOS boot box with FIPS disabled and encrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.5

    Build BIOS boot box with FIPS disabled and unencrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.6

    Build UEFI boot box with FIPS enabled and encrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.7

    Build UEFI boot box with FIPS enabled and unencrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.8

    Build UEFI boot box with FIPS disabled and encrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.9

    Build UEFI boot box with FIPS disabled and unencrypted disk

    18.1

    -

    -

    -

    -

    -

    -

    18.10

    Publish artifacts

    Final artifacts that have passed simp-packer validation are published to official release folders at simp-project.com.

    18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9

    1

    -

    -

    -

    -

    -

    -

    19

    Announce release

    5

    -

    -

    -

    -

    -

    -

    19.1

    Announce on mailing lists

    -

    -

    -

    -

    -

    -

    20

    Post-release: Verify RPM publication

    Verify RPMs have been uploaded to simp-project.com. This includes Puppet module RPMs, SIMP application RPMs, and any other auxiliary, application RPMs.

    -

    -

    -

    -

    -

    -

    20.1

    Verify Puppet module RPMs have been published

    Execute ‘bundle exec rake puppetfile:check’ and examine output to identify any modules that have not been published to simp-project.com.

    -

    -

    -

    -

    -

    -

    20.2

    Verify other RPMs have been published

    Run the install_from_rpm test. See https://github.com/simp/simp-core/blob/master/spec/acceptance/suites/README.md . If a nodeset for the OS under test does not exist, create it.


    Y

    Y

    -

    -

    -

    -

    20.3

    Publish any missing RPMs

    -

    -

    -

    -

    -

    -