|
@@ -19,7 +19,6 @@ else
|
|
|
fi
|
|
|
export target_branch
|
|
|
|
|
|
-
|
|
|
# Need to define some git variables for rebase.
|
|
|
git config --global user.email "ci@openshift.org"
|
|
|
git config --global user.name "OpenShift Atomic CI"
|
|
@@ -27,16 +26,31 @@ git config --global user.name "OpenShift Atomic CI"
|
|
|
# Rebase existing branch on the latest code locally, as PAPR running doesn't do merges
|
|
|
git fetch origin ${target_branch_in} && git rebase origin/${target_branch_in}
|
|
|
|
|
|
-pip install -r requirements.txt
|
|
|
-
|
|
|
PAPR_INVENTORY=${PAPR_INVENTORY:-.papr.inventory}
|
|
|
PAPR_RUN_UPDATE=${PAPR_RUN_UPDATE:-0}
|
|
|
+PAPR_UPGRADE_FROM=${PAPR_UPGRADE_FROM:-0}
|
|
|
+PAPR_EXTRAVARS=""
|
|
|
+
|
|
|
+# Replace current branch with PAPR_UPGRADE_FROM
|
|
|
+if [[ "${PAPR_UPGRADE_FROM}" != "0" ]]; then
|
|
|
+ git branch new-code
|
|
|
+ git checkout release-${PAPR_UPGRADE_FROM}
|
|
|
+ git clean -fdx
|
|
|
+ PAPR_EXTRAVARS="-e openshift_release=${PAPR_UPGRADE_FROM}"
|
|
|
+fi
|
|
|
+
|
|
|
+pip install -r requirements.txt
|
|
|
|
|
|
# Human-readable output
|
|
|
export ANSIBLE_STDOUT_CALLBACK=debug
|
|
|
|
|
|
# ping the nodes to check they're responding and register their ostree versions
|
|
|
-ansible -vvv -i $PAPR_INVENTORY nodes -a 'rpm-ostree status'
|
|
|
+ansible -vv -i $PAPR_INVENTORY nodes -a 'rpm-ostree status'
|
|
|
+
|
|
|
+# Make sure hostname -f returns correct node name
|
|
|
+ansible -vv -i $PAPR_INVENTORY nodes -m setup
|
|
|
+ansible -vv -i $PAPR_INVENTORY nodes -a "hostnamectl set-hostname {{ ansible_default_ipv4.address }}"
|
|
|
+ansible -vv -i $PAPR_INVENTORY nodes -m setup -a "gather_subset=min"
|
|
|
|
|
|
upload_journals() {
|
|
|
mkdir journals
|
|
@@ -52,12 +66,18 @@ upload_journals() {
|
|
|
trap upload_journals ERR
|
|
|
|
|
|
# run the prerequisites play
|
|
|
-ansible-playbook -vvv -i $PAPR_INVENTORY playbooks/prerequisites.yml
|
|
|
+ansible-playbook -vvv -i $PAPR_INVENTORY $PAPR_EXTRAVARS playbooks/prerequisites.yml
|
|
|
|
|
|
# run the actual installer
|
|
|
-ansible-playbook -vvv -i $PAPR_INVENTORY playbooks/deploy_cluster.yml
|
|
|
+ansible-playbook -vvv -i $PAPR_INVENTORY $PAPR_EXTRAVARS playbooks/deploy_cluster.yml
|
|
|
+
|
|
|
+# Restore the branch if needed
|
|
|
+if [[ "${PAPR_UPGRADE_FROM}" != "0" ]]; then
|
|
|
+ git checkout new-code
|
|
|
+ git clean -fdx
|
|
|
+fi
|
|
|
|
|
|
-# Run upgrade playbook (to a minor version)
|
|
|
+# Run upgrade playbook
|
|
|
if [[ "${PAPR_RUN_UPDATE}" != "0" ]]; then
|
|
|
update_version="$(echo $target_branch | sed 's/\./_/')"
|
|
|
ansible-playbook -vvv -i $PAPR_INVENTORY playbooks/byo/openshift-cluster/upgrades/v${update_version}/upgrade.yml
|