Files
fm-orchestrator/openshift/README.md
Mike Bonnet 9c3d9bb441 MBS-Koji integration tests
This change introduces a set of Jenkins pipelines for building MBS
images and running integration tests against Koji using those images.
These pipelines are directly based on the WaiverDB pipeline work:

https://pagure.io/waiverdb/blob/master/f/openshift

The results of those tests are used to provide feedback to Pagure PRs
and to promote images through a series of environments, which may be
used to implement a continuous deployment process.

The current test cases, written in Groovy, are:
 - module-build-init: initate a module build and check that tags
   and targets in Koji are created correctly
 - module-build-cgimport: build an empty module and ensure that
   results are imported correctly into Koji, using the CGImport
   interface
2019-04-30 15:27:28 -07:00

65 lines
2.9 KiB
Markdown

Deploy MBS to OpenShift
=======================
## Build the container image for MBS backend
```bash
$ docker build openshift/backend \
--tag mbs-backend:latest \
--build-arg EXTRA_RPMS=<MBS_MESSAGING_UMB_RPM>
```
where:
* MBS_MESSAGING_UMB_RPM is a path or URL to the [UMB Messaging
Plugin](https://github.com/release-engineering/mbs-messaging-umb) RPM. If not
provided, only `fedmsg` and `in_memory` will be available for messaging in the
image.
## Build the container image for MBS frontend
The frontend container image is built on top of the backend image, which should
be available as `mbs-backend:latest`.
```bash
$ docker build openshift/frontend \
--tag mbs-frontend:latest
```
## Deploy MBS
```bash
$ oc process -f openshift/mbs-test-template.yaml \
-p TEST_ID=123 \
-p MBS_BACKEND_IMAGE=<MBS_BACKEND_IMAGE> \
-p MBS_FRONTEND_IMAGE=<MBS_FRONTEND_IMAGE> \
-p MESSAGING_CERT=$(base64 -w0 <messaging.crt>) \
-p MESSAGING_KEY=$(base64 -w0 <messaging.key>) \
-p KOJI_CERT=$(base64 -w0 <koji.crt>) \
-p KOJI_SERVERCA=$(base64 -w0 <koji_ca_cert.crt>) \
-p KOJI_URL=<KOJI_URL> \
-p STOMP_URI=<STOMP_URI> | oc apply -f -
```
Use `oc process parameters` to learn more about template parameters:
```bash
$ oc process --local -f openshift/mbs-test-template.yaml --parameters
NAME DESCRIPTION GENERATOR VALUE
TEST_ID Short unique identifier for this test run (e.g. Jenkins job number)
MBS_BACKEND_IMAGE Image to be used for MBS backend deployment 172.30.1.1:5000/myproject/mbs-backend:latest
MBS_FRONTEND_IMAGE Image to be used for MBS frontend deployment 172.30.1.1:5000/myproject/mbs-frontend:latest
MESSAGING_CERT base64 encoded SSL certificate for message bus authentication
MESSAGING_KEY base64 encoded SSL key for message bus authentication
KOJI_CERT base 64 encoded client certificate used to authenticate with Koji
KOJI_SERVERCA base64 encoded certificate of the CA that issued the HTTP server certificate for Koji
DATABASE_PASSWORD expression [\w]{32}
STOMP_URI Messagebus URI
KOJI_URL Top level URL of the Koji instance to use. Without a '/' at the end.
```
## Delete MBS
```bash
$ oc delete dc,deploy,pod,configmap,secret,svc,route -l app=mbs
```