Review mbs SOP
Signed-off-by: Michal Konečný <mkonecny@redhat.com>
This commit is contained in:
parent
3823b5ccdf
commit
7d0b205093
2 changed files with 24 additions and 37 deletions
|
@ -67,7 +67,7 @@
|
|||
** xref:making-ssl-certificates.adoc[SSL Certificate Creation - SOP]
|
||||
** xref:massupgrade.adoc[Mass Upgrade Infrastructure - SOP]
|
||||
** xref:mastermirror.adoc[Master Mirror Infrastructure - SOP]
|
||||
** xref:mbs.adoc[mbs - SOP in review ]
|
||||
** xref:mbs.adoc[Module Build Service Infra - SOP]
|
||||
** xref:memcached.adoc[memcached - SOP in review ]
|
||||
** xref:message-tagging-service.adoc[message-tagging-service - SOP in review ]
|
||||
** xref:mirrorhiding.adoc[mirrorhiding - SOP in review ]
|
||||
|
|
|
@ -12,26 +12,25 @@ Contact::
|
|||
#fedora-modularity, #fedora-admin, #fedora-releng
|
||||
Persons::
|
||||
jkaluza, fivaldi, breilly, mikem
|
||||
Location::
|
||||
Phoenix
|
||||
Public addresses::
|
||||
* mbs.fedoraproject.org
|
||||
Servers::
|
||||
* mbs-frontend0[1-2].phx2.fedoraproject.org
|
||||
* mbs-backend01.phx2.fedoraproject.org
|
||||
* mbs-frontend0[1-2].iad2.fedoraproject.org
|
||||
* mbs-backend01.iad2.fedoraproject.org
|
||||
Purpose::
|
||||
Build modules for Fedora.
|
||||
|
||||
== Description
|
||||
|
||||
Users submit builds to mbs.fedoraproject.org referencing their modulemd
|
||||
file in dist-git. (In the future, users will not submit their own module
|
||||
builds. The [.title-ref]#freshmaker# daemon (running in infrastructure)
|
||||
will watch for .spec file changes and modulemd.yaml file changes -- it
|
||||
Users submit builds to _mbs.fedoraproject.org_ referencing their modulemd
|
||||
file in https://src.fedoraproject.org/[dist-git]. (In the future,
|
||||
users will not submit their own module
|
||||
builds. The _freshmaker_ daemon (running in infrastructure)
|
||||
will watch for `.spec` file changes and `modulemd.yaml` file changes -- it
|
||||
will submit the relevant module builds to the MBS on behalf of users.)
|
||||
|
||||
The request to build a module is received by the MBS flask app running
|
||||
on the mbs-frontend nodes.
|
||||
on the `mbs-frontend` nodes.
|
||||
|
||||
Cursory validation of the submitted modulemd is performed on the
|
||||
frontend: are the named packages valid? Are their branches valid? The
|
||||
|
@ -46,7 +45,7 @@ the rpm builds are submitted.
|
|||
|
||||
These are grouped and limited in two ways:
|
||||
|
||||
* First, there is a global NUM_CONCURRENT_BUILDS config option that
|
||||
* First, there is a global `NUM_CONCURRENT_BUILDS` config option that
|
||||
controls how many koji builds the MBS is allowed to have open at any
|
||||
time. It serves as a throttle.
|
||||
* Second, a given module may specify that it's components should have a
|
||||
|
@ -66,8 +65,8 @@ future CI interactions.)
|
|||
=== The mbs-build command
|
||||
|
||||
The https://pagure.io/fm-orchestrator[fm-orchestrator repo] and the
|
||||
[.title-ref]#module-build-service# package provide an
|
||||
[.title-ref]#mbs-build# command with a few subcommands. For general
|
||||
_module-build-service_ package provide an
|
||||
_mbs-build_ command with a few subcommands. For general
|
||||
help:
|
||||
|
||||
....
|
||||
|
@ -127,8 +126,8 @@ psabata's build #570 of shared-userspace-f26 is in the "build" state
|
|||
|
||||
=== The releng repo
|
||||
|
||||
There are more tools located in the [.title-ref]#scripts/mbs/# directory
|
||||
of the releng repo: https://pagure.io/releng/blob/master/f/scripts/mbs
|
||||
There are more tools located in the `scripts/mbs/` directory
|
||||
of the releng repo: https://pagure.io/releng/blob/main/f/scripts/mbs
|
||||
|
||||
== Cancelling a module build
|
||||
|
||||
|
@ -141,11 +140,10 @@ $ mbs-build cancel $BUILD_ID
|
|||
MBS admins can also cancel builds of any user.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
MBS admins are defined as members of the groups listed in the
|
||||
[.title-ref]#ADMIN_GROUPS# configuration options in
|
||||
[.title-ref]#roles/mbs/common/templates/config.py#.
|
||||
`ADMIN_GROUPS` configuration options in
|
||||
`roles/mbs/common/templates/config.py`.
|
||||
====
|
||||
== Logs
|
||||
|
||||
|
@ -153,12 +151,12 @@ The frontend logs are on mbs-frontend0[1-2] in
|
|||
`/var/log/httpd/error_log`.
|
||||
|
||||
The backend logs are on mbs-backend01. Look in the journal for the
|
||||
[.title-ref]#fedmsg-hub# service.
|
||||
`fedmsg-hub` service.
|
||||
|
||||
== Upgrading
|
||||
|
||||
The package in question is [.title-ref]#module-build-service#. Please
|
||||
use the [.title-ref]#playbooks/manual/upgrade/mbs.yml# playbook.
|
||||
The package in question is `module-build-service`. Please
|
||||
use the `playbooks/manual/upgrade/mbs.yml` playbook.
|
||||
|
||||
== Managing Bootstrap Modules
|
||||
|
||||
|
@ -179,32 +177,21 @@ The existence of the tag is not enough for the bootstrap module to be
|
|||
useable by MBS. MBS discovers the bootstrap module as a possible
|
||||
dependency for other yet-to-be-built modules by querying PDC. During
|
||||
normal operation, these entries in PDC are automatically created by
|
||||
pdc-updater on pdc-backend02, but for the bootstrap tag they need to be
|
||||
`pdc-updater` on _pdc-backend02_, but for the bootstrap tag they need to be
|
||||
manually created and linked to the new bootstrap tag.
|
||||
|
||||
The fm-orchestrator repo has a
|
||||
https://pagure.io/fm-orchestrator/blob/master/f/bootstrap[bootstrap/]
|
||||
directory with tools that we used to create the first bootstrap entries.
|
||||
If you need to create a new bootsrap entry or modify an existing one,
|
||||
use these tools for inspiration. They are not general purpose and will
|
||||
likely have to be modified to do what is needed. In particular, see
|
||||
[.title-ref]#import-to-pdc.py# as an example of creating a new entry and
|
||||
[.title-ref]#activate-in-pdc.py# for an example of editing an existing
|
||||
entry.
|
||||
|
||||
To be usable, you'll need a token with rights to speak to staging/prod
|
||||
PDC. See the PDC SOP for information on client configuration in
|
||||
[.title-ref]#/etc/pdc.d/# and on where to find those tokens.
|
||||
`/etc/pdc.d/` and on where to find those tokens.
|
||||
|
||||
== Things that could go wrong
|
||||
|
||||
=== Overloading koji
|
||||
|
||||
If koji is overloaded, it should be acceptable to _stop_ the fedmsg-hub
|
||||
daemon on mbs-backend01 at any time.
|
||||
daemon on _mbs-backend01_ at any time.
|
||||
|
||||
[NOTE]
|
||||
.Note
|
||||
====
|
||||
As builds finish in koji, they will be _missed_ by the backend.. but
|
||||
when it restarts it should find them in datagrepper. If that fails as
|
||||
|
@ -213,5 +200,5 @@ after startup that checks koji for anything it may have missed, at which
|
|||
point it will resume functioning.
|
||||
====
|
||||
If koji continues to be overloaded after startup, try decreasing the
|
||||
[.title-ref]#NUM_CONCURRENT_BUILDS# option in the config file in
|
||||
[.title-ref]#roles/mbs/common/templates/#.
|
||||
`NUM_CONCURRENT_BUILDS` option in the config file in
|
||||
`roles/mbs/common/templates/`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue