Merge "Add prepare-workspace-openshift role"
This commit is contained in:
commit
5ea9bac2df
@ -25,6 +25,7 @@ General Purpose Roles
|
|||||||
.. zuul:autorole:: persistent-firewall
|
.. zuul:autorole:: persistent-firewall
|
||||||
.. zuul:autorole:: prepare-workspace
|
.. zuul:autorole:: prepare-workspace
|
||||||
.. zuul:autorole:: prepare-workspace-git
|
.. zuul:autorole:: prepare-workspace-git
|
||||||
|
.. zuul:autorole:: prepare-workspace-openshift
|
||||||
.. zuul:autorole:: remove-build-sshkey
|
.. zuul:autorole:: remove-build-sshkey
|
||||||
.. zuul:autorole:: remove-gpgkey
|
.. zuul:autorole:: remove-gpgkey
|
||||||
.. zuul:autorole:: remove-sshkey
|
.. zuul:autorole:: remove-sshkey
|
||||||
|
15
roles/prepare-workspace-openshift/README.rst
Normal file
15
roles/prepare-workspace-openshift/README.rst
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Prepare remote workspaces
|
||||||
|
|
||||||
|
This role can be used instead of the `prepare-workspace` role when the
|
||||||
|
synchronize module doesn't work with kubectl connection. It copies the
|
||||||
|
prepared source repos to the pods' cwd using the `oc rsync` command.
|
||||||
|
|
||||||
|
This role is intended to run once before any other role in a Zuul job.
|
||||||
|
This role requires the origin-clients to be installed.
|
||||||
|
|
||||||
|
**Role Variables**
|
||||||
|
|
||||||
|
.. zuul:rolevar:: openshift_pods
|
||||||
|
:default: {{ zuul.resources }}
|
||||||
|
|
||||||
|
The dictionary of pod name, pod information to copy the sources to.
|
1
roles/prepare-workspace-openshift/defaults/main.yaml
Normal file
1
roles/prepare-workspace-openshift/defaults/main.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
openshift_pods: "{{ zuul.resources }}"
|
4
roles/prepare-workspace-openshift/tasks/main.yaml
Normal file
4
roles/prepare-workspace-openshift/tasks/main.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
- include_tasks: rsync.yaml
|
||||||
|
when: item.1.pod is defined
|
||||||
|
loop: "{{ openshift_pods.items()|list }}"
|
17
roles/prepare-workspace-openshift/tasks/rsync.yaml
Normal file
17
roles/prepare-workspace-openshift/tasks/rsync.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
- name: Create src directory
|
||||||
|
command: >
|
||||||
|
oc --context "{{ item.1.context }}"
|
||||||
|
--namespace "{{ item.1.namespace }}"
|
||||||
|
exec {{ item.1.pod }} mkdir src
|
||||||
|
delegate_to: localhost
|
||||||
|
|
||||||
|
- name: Copy src repos to the pod
|
||||||
|
command: >
|
||||||
|
oc --context "{{ item.1.context }}"
|
||||||
|
--namespace "{{ item.1.namespace }}"
|
||||||
|
rsync -q --progress=false
|
||||||
|
{{ zuul.executor.src_root }}/
|
||||||
|
{{ item.1.pod }}:src/
|
||||||
|
no_log: true
|
||||||
|
delegate_to: localhost
|
Loading…
Reference in New Issue
Block a user