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
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
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 ] }
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
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 ] }
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
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
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 <<EOF
cat > /home/jenkins/launch_jenkins_agent.sh <<EOF
#!/bin/bash
source /etc/jenkins-agent/config
+if [[ -f /etc/jenkins-agent/slave-name ]] ; then
+ hname="\$(cat /etc/jenkins-agent/slave-name)"
+else
+ hname="\$(hostname)"
+fi
+ARGS=""
+if [[ -f /etc/jenkins-agent/executor-count ]] ; then
+ ARGS="\${ARGS} -executors \$(cat /etc/jenkins-agent/executor-count)"
+fi
java -jar /home/jenkins/jenkins-swarm-client.jar -fsroot \${fsroot:-/home/jenkins} \
-labelsFile /etc/jenkins-agent/labels \
-master \${master:-http://maintenance-ci.scc.mirantis.net} \
-disableClientsUniqueId \
-username \${username?} \
-password \${password?} \
- -name \$(hostname)
+ -name \${hname} \
+ \$ARGS
EOF
chmod +x /home/jenkins/launch_jenkins_agent.sh
sed -i "s/env libvirtd_opts.*/env libvirtd_opts=\"-d -l\"/" /etc/init/libvirt-bin.conf
-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 "mos-slave" > /etc/jenkins-agent/labels
cat > /etc/jenkins-agent/config <<EOF
cat > /home/jenkins/launch_jenkins_agent.sh <<EOF
#!/bin/bash
source /etc/jenkins-agent/config
+if [[ -f /etc/jenkins-agent/slave-name ]] ; then
+ hname="\$(cat /etc/jenkins-agent/slave-name)"
+else
+ hname="\$(hostname)"
+fi
+ARGS=""
+if [[ -f /etc/jenkins-agent/executor-count ]] ; then
+ ARGS="\${ARGS} -executors \$(cat /etc/jenkins-agent/executor-count)"
+fi
java -jar /home/jenkins/jenkins-swarm-client.jar -fsroot \${fsroot:-/home/jenkins} \
-labelsFile /etc/jenkins-agent/labels \
-master \${master:-http://maintenance-ci.scc.mirantis.net} \
-disableClientsUniqueId \
-username \${username?} \
-password \${password?} \
- -name \$(hostname)
+ -name \${hname} \
+ \$ARGS
EOF
chmod +x /home/jenkins/launch_jenkins_agent.sh
TEMPLATE_FILE="${CUSTOM_HEAT_STACK_YAML}"
elif [[ -f "${HEAT_STACK_YAML}" ]] ; then
TEMPLATE_FILE="${HEAT_STACK_YAML}"
-elif [[ ! -z "{HEAT_STACK_TEMPLATE_NAME}" ]] ; then
- TEMPLATE_FILE="${WORKSPACE}/maintenance-ci/common/data/${HEAT_STACK_TEMPLATE_NAME}-${OPENSTACK_ENVIRONMENT,,}.yml"
+elif [[ ! -z "${HEAT_STACK_TEMPLATE_NAME}" ]] ; then
+ if [[ -f "${WORKSPACE}/maintenance-ci/common/data/${HEAT_STACK_TEMPLATE_NAME}.yml" ]] ; then
+ TEMPLATE_FILE="${WORKSPACE}/maintenance-ci/common/data/${HEAT_STACK_TEMPLATE_NAME}.yml"
+ else
+ TEMPLATE_FILE="${WORKSPACE}/maintenance-ci/common/data/${HEAT_STACK_TEMPLATE_NAME}-${OPENSTACK_ENVIRONMENT,,}.yml"
+ fi
fi
if [[ ! -f "${TEMPLATE_FILE}" ]] ; then