Skip to content

Commit f674eb0

Browse files
committed
Release docs
- v0.72 release notes - release checklist - sample announcement
1 parent 4391fbc commit f674eb0

File tree

3 files changed

+408
-0
lines changed

3 files changed

+408
-0
lines changed

docs/release/checklist.txt

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Release checklist
2+
-----------------
3+
4+
- Clone the release branch - do `git branch -u` to the upstream branch, so an update and rebase will get you to latest.
5+
6+
- Build an RPM in the COPR -test repo (e.g. pbench-0.72-test).
7+
8+
- Create VMs of various stripes for testing and prep them appropriately (e.g. ssh keys need to be installed for ansible to work and repos need to be installed (e.g CRB repos on RHEL-8 and RHEL-9 and EPEL repos).
9+
10+
- Run the playbooks to do the prep, repo install, pbench-agent/pbench-systat install, the config of the agent and the firewall rules.
11+
12+
- Run end-to-end tests of linpack, uperf, fio: register tools, run the benchmark, clean up the tools, push the results. There is also a smoke test that runs a quick pbench-user-benchmark.
13+
14+
- Lather, rinse, repeat (steps 1-5) until there are no errors.
15+
16+
- Write up release notes - submit for review and revise.
17+
18+
- Make sure there are no pending updates to the release branch.
19+
20+
- Add a tag and cut the release on GitHub, adding the release notes.
21+
22+
- Redo steps 2-5 in the updated branch.
23+
24+
- Rebuild RPM in the COPR repo for the release (e.g. pbench-0.72) and redo steps 4-5 (the smoke test in particular).
25+
26+
- Build tagged containers.
27+
28+
- If necessary, update Ansible Galaxy from the agent/ansible/collection directory:
29+
30+
- Send announcement out.
31+
32+
- Submit post-release PR to the release branch with the release notes and any last minute changes to ansible roles.

docs/release/sample-announcement.txt

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
* Sample announcement for reference
2+
3+
4+
Subject: Release of version 0.71 of the pbench-agent is now available
5+
To: <recipients>
6+
7+
8+
We are pleased to announce the release of version 0.71 of
9+
pbench-agent. There are some gotchas and known problems that are
10+
described first: please read them carefully because you are almost
11+
certainly going to run into one or more of them.
12+
13+
<GOTCHAS>
14+
- The notion of a "default" tool set is being deprecated and will be
15+
removed in the upcoming Pbench Agent v1.0 release. To replace it, the
16+
Pbench Agent is introducing a few named tool sets. See "Default Tool
17+
Set is Deprecated; Named tool sets introduced" in the Release Notes.
18+
19+
- All tools registered prior to installing v0.71.0 must be
20+
re-registered; tools registered locally, or remotely, on a host with
21+
v0.69 or earlier version of the pbench-agent will be ignored. See
22+
"Tool registration kept local to the host where registration happens"
23+
in the Release Notes.
24+
25+
- Note that pbench no longer installs tools: any missing tools will
26+
only be found and reported when you start a run.
27+
28+
<GOTCHAS/>
29+
30+
<KNOWN PROBLEMS>
31+
In addition, there are some known problems with specific distros:
32+
33+
- The (currently unreleased) RHEL 9.1 version has very spotty coverage
34+
in its Subscription Manager repos. Installation of pbench-agent on
35+
it fails with missing basic packages (e.g. bzip2). There are
36+
probably unofficial repos that could be used instead: this is under
37+
investigation.
38+
39+
- Installation on Fedora 36 succeeds but you will not be able to do
40+
anything with it: Python 3.10 changed the way that pip install modules
41+
(it inserts a "local" element in the path), so the PYTHONPATH settings
42+
are wrong and modules cannot be found. This is a larger problem and we
43+
are working on that, but the upshot is that you won't be able to use
44+
Fedora 36 with this release.
45+
46+
- You should upgrade the pbench Ansible roles with
47+
48+
ansible-galaxy collection install --force pbench.agent
49+
50+
If your version of ansible-galaxy does not support --force, delete
51+
the existing roles and install:
52+
53+
rm -rf $HOME/.ansible/collections/ansible_collections/pbench/agent
54+
ansible-galaxy collection install pbench.agent
55+
56+
The current version is 1.0.7. It contains a fix for the CentOS-Stream-8
57+
distro: without that fix, you are not going to be able to use the playbooks
58+
to install on that distro.
59+
60+
- If you are upgrading from v0.69, there is one additional problem:
61+
the v0.69 installation probably installed the `pbench-perl-JSON-XS'
62+
RPM, our own build of perl-JSON-XS which was missing from all RHEL
63+
plaforms. It (and many other perl packages) is now available from
64+
standard repos (EPEL on RHEL7, CRB (Codeready Builder) repo on
65+
RHEL8/9, PowerTools repo on Centos-stream-8/9). However, the
66+
installed `pbench-perl-JSON-XS' on v0.69 conflicts with the official
67+
`perl-JSON-XS', so the RPM installation fails. The workaround is to
68+
erase the `pbench-perl-JSON-XS' RPM before updating to v0.71.0:
69+
70+
$ yum shell
71+
> erase pbench-perl-JSON-XS
72+
> update pbench-agent
73+
74+
That's the best way to do it on a single system, but if you have a
75+
lot of systems that you are installing to, it's probably easier to
76+
use your inventory file to do the erasing with an ad-hoc Ansible
77+
command and then install normally:
78+
79+
ansible -i /path/to/Inventory/file servers -m command -a 'yum erase -y pbench-perl-JSON-XS'
80+
ansible-playbook -i /path/to/Inventory/file pbench-agent-install.yml
81+
82+
- Installing on RHEL 8.4 and 8.5 fails because of the ansible-core
83+
dependency. There are more problems with the ansible package on
84+
RHEL78.4 and 8.5 however: see
85+
86+
https://access.redhat.com/discussions/6962395
87+
88+
If you cannot upgrade to RHEL 8.6, let us know: we might be able to
89+
help.
90+
91+
</KNOWN PROBLEMS>
92+
93+
94+
<ANNOUNCEMENT>
95+
The RPMs are available in the main COPR pbench repo:
96+
97+
https://copr.fedorainfracloud.org/coprs/ndokos/pbench/
98+
99+
We strongly recommend that you use Ansible playbooks to install pbench-agent.
100+
See below for the link to the Installation Guide.
101+
102+
You are going to need an inventory file. Here's a template: just list
103+
the hosts where you want to install pbench-agent in the [servers]
104+
section; nothing else needs to be touched:
105+
106+
[servers]
107+
hostA
108+
hostB
109+
...
110+
111+
[servers:vars]
112+
pbench_repo_name = pbench
113+
fedoraproject_username = ndokos
114+
115+
pbench_key_url = http://git.app.eng.bos.redhat.com/git/perf-dept.git/plain/bench/pbench/agent/{{ pbench_configuration_environment }}/ssh
116+
pbench_config_url = http://git.app.eng.bos.redhat.com/git/perf-dept.git/plain/bench/pbench/agent/{{ pbench_configuration_environment }}/config
117+
118+
After installation, the RPM version reported by `dnf list installed
119+
pbench-agent' should be:
120+
121+
pbench-agent.noarch 0.71.0-3g85910732a @copr-pbench-ndokos
122+
123+
If you had previously installed a test version with a "greater"
124+
version number, you might need to erase it first with `dnf erase
125+
pbench-agent' before this version can be installed: we were a bit
126+
cavalier with the numbering and `dnf' will not install this version if
127+
the version number doesn't allow it.
128+
129+
Containers
130+
----------
131+
132+
Containers have been built based on the RPMs above and are available from
133+
134+
https://quay.io
135+
136+
137+
Release Notes
138+
-------------
139+
140+
The release notes for this release are available at
141+
142+
https://github.com/distributed-system-analysis/pbench/releases/
143+
144+
There are a lot of changes in this release, so we recommend that you
145+
read the release notes carefully.
146+
147+
148+
Installation Guide
149+
------------------
150+
151+
The pbench-agent installation guide is available internally at
152+
153+
http://pbench.perf.lab.eng.bos.redhat.com
154+
155+
156+
Problems
157+
--------
158+
159+
Let us know of any problems you encounter. The best place is the
160+
issue tracker:
161+
162+
https://github.com/distributed-system-analysis/pbench/issues
163+
164+
although for urgent problems the GChat pbench room can be used.
165+
<ANNOUNCEMENT/>
166+
167+
--
168+
The pbench team

0 commit comments

Comments
 (0)