Foreman 3.2.1 release process

Make this post a wiki

Roles

Manual updates: 2022-05-24

Release Engineer

  • Update manual if applicable for any additional installation steps
  • Update release notes section in the manual:
    • Release notes: bullet point list by category of all changes, include link to bug numbers. You can auto-generate changes using the release notes script.

Preparing code: 2022-05-24

Installer Maintainer

  • Make patch releases of installer modules that have important changes
    • Branch to MAJ.MIN-stable if recent changes to the module aren’t suitable for patch (x.y.z) release

Release Owner

  • Add a new Redmine version for the next minor, unless the series is EOL. Be sure the version is set to sharing with subprojects.
  • Remove/change target version field for any open Redmine tickets assigned to the release still (next minor, unset it or reject)
  • Ensure that code in git matches issues fixed in 3.2.1 in redmine. issues.rb can be used to generate a comparison between the two.
  • Change Redmine version 3.2.1 state to Closed

Tagging a release: 2022-05-24

Release Owner

  • In foreman 3.2-stable:
    • Make sure test_3_2_stable is green
    • Tag the release using tag.sh tag.sh 3.2.1 && git push upstream 3.2-stable --follow-tags
  • In smart-proxy 3.2-stable:
  • In foreman-selinux 3.2-stable:
    • Tag the release using tag.sh tag.sh 3.2.1 && git push upstream 3.2-stable --follow-tags
  • In foreman-installer 3.2-stable:
    • Tag the release using tag.sh tag.sh 3.2.1 && git push upstream 3.2-stable --follow-tags
  • Run the Jenkins Tarballs Release to create tarballs

Release Engineer

Note: If for some reason there was an issue with the tarballs that required uploading new tarballs, CDN cache should be invalidated so that the builders use the updated tarballs.

Packaging a release: 2022-05-24

Note it is considered good practice to release on a day when the next day is a working day. This means no releases on Fridays or on the day before a holiday.

Release Engineer

Background documentation

After the packages have been released

Release Owner

Debian release failed

https://paste.centos.org/view/e25ee618

[2022-05-24T18:38:57.763Z] [0;32m [started TASK: foreman_installer : Run installer on pipe-foreman-server-3.2-debian10][0m
[2022-05-24T18:47:04.319Z]
[2022-05-24T18:47:04.319Z] TASK [foreman_installer : Run installer] ***************************************
[2022-05-24T18:47:04.319Z] [0;31mfatal: [pipe-foreman-server-3.2-debian10]: FAILED! => changed=true [0m
[2022-05-24T18:47:04.319Z] [0;31m  cmd: |-[0m
[2022-05-24T18:47:04.319Z] [0;31m    foreman-installer -v --no-colors  --scenario foreman --puppet-server-max-active-instances 1 --puppet-server-jvm-min-heap-size 1G --puppet-server-jvm-max-heap-size 1G --foreman-initial-admin-password changeme[0m
[2022-05-24T18:47:04.319Z] [0;31m  delta: '0:08:03.983718'[0m
[2022-05-24T18:47:04.319Z] [0;31m  end: '2022-05-24 18:47:02.163975'[0m
[2022-05-24T18:47:04.319Z] [0;31m  msg: non-zero return code[0m
[2022-05-24T18:47:04.319Z] [0;31m  rc: 6[0m
[2022-05-24T18:47:04.319Z] [0;31m  start: '2022-05-24 18:38:58.180257'[0m
[2022-05-24T18:47:04.319Z] [0;31m  stderr: 'tput: unknown terminal "unknown"'[0m
[2022-05-24T18:47:04.319Z] [0;31m  stderr_lines: <omitted>[0m
[2022-05-24T18:47:04.319Z] [0;31m  stdout: |-[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:38:58 [NOTICE] [root] Loading installer configuration. This will take some time.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:39:05 [NOTICE] [root] Running installer with log based terminal output at level NOTICE.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:39:05 [NOTICE] [root] Use -l to set the terminal output log level to ERROR, WARN, NOTICE, INFO, or DEBUG. See --full-help for definitions.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:39:11 [NOTICE] [configure] Starting system configuration.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:43:29 [NOTICE] [configure] 250 configuration steps out of 1343 steps complete.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:44:09 [NOTICE] [configure] 500 configuration steps out of 1345 steps complete.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:44:56 [NOTICE] [configure] 750 configuration steps out of 1452 steps complete.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:45:00 [NOTICE] [configure] 1000 configuration steps out of 1456 steps complete.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:45:36 [ERROR ] [configure] '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0][0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:45:36 [ERROR ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: change from 'notrun' to ['0'] failed: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0][0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:46:03 [ERROR ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: Failed to call refresh: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0][0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:46:03 [ERROR ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0][0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:46:17 [NOTICE] [configure] 1250 configuration steps out of 1456 steps complete.[0m
[2022-05-24T18:47:04.319Z] [0;31m    2022-05-24 18:47:02 [NOTICE] [configure] System configuration has finished.[0m
[2022-05-24T18:47:04.319Z] [0;31m  [0m
[2022-05-24T18:47:04.319Z] [0;31m      There were errors detected during install.[0m
[2022-05-24T18:47:04.319Z] [0;31m      Please address the errors and re-run the installer to ensure the system is properly configured.[0m
[2022-05-24T18:47:04.319Z] [0;31m      Failing to do so is likely to result in broken functionality.[0m
[2022-05-24T18:47:04.319Z] [0;31m  [0m
[2022-05-24T18:47:04.319Z] [0;31m      The full log is at /var/log/foreman-installer/foreman.log[0m
[2022-05-24T18:47:04.319Z] [0;31m  stdout_lines: <omitted>[0m
[2022-05-24T18:47:04.319Z]
[2022-05-24T18:47:04.319Z] PLAY RECAP *********************************************************************
[2022-05-24T18:47:04.319Z] [0;31mpipe-foreman-server-3.2-debian10[0m : [0;32mok=19  [0m changed=0    unreachable=0    [0;31mfailed=1   [0m [0;36mskipped=5   [0m rescued=0    ignored=0