ci-tools
ci-tools copied to clipboard
intra-step leasing: Add lease proxy server specs in prowgen
This is the preparatory work that ci-operator requires in order to run a small lease proxy server.
We are working on the intra-step leasing capability that will allow a step from the ci-operator step registry to acquire lease from boskos.
As of today, ci-operator acquire any leases required by a workflow and then run the test. With the new feature we are about to introduce, a step could also do that by sending requests to ci-operator that will, in turn, forward them to boskos.
A typical scenario looks like so:
-
ci-operatoris supposed to run the e2e-aws-ovn test:
- as: e2e-aws-ovn
skip_if_only_changed: (^(docs|upi|hack)/)|((^|/)OWNERS(_ALIASES)?$)|((^|/)[A-Z]+\.md$)|(^images/(baremetal|libvirt|openstack))|(^cluster-api/providers/([^a]|a[^w]|aw[^s]).*/)|(/agent/)
steps:
cluster_profile: aws-4
env:
AWS_INSTALL_USE_MINIMAL_PERMISSIONS: "yes"
USER_TAGS: |
keyA valueA
key2 value2
keySpecial v@lu3-Special_.:/=+
keyD valueD spaces
workflow: openshift-e2e-aws
- The test uses a
cluster_profile, thereforeci-operatorruns a small HTTP server that acts as a lease proxy server, actually forwarding any requests toboskos. - The workflow
openshift-e2e-awsexecutes. - Every step of the workflow has the
CI_OPERATOR_POD_IPenvironment variable set, that it might uses to send requests to the proxy run byci-operator. - The
ipi-install-installstep runs and tries to acquire a lease from the proxy. -
ci-operatorreceives the request, forwards it toboskosand finally returns the result back to theipi-install-installstep.
ipi-install-install.sh step
|
HTTP POST `/acquire?type=aws-1-qe-quota-slice&count=1`
|
+----> lease-proxy-server run by `ci-operator`
|
HTTP POST `/acquire?type=aws-1-qe-quota-slice&count=1`
|
+----> `boskos`