From 0405ec9f76203bce9e6e12e32ff516fe7b7df83e Mon Sep 17 00:00:00 2001 From: Logan V Date: Mon, 30 Oct 2017 11:30:11 -0500 Subject: [PATCH] Update aio job to use become and fix environment The in-tree job definition did not pass the legacy ZUUL environment into sudo or dump the ZUUL_ prefixed vars into zuul.env, so the get-ansible-role-requirements script did not detect that it should use Zuul provided sources when available. This fixes the job definition in several ways: 1) The job definition no longer calls gate-check-commit using the sudo command. Instead become/become_user are placed on the task so ansible will handle the sudoing and we just call gate-check-commit directly now. 2) The zuul legacy environment is removed from the job environment. Only ZUUL_PROJECT is used in the integrated repo[1], so that is the only var we define now, and we do not need anything special to pass it into gate-check-commit since it is no longer running in a sudo wrapper. As a result of these changes, the zuul.env loading code is removed from gate-check-commit. [1] https://github.com/openstack/openstack-ansible/blob/c3ce03873798cd4e71b3fdd4ee9a2eae4bf59d7c/tests/get-ansible-role-requirements.yml#L57 Change-Id: Id0fb8502029e3f996d2557bc09c3314cc884bba8 --- scripts/gate-check-commit.sh | 13 ------------- zuul.d/playbooks/run.yml | 9 +++++++-- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/scripts/gate-check-commit.sh b/scripts/gate-check-commit.sh index b77d787cf8..ee525874f3 100755 --- a/scripts/gate-check-commit.sh +++ b/scripts/gate-check-commit.sh @@ -95,19 +95,6 @@ if [ -n "${DATA_DISK_DEVICE}" ]; then export BOOTSTRAP_OPTS="${BOOTSTRAP_OPTS} bootstrap_host_data_disk_device=${DATA_DISK_DEVICE}" fi -# Grab all the zuul environment variables that -# were exported by the jenkins user into a file. -# This is used for cross-repo testing. -if [ -f zuul.env ]; then - # The ZUUL variables we get in the file are - # not quoted, so we change the file to ensure - # that they are. We also ensure that each - # var is exported so that it's accessible in - # any subshell. - sed -i 's|\(.*\)=\(.*\)$|export \1="\2"|' zuul.env - source zuul.env -fi - # Bootstrap Ansible source "${OSA_CLONE_DIR}/scripts/bootstrap-ansible.sh" diff --git a/zuul.d/playbooks/run.yml b/zuul.d/playbooks/run.yml index f3863826ad..9d1add165b 100644 --- a/zuul.d/playbooks/run.yml +++ b/zuul.d/playbooks/run.yml @@ -1,7 +1,12 @@ - hosts: all tasks: - name: Run gate-check-commit.sh script - command: "sudo scripts/gate-check-commit.sh {{ scenario }} {{ action }}" + become: yes + become_user: root + command: "scripts/gate-check-commit.sh {{ scenario }} {{ action }}" args: chdir: "src/{{ zuul.project.canonical_name }}" - environment: '{{ zuul | zuul_legacy_vars }}' + environment: + # ZUUL_PROJECT is used by tests/get-ansible-role-requirements to + # determine when CI provided repos should be used. + ZUUL_PROJECT: "{{ zuul.project.short_name }}"