Skip to content
Snippets Groups Projects

Improved formatting of CC7 after this morning experience

Merged Ghost User requested to merge formatting_cc7 into master
1 file
+ 104
46
Compare changes
  • Side-by-side
  • Inline
+ 104
46
@@ -6,26 +6,33 @@ Upstream support : until 2023-12-01
## Pushing upstream updates
As we do not rebuild upstream packages (except nss) we just sync it from our [local mirror](https://linuxsoft.cern.ch/centos/)
As we do not rebuild upstream packages (except `nss`) we just have to sync it from our [local mirror](https://linuxsoft.cern.ch/centos/)
|Build|
| -- |
|/mnt/data2/home/build/bin/bscentos2test -d "cc7" -r "all" |
|If a new nss package is available, script should warn you, then : | |
| -- |
| rebuild nss package with CERN patches FIXME |
| -- |
|If New kernel package : e.g kernel-**3.10.XXX.elX**, please build associated modules| |
| -- |
| bsbuildmodules -d cc7 -k **3.10.XXX.elX** | build with mock new modules |
| bscopymodules -d cc7-k **3.10.XXX.elX** | copy modules in the build area|
Build:
```
/mnt/data2/home/build/bin/bscentos2test -d "cc7" -r "all"
```
If a new `nss` package is available, the script should warn you, then we neet to rebuild the `nss` package with the CERN patches **FIXME**:
```
command_to_rebuild_nss_package
```
If a new kernel package is available (e.g `kernel-**3.10.XXX.elX**`), please build the associated modules:
```
bsbuildmodules -d cc7 -k **3.10.XXX.elX** # build with mock new modules
bscopymodules -d cc7-k **3.10.XXX.elX** # copy modules in the build area
```
> Notes:
> * You need then to follow "Release to testing" procedure as modules are added to the `cern` repository.
!!! note
You then need then to follow the [Release to testing](#release-to-testing) procedure as modules are added to the `cern` repository.
## Building internal updates
These directories allow administrator to rebuild packages provided by Red Hat and new CERN packages.
These directories allow an administrator to rebuild packages provided by Red Hat and new CERN packages.
| Incoming |
| -- |
@@ -36,44 +43,95 @@ These directories allow administrator to rebuild packages provided by Red Hat an
| /mnt/data2/home/build/packages/incoming/cc7/rhcommon |
| /mnt/data2/home/build/packages/incoming/cc7/cr |
> Notes:
> * Source or binary package can be added to incoming.
!!! note
Source or binary packages can be added to incoming.
|Build|
| -- |
|/mnt/data2/home/build/bin/bsbuild -d "cc7" -r "all"|
|/mnt/data2/home/build/bin/bsdownload -s -d "cc7" -r "all"|
Build:
> Notes:
>* Grab the signing pass phrase in tbag :
```
tbag show distribution_signing_key_passphrase --hg linuxsupport/lxsoft
/mnt/data2/home/build/bin/bsbuild -d "cc7" -r "all"
/mnt/data2/home/build/bin/bsdownload -s -d "cc7" -r "all"
```
!!! note
In order to sign packages, retrieve the signing passphrase from tbag:
```
tbag show distribution_signing_key_passphrase --hg linuxsupport/lxsoft
```
## Release to testing
|Release to testing||
| -- | -- |
| /mnt/data2/home/build/bin/bsbuild2test -d cc7 -r "cern cernonly rt centosplus rhcommon" | Move all built packages to testing|
| /mnt/data2/home/build/bin/bsregenrepos -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing" | Regenerate testing repositories metadata |
| /mnt/data2/home/build/bin/bssync -t "data1 eos" -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing" |sync /mnt/data2 -> /mnt/data1 |
| test the upgrade works as expected on lxvmcc7t-amd64, lxvmcc7p-amd64 | yum clean all && yum update --enablerepo=cerntesting,updates-testing|
| /mnt/data2/home/build/bin/bsmailusers -d cc7 -r testing -e -s -w | Email linux-announce-test@cern.ch with updated packages|
Move all built packages to testing:
```
/mnt/data2/home/build/bin/bsbuild2test -d cc7 -r "cern cernonly rt centosplus rhcommon"
```
Regenerate testing repositories metadata:
```
/mnt/data2/home/build/bin/bsregenrepos -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing"
```
sync /mnt/data2 -> /mnt/data1:
```
/mnt/data2/home/build/bin/bssync -t "data1 eos" -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing"
```
Test the upgrade works as expected on `lxvmcc7t-amd64` and `lxvmcc7p-amd64`:
```
yum clean all && yum update --enablerepo=cern-testing,updates-testing
```
> Notes:
> * $EDITOR must be set to your prefered editor to edit the email
Send an email to `linux-announce-test@cern.ch` with updated packages information:
```
/mnt/data2/home/build/bin/bsmailusers -d cc7 -r testing -e -s -w
```
!!! Note
`$EDITOR` must be set to your prefered editor to edit the email
## Release to production
|Release to production||
| -- | -- |
| /mnt/data2/home/build/bin/bstest2prod -d cc7 -r "updates mrg" | List available updates |
| /mnt/data2/home/build/bin/bstest2prod -d cc7 -r "updates mrg" [pkgname to release] | Promote package. \\* can be used to promote all updates. A careful review is needed in general. |
|/mnt/data2/home/build/bin/bsregenrepos -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing cern cernonly rt centosplus rhcommon updates updates-testing"| Regenerate production repositories metadata (=~ 15min) |
|/mnt/data2/home/build/bin/bssync -t "data1 eos" -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing cern cernonly rt centosplus rhcommon updates updates-testing" | sync /mnt/data2 -> /mnt/data1|
| test the upgrade works as expected on lxvmcc7t-amd64, lxvmcc7p-amd64 | yum clean all && yum update|
| /mnt/data2/home/build/bin/bsmailusers -d cc7 -r updates -e -s -w | Email linux-announce@cern.ch with updated packages|
|Update web pages||
| -- | -- |
| vi /afs/cern.ch/project/linux/wwwtest/freshnews.shtml | Edit the web pages, section can be copied from previous week. Previous sent Email subject is used as a title. Dates need to be updated. (need better automation) |
| /afs/cern.ch/project/linux/adm/bin/wwwtest2prod | sync web page to production site.|
List available updates:
```
/mnt/data2/home/build/bin/bstest2prod -d cc7 -r "updates rt"
```
Promote package. `\*` can be used to promote all updates. A careful review is needed in general:
```
/mnt/data2/home/build/bin/bstest2prod -d cc7 -r "updates rt" [pkgname to release]
```
Regenerate production repositories metadata (=~ 15min):
```
/mnt/data2/home/build/bin/bsregenrepos -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing cern cernonly rt centosplus rhcommon updates updates-testing"
```
Sync /mnt/data2 -> /mnt/data1:
!!! danger
Running `bssync` will actually "de facto" move all packages to production. Reversing this action is not trivial:
```
/mnt/data2/home/build/bin/bssync -t "data1 eos" -d cc7 -r "cern-testing cernonly-testing rt-testing centosplus-testing rhcommon-testing cern cernonly rt centosplus rhcommon updates updates-testing"
```
Test the upgrade works as expected on `lxvmcc7t-amd64` and `lxvmcc7p-amd64`:
```
yum clean all && yum update
```
Email `linux-announce@cern.ch` with updated packages information:
```
/mnt/data2/home/build/bin/bsmailusers -d cc7 -r updates -e -s -w
```
Update the web pages, new sections can be copied from the previous week.
The previous sent Email subject is used as a title. Dates need to be updated. (need better automation).
```
vim /afs/cern.ch/project/linux/wwwtest/freshnews.shtml
```
Sync web page to production site [linux.web.cern.ch/linux](https://linux.web.cern.ch/linux/):
```
/afs/cern.ch/project/linux/adm/bin/wwwtest2prod
```
Double check the rendering looks fine
Loading