diff --git a/docs/ custom-payload-testing.md b/docs/ custom-payload-testing.md new file mode 100644 index 000000000..f788cbf62 --- /dev/null +++ b/docs/ custom-payload-testing.md @@ -0,0 +1,36 @@ +# Custom payload testing + +OpenShift v4 uses a release payload image to configure the cluster. Sometimes we +need to test custom payload before we submit a patch to upstream. This +section describes how to do this. + +1. Build the required operator component and host it to the external public +repository. + +1. Pull release payload you want to use as a base to test your changes. An +example: +``` +export REGISTRY_AUTH_FILE=/home/$USER/.rh/pull-secret.txt +podman pull quay.io/openshift-release-dev/ocp-release-nightly@sha256:ab5022516a948e40190e4ce5729737780b96c96d2cf4d3fc665105b32d751d20 +``` + +1. Extract required files +``` +podman run -it --entrypoint "/bin/bash" -v /tmp/cvo:/tmp/cvo:z \ +--rm quay.io/openshift-release-dev/ocp-release-nightly@sha256:ab5022516a948e40190e4ce5729737780b96c96d2cf4d3fc665105b32d751d20 + cat release-manifests/0000_50_cloud-credential-operator_05_deployment.yaml > / + tmp/cvo/0000_50_cloud-credential-operator_05_deployment.yaml +``` + +1. Apply changes you need and build image using example `Dockerfile` +``` +FROM quay.io/openshift-release-dev/ocp-release-nightly@sha256:ab5022516a948e40190e4ce5729737780b96c96d2cf4d3fc665105b32d751d20 +ADD 0000_50_cloud-credential-operator_05_deployment.yaml /release-manifests/0000_50_cloud-credential-operator_05_deployment.yaml +ADD image-references /release-manifests/image-references +``` + +1. Publish images to personal repository and update code to use new payload +``` +podman build -t quay.io/$USER/release-payload ./ +podman push quay.io/$USER/release-payload +```