# Pelorus Prow CI ###### tags: `pelorus` # Documentation: ## Secret config echo "secret config: https://vault.ci.openshift.org/ui/vault/secrets/kv/show/selfservice/konveyor/pelorus/pelorus-github" echo "secretsync/target-name: pelorus-github-secret" echo "secretsync/target-namespace: test-credentials" ls /var/run/konveyor/pelorus/pelorus-github ## Initial Pull request https://github.com/openshift/release/pull/26846 ## Background links * Recommendation from Nikolaos Moraitis is to use steps as documented * https://docs.ci.openshift.org/docs/architecture/step-registry/ * https://docs.ci.openshift.org/docs/how-tos/contributing-openshift-release/ * https://docs.ci.openshift.org/docs/how-tos/onboarding-a-new-component/ ## Reference * https://steps.ci.openshift.org/ci-operator-reference ## Perhaps some similar prow jobs w/ helm * https://github.com/openshift/release/blob/master/ci-operator/config/backube/volsync/backube-volsync-main.yaml * not much else out there. * Getting the running make dev-tools should do all, just pass KUBECONFIG and run installation: ``` # We are in the pelorus-source-code make dev-env source .venv/bin/activate export KUBECONFIG="${SHARED_DIR}/kubeconfig" oc create namespace pelorus helm install operators charts/operators --namespace pelorus helm install pelorus charts/pelorus --namespace pelorus ``` * We could have praw specific charts/pelorus/praw-values.yaml * Other tests are via Makefile, so: ``` # We are in the pelorus-source-code, e.g. simple one make format ``` * Praw also controls the github branch protection rules, for pelorus some from the github actions will need to be added. There are some tekton pipelines, but that's something for later. ## local actions to create and test * kick off job config ``` make new-repo ``` * linting job config ``` make jobs make prow-config make ci-operator-config make ci-operator-checkconfig ``` ## Logging into sub-cluster where pelorus is installed Prow job console: * --> line 5 * open the cluster.. project w/ 4.8 e2e or 4.9 e2e etc * --> pods * e2e-openshift-ipi-install-install * look at the logs here for the sub cluster information ### Ugly notes 1. Covering exporter tests: - Ensure they do compile - Run unit tests https://github.com/konveyor/pelorus/tree/master/exporters/tests - Should we add some more of integration tests? https://github.com/konveyor/pelorus/blob/master/exporters/tests/integration/test_committime.py https://github.com/konveyor/pelorus/tree/master/mocks 2. Prometheus and Grafana tests - Check if they install correctly in OCP cluster Helm testss ? https://github.com/konveyor/pelorus/pull/227/files 3. Current "testing" with bats and conftest https://github.com/konveyor/pelorus/blob/master/.github/workflows/conftest.yaml - https://github.com/konveyor/pelorus/blob/master/_test/TESTING.md https://github.com/konveyor/pelorus/blob/master/.github/workflows/integration-tests.yml https://github.com/konveyor/pelorus/blob/master/.github/workflows/unittests.yml https://github.com/konveyor/pelorus/blob/master/.github/workflows/prometheus-rules.yml Idea? OCP Validations ? Tekton runs a.k.a. demo? https://opentelemetry.io/ ? with prometheus Pull request for the tekton demo: https://github.com/konveyor/pelorus/pull/354 promtool validation for the prometheus https://github.com/konveyor/pelorus/blob/master/_test/prometheus/test.yaml https://github.com/konveyor/pelorus/blob/master/_test/test_prometheusrules ## Pieces to Design 1. Using tekton demo as ci tooling 2. https://github.com/konveyor/pelorus/pull/354 3. Use the test_prometheus existing tooling to poplulate 4. _test/test_prometheusrules 5. Think and design assertations and validations Migi to focus on the tekton demo, Wes to focus on validating data from grafana ## NEXT PHASE At this time n + n-1 4.10, 4.9 - [ ] wes PR #1 - [ ] add vault secret to test job https://github.com/openshift/release/pull/29326 - [ ] update ci_values.yaml to include github && vault secret https://github.com/konveyor/mig-demo-apps/pull/81 - [x] migi Periodic #1 - [x] https://github.com/openshift/release/pull/29423 - [x] https://github.com/konveyor/pelorus/pull/504 - [x] https://github.com/konveyor/mig-demo-apps/pull/84 - [x] migi Periodic #2 - [x] https://github.com/konveyor/mig-demo-apps/pull/85 - [x] https://github.com/openshift/release/pull/29423 ### Periodic Pelorus * job #1 - latest stable (@mpryc) * use quay images * use CURRENT documented Pelorus install * consider Post MERGE at another time. * job #2 - latest tag (@mpryc) * use mix of quay images and build from s2i * https://hackmd.io/KtOn6l6lQ1W8xmcrVpb4Aw * Quay with latest tag * Different refspec (master) from GIT ### Pull Request * job #1 ( protect current install workflow ) * walk the default install * default deployment exporter * helm upgrade w/ committime and deploytime * this incremetaly have github failure exporter * job #2 ( protect the proposed MVR ) * configmaps * NOT QUAY IMAGES * Exporters: * committime * github commit * gitlab commit ( or other ) * deploytime * current todolist-mongo manifest * binary build * failure * jira * github ### Secrets secrets jira https://vault.ci.openshift.org/ui/vault/secrets/kv/show/selfservice/konveyor/pelorus/jira github https://vault.ci.openshift.org/ui/vault/secrets/kv/show/selfservice/konveyor/pelorus/github vault.ci.openshift.org — notifications, repo Expires on Wed, Nov 30 2022. ##### Doc https://docs.ci.openshift.org/docs/how-tos/adding-a-new-secret-to-ci/#add-a-new-secret ### Thanos - [ ] add thanos install to CI ( when related PR's are done ) - [ ] Related PR's - [ ] https://github.com/konveyor/pelorus/issues/477 - [ ]