From 71c6876caf4abd1d6500cd2e2eb37fbf5786b8a4 Mon Sep 17 00:00:00 2001 From: Vladimir Khlyunev Date: Mon, 5 Aug 2019 13:30:28 +0400 Subject: [PATCH] Allow to control slave executors count via flavor Also shorten jenkins skave name Also updated jenkins swarm agent to latest Change-Id: I6142db9495894df2e97930a43aa2c5215aa2e6e4 --- maintenance-ci/common/data/jenkins-slave.yml | 9 ++++++++- maintenance-ci/common/data/mos-dev-slave-eu.yml | 8 ++++++++ maintenance-ci/common/data/mos-dev-slave-us.yml | 8 ++++++++ maintenance-ci/common/data/mos-slave-eu.yml | 7 +++++++ maintenance-ci/common/data/mos-slave-us.yml | 7 +++++++ .../common/scripts/build_base_swarm_slave_image.sh | 14 ++++++++++++-- .../common/scripts/build_mos_swarm_slave_image.sh | 14 ++++++++++++-- maintenance-ci/common/scripts/deploy_heat_stack.sh | 8 ++++++-- 8 files changed, 68 insertions(+), 7 deletions(-) diff --git a/maintenance-ci/common/data/jenkins-slave.yml b/maintenance-ci/common/data/jenkins-slave.yml index c549726..8c77e4f 100644 --- a/maintenance-ci/common/data/jenkins-slave.yml +++ b/maintenance-ci/common/data/jenkins-slave.yml @@ -121,8 +121,15 @@ resources: echo "127.0.0.1 $(hostname)" >> /etc/hosts echo "FLOATING" > /etc/jenkins-agent/description echo "OPENSTACK_ENVIRONMENT" > /etc/jenkins-agent/location + + echo "$(hostname | sed 's/-node-.*//')" > /etc/jenkins-agent/slave-name + if [[ "FLAVOR" == *"mos.fuel.base"* ]] ; then + echo "8" > /etc/jenkins-agent/executor-count + elif [[ "FLAVOR" == *"mos.fuel.huge"* ]] ; then + echo "16" > /etc/jenkins-agent/executor-count + fi + systemctl enable jenkins-swarm-agent - #service jenkins-swarm-agent start apt update sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT=\).*$/\1\"console=tty1 console=ttyS0 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier\"/g' /etc/default/grub.d/50-cloudimg-settings.cfg #apt install -y linux-generic-hwe-16.04 linux-tools-generic-hwe-16.04 linux-cloud-tools-generic-hwe-16.04 linux-tools-common diff --git a/maintenance-ci/common/data/mos-dev-slave-eu.yml b/maintenance-ci/common/data/mos-dev-slave-eu.yml index 1cfd69f..2c13cdb 100644 --- a/maintenance-ci/common/data/mos-dev-slave-eu.yml +++ b/maintenance-ci/common/data/mos-dev-slave-eu.yml @@ -140,6 +140,13 @@ resources: echo "FLOATING" > /etc/jenkins-agent/description echo "OPENSTACK_ENVIRONMENT" > /etc/jenkins-agent/location + echo "$(hostname | sed 's/-node-.*//')" > /etc/jenkins-agent/slave-name + if [[ "FLAVOR" == *"mos.fuel.base"* ]] ; then + echo "8" > /etc/jenkins-agent/executor-count + elif [[ "FLAVOR" == *"mos.fuel.huge"* ]] ; then + echo "16" > /etc/jenkins-agent/executor-count + fi + apt update sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT=\).*$/\1\"console=tty1 console=ttyS0 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier\"/g' /etc/default/grub.d/50-cloudimg-settings.cfg apt install -y linux-generic-hwe-16.04 linux-tools-generic-hwe-16.04 linux-cloud-tools-generic-hwe-16.04 linux-tools-common @@ -149,6 +156,7 @@ resources: wc_notify --data-binary '{"status": "SUCCESS"}' reboot params: + FLAVOR: {get_param: flavor} LABELS: {get_param: jenkins_labels} wc_notify: { get_attr: [wait_handle, curl_cli] } FLOATING: { get_attr: [ floating_ip, floating_ip_address ] } diff --git a/maintenance-ci/common/data/mos-dev-slave-us.yml b/maintenance-ci/common/data/mos-dev-slave-us.yml index 36fdb73..6b1f6e9 100644 --- a/maintenance-ci/common/data/mos-dev-slave-us.yml +++ b/maintenance-ci/common/data/mos-dev-slave-us.yml @@ -122,6 +122,13 @@ resources: echo "FLOATING" > /etc/jenkins-agent/description echo "OPENSTACK_ENVIRONMENT" > /etc/jenkins-agent/location + echo "$(hostname | sed 's/-node-.*//')" > /etc/jenkins-agent/slave-name + if [[ "FLAVOR" == *"mos.fuel.base"* ]] ; then + echo "8" > /etc/jenkins-agent/executor-count + elif [[ "FLAVOR" == *"mos.fuel.huge"* ]] ; then + echo "16" > /etc/jenkins-agent/executor-count + fi + apt update sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT=\).*$/\1\"console=tty1 console=ttyS0 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier\"/g' /etc/default/grub.d/50-cloudimg-settings.cfg apt install -y linux-generic-hwe-16.04 linux-tools-generic-hwe-16.04 linux-cloud-tools-generic-hwe-16.04 linux-tools-common @@ -131,6 +138,7 @@ resources: wc_notify --data-binary '{"status": "SUCCESS"}' reboot params: + FLAVOR: {get_param: flavor} LABELS: {get_param: jenkins_labels} wc_notify: { get_attr: [wait_handle, curl_cli] } FLOATING: { get_attr: [ floating_ip, floating_ip_address ] } diff --git a/maintenance-ci/common/data/mos-slave-eu.yml b/maintenance-ci/common/data/mos-slave-eu.yml index 6b1bd6c..e2a3e4b 100644 --- a/maintenance-ci/common/data/mos-slave-eu.yml +++ b/maintenance-ci/common/data/mos-slave-eu.yml @@ -140,6 +140,13 @@ resources: echo "FLOATING" > /etc/jenkins-agent/description echo "OPENSTACK_ENVIRONMENT" > /etc/jenkins-agent/location + echo "$(hostname | sed 's/-node-.*//')" > /etc/jenkins-agent/slave-name + if [[ "FLAVOR" == *"mos.fuel.base"* ]] ; then + echo "8" > /etc/jenkins-agent/executor-count + elif [[ "FLAVOR" == *"mos.fuel.huge"* ]] ; then + echo "16" > /etc/jenkins-agent/executor-count + fi + apt update sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT=\).*$/\1\"console=tty1 console=ttyS0 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier\"/g' /etc/default/grub.d/50-cloudimg-settings.cfg apt install -y linux-generic-hwe-16.04 linux-tools-generic-hwe-16.04 linux-cloud-tools-generic-hwe-16.04 linux-tools-common diff --git a/maintenance-ci/common/data/mos-slave-us.yml b/maintenance-ci/common/data/mos-slave-us.yml index 852a53e..dc75264 100644 --- a/maintenance-ci/common/data/mos-slave-us.yml +++ b/maintenance-ci/common/data/mos-slave-us.yml @@ -122,6 +122,13 @@ resources: echo "FLOATING" > /etc/jenkins-agent/description echo "OPENSTACK_ENVIRONMENT" > /etc/jenkins-agent/location + echo "$(hostname | sed 's/-node-.*//')" > /etc/jenkins-agent/slave-name + if [[ "FLAVOR" == *"mos.fuel.base"* ]] ; then + echo "8" > /etc/jenkins-agent/executor-count + elif [[ "FLAVOR" == *"mos.fuel.huge"* ]] ; then + echo "16" > /etc/jenkins-agent/executor-count + fi + apt update sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT=\).*$/\1\"console=tty1 console=ttyS0 noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier\"/g' /etc/default/grub.d/50-cloudimg-settings.cfg apt install -y linux-generic-hwe-16.04 linux-tools-generic-hwe-16.04 linux-cloud-tools-generic-hwe-16.04 linux-tools-common diff --git a/maintenance-ci/common/scripts/build_base_swarm_slave_image.sh b/maintenance-ci/common/scripts/build_base_swarm_slave_image.sh index 915ec34..ecff734 100644 --- a/maintenance-ci/common/scripts/build_base_swarm_slave_image.sh +++ b/maintenance-ci/common/scripts/build_base_swarm_slave_image.sh @@ -49,7 +49,7 @@ python get-pip.py pip install -U setuptools wheel pip install virtualenv -wget -O /home/jenkins/jenkins-swarm-client.jar https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/3.9/swarm-client-3.9.jar +wget -O /home/jenkins/jenkins-swarm-client.jar https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/3.17/swarm-client-3.17.jar mkdir /etc/jenkins-agent echo "base-slave" > /etc/jenkins-agent/labels cat > /etc/jenkins-agent/config < /home/jenkins/launch_jenkins_agent.sh < /etc/jenkins-agent/labels cat > /etc/jenkins-agent/config < /home/jenkins/launch_jenkins_agent.sh <