From affdbab218bd4abeed5e49da8b1930c46ddd2ea1 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sat, 10 Feb 2018 18:05:56 +0100 Subject: [PATCH] Consolidate common.sh script copying Create new role for copying common scripts, this includes for now only common.sh. Use this for proposal and translation jobs. In the past we duplicated the file, this allows to have one definition only. Change-Id: I72c14341f511fdaa2c67a3758387afc9445869cc --- playbooks/proposal/pre.yaml | 1 + playbooks/translation/pre.yaml | 1 + roles/copy-proposal-common-scripts/README.rst | 4 + .../files}/common.sh | 0 .../tasks/main.yaml | 8 ++ roles/prep-zanata/files/common.sh | 93 ------------------- roles/prep-zanata/tasks/main.yaml | 1 - 7 files changed, 14 insertions(+), 94 deletions(-) create mode 100644 roles/copy-proposal-common-scripts/README.rst rename {jenkins/scripts => roles/copy-proposal-common-scripts/files}/common.sh (100%) create mode 100644 roles/copy-proposal-common-scripts/tasks/main.yaml delete mode 100644 roles/prep-zanata/files/common.sh diff --git a/playbooks/proposal/pre.yaml b/playbooks/proposal/pre.yaml index 59cdb35048..1c4f568c70 100644 --- a/playbooks/proposal/pre.yaml +++ b/playbooks/proposal/pre.yaml @@ -10,6 +10,7 @@ user.email: openstack-infra@lists.openstack.org gitreview.username: proposal-bot - legacy-copy-project-config-scripts + - copy-proposal-common-scripts - add-sshkey - bindep - ensure-tox diff --git a/playbooks/translation/pre.yaml b/playbooks/translation/pre.yaml index a081722371..c5c1b68297 100644 --- a/playbooks/translation/pre.yaml +++ b/playbooks/translation/pre.yaml @@ -5,3 +5,4 @@ - sphinx - reno - ensure-babel + - copy-proposal-common-scripts diff --git a/roles/copy-proposal-common-scripts/README.rst b/roles/copy-proposal-common-scripts/README.rst new file mode 100644 index 0000000000..dbd5c1fa11 --- /dev/null +++ b/roles/copy-proposal-common-scripts/README.rst @@ -0,0 +1,4 @@ +Copy common scripts to remote hosts + +Copy common files in ``scripts`` directory in remote home directory. + diff --git a/jenkins/scripts/common.sh b/roles/copy-proposal-common-scripts/files/common.sh similarity index 100% rename from jenkins/scripts/common.sh rename to roles/copy-proposal-common-scripts/files/common.sh diff --git a/roles/copy-proposal-common-scripts/tasks/main.yaml b/roles/copy-proposal-common-scripts/tasks/main.yaml new file mode 100644 index 0000000000..331e34c189 --- /dev/null +++ b/roles/copy-proposal-common-scripts/tasks/main.yaml @@ -0,0 +1,8 @@ +- name: Copy the common files to the remote node + copy: + # src is relative to the dir the playbook is in on the executor + dest: "{{ ansible_user_dir }}/scripts/" + src: '{{ item }}' + mode: 0755 + with_items: + - common.sh diff --git a/roles/prep-zanata/files/common.sh b/roles/prep-zanata/files/common.sh deleted file mode 100644 index c61759bc04..0000000000 --- a/roles/prep-zanata/files/common.sh +++ /dev/null @@ -1,93 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# Setup git so that git review works: -# * git review set up is done as part of the playbooks -# * Set up a branch in case the repo started with a detached head. -function setup_git { - - # Initial state of repository is detached, create a branch to work - # from. Otherwise git review will complain. - git checkout -B proposals -} - -# See if there is already open change. If so, get the change id for -# the existing change for use in the commit msg. -# Sets the variables CHANGE_ID and CHANGE_NUM if there is a previous change. -# Sets variable COMMIT_MSG to include change id and INITIAL_COMMIT_MSG. -function setup_commit_message { - local PROJECT=$1 - local USERNAME=$2 - local BRANCH=$3 - local TOPIC=$4 - local INITIAL_COMMIT_MSG=$5 - - # Clear any old values - CHANGE_ID="" - # CHANGE_NUM will be the change number (for example 519105) - CHANGE_NUM="" - # See if there is an open change, if so, get the change id for the - # existing change for use in the commit message. - local change_info=$(ssh -p 29418 $USERNAME@review.openstack.org \ - gerrit query --current-patch-set status:open project:$PROJECT \ - owner:$USERNAME branch:$BRANCH topic:$TOPIC) - CHANGE_NUM=$(echo "$change_info" | grep "^ number:" | awk '{print $2}') - if [ -n "$CHANGE_NUM" ]; then - CHANGE_ID=$(echo "$change_info" | grep "^change" | awk '{print $2}') - # read returns a non zero value when it reaches EOF. Because we use a - # heredoc here it will always reach EOF and return a nonzero value. - # Disable -e temporarily to get around the read. - # The reason we use read is to allow for multiline variable content - # and variable interpolation. Simply double quoting a string across - # multiple lines removes the newlines. - set +e - read -d '' COMMIT_MSG <