Andrew Bogott has submitted this change and it was merged. Change subject: nodepool: stop using diskimage ......................................................................
nodepool: stop using diskimage Diskimage is yet another image creation tool and we probably have enough. Moreover Nodepool would require root access on the machine to rebuild image periodically (T102281). Stop using diskimage-builder Switch to `base-image` which instructs Nodepool to use the given image name provided by the cloud provider (wmflabs) Change image name from ci-dib-jessie-wikimedia to ci-jessie-wikimedia RelEng will build and upload the image manually for now. Bug: T102281 Change-Id: I27fb0bf5843bfad53ba610da948bc4935f0391df --- D modules/nodepool/files/elements/nodepool-base/README.rst D modules/nodepool/files/elements/nodepool-base/element-deps D modules/nodepool/files/elements/nodepool-base/extra-data.d/99-copy-nodepool-scripts D modules/nodepool/files/elements/nodepool-base/finalise.d/99-nodepool-dir D modules/nodepool/files/elements/nodepool-base/install.d/05-record-details D modules/nodepool/files/elements/nodepool-base/install.d/package-installs-java D modules/nodepool/files/elements/wikimedia-networking/element-deps D modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-dhcp-client D modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-net-tools M modules/nodepool/manifests/init.pp M modules/nodepool/templates/nodepool.yaml.erb 11 files changed, 6 insertions(+), 135 deletions(-) Approvals: Andrew Bogott: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/nodepool/files/elements/nodepool-base/README.rst b/modules/nodepool/files/elements/nodepool-base/README.rst deleted file mode 100644 index 75ee300..0000000 --- a/modules/nodepool/files/elements/nodepool-base/README.rst +++ /dev/null @@ -1,4 +0,0 @@ -nodepool-base -------------- - -NodePool element to prepare an image to be connected with Jenkins. diff --git a/modules/nodepool/files/elements/nodepool-base/element-deps b/modules/nodepool/files/elements/nodepool-base/element-deps deleted file mode 100644 index 7076aba..0000000 --- a/modules/nodepool/files/elements/nodepool-base/element-deps +++ /dev/null @@ -1 +0,0 @@ -package-installs diff --git a/modules/nodepool/files/elements/nodepool-base/extra-data.d/99-copy-nodepool-scripts b/modules/nodepool/files/elements/nodepool-base/extra-data.d/99-copy-nodepool-scripts deleted file mode 100755 index e1ce4bb..0000000 --- a/modules/nodepool/files/elements/nodepool-base/extra-data.d/99-copy-nodepool-scripts +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. -# -# 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. - -# Copy the nodepools scripts into the image - -# This is 99 because it needs to depend on source-repositories having been -# run, because the default fallthrough location for the nodepool scripts -# is the git repo that's been cloned into the image. - -# During a nodepool run, it's expected that NODEPOOL_SCRIPTDIR is set, in -# which case ordering doesn't matter - but for a developer hacking locally -# who is not hacking on those scripts, it's an imposition to make them -# set an env var. - -if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then - set -x -fi -set -eu -set -o pipefail - -NODEPOOL_SCRIPTDIR=${NODEPOOL_SCRIPTDIR:-$TMP_MOUNT_PATH/opt/git/openstack-infra/project-config/nodepool/scripts} - -sudo cp -a $NODEPOOL_SCRIPTDIR $TMP_MOUNT_PATH/opt/nodepool-scripts -sudo chmod -R a+rx $TMP_MOUNT_PATH/opt/nodepool-scripts diff --git a/modules/nodepool/files/elements/nodepool-base/finalise.d/99-nodepool-dir b/modules/nodepool/files/elements/nodepool-base/finalise.d/99-nodepool-dir deleted file mode 100755 index 7e36a2d..0000000 --- a/modules/nodepool/files/elements/nodepool-base/finalise.d/99-nodepool-dir +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# Copyright (C) 2011-2013 OpenStack Foundation -# -# 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. - -set -ex - -# Nodepool expects this dir to exist when it boots slaves. -# Nodepool writes environment info to this dir. We set the mode -# to 0777 so that any user can access this env info. -mkdir /etc/nodepool -chmod 0777 /etc/nodepool diff --git a/modules/nodepool/files/elements/nodepool-base/install.d/05-record-details b/modules/nodepool/files/elements/nodepool-base/install.d/05-record-details deleted file mode 100755 index 534399c..0000000 --- a/modules/nodepool/files/elements/nodepool-base/install.d/05-record-details +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -xe -# Copyright (C) 2014 Hewlett-Packard Development Company, L.P. -# -# 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. - -echo $DIB_IMAGE_NAME > /etc/image-hostname.txt diff --git a/modules/nodepool/files/elements/nodepool-base/install.d/package-installs-java b/modules/nodepool/files/elements/nodepool-base/install.d/package-installs-java deleted file mode 100644 index 40921b6..0000000 --- a/modules/nodepool/files/elements/nodepool-base/install.d/package-installs-java +++ /dev/null @@ -1,2 +0,0 @@ -# For the Jenkins client -openjdk-7-jre-headless diff --git a/modules/nodepool/files/elements/wikimedia-networking/element-deps b/modules/nodepool/files/elements/wikimedia-networking/element-deps deleted file mode 100644 index 7076aba..0000000 --- a/modules/nodepool/files/elements/wikimedia-networking/element-deps +++ /dev/null @@ -1 +0,0 @@ -package-installs diff --git a/modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-dhcp-client b/modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-dhcp-client deleted file mode 100644 index 1cc3c36..0000000 --- a/modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-dhcp-client +++ /dev/null @@ -1 +0,0 @@ -isc-dhcp-client diff --git a/modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-net-tools b/modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-net-tools deleted file mode 100644 index 112b1a0..0000000 --- a/modules/nodepool/files/elements/wikimedia-networking/install.d/package-installs-net-tools +++ /dev/null @@ -1,2 +0,0 @@ -# Provides ifconfig for cloud-init -net-tools diff --git a/modules/nodepool/manifests/init.pp b/modules/nodepool/manifests/init.pp index ac15dc5..75f27fa 100644 --- a/modules/nodepool/manifests/init.pp +++ b/modules/nodepool/manifests/init.pp @@ -182,21 +182,10 @@ mode => '0600', } - file { '/etc/nodepool/elements': - ensure => directory, - owner => 'nodepool', - group => 'nodepool', - recurse => true, - purge => true, - source => 'puppet:///modules/nodepool/elements', - require => Package['nodepool'], - } - file { '/etc/nodepool/nodepool.yaml': content => template('nodepool/nodepool.yaml.erb'), require => [ Package['nodepool'], - File['/etc/nodepool/elements'], ] } diff --git a/modules/nodepool/templates/nodepool.yaml.erb b/modules/nodepool/templates/nodepool.yaml.erb index 6e0a80e..e149563 100644 --- a/modules/nodepool/templates/nodepool.yaml.erb +++ b/modules/nodepool/templates/nodepool.yaml.erb @@ -3,7 +3,7 @@ # Directory providing additional diskimage-builder elements. # http://docs.openstack.org/infra/nodepool/configuration.html#elements-dir -elements-dir: /etc/nodepool/elements +#elements-dir: /etc/nodepool/elements # Directory where Nodepool / diskimage-builder stores created images. # http://docs.openstack.org/infra/nodepool/configuration.html#images-dir @@ -47,8 +47,8 @@ # Jenkins labels labels: - - name: ci-dib-jessie-wikimedia - image: ci-dib-jessie-wikimedia + - name: ci-jessie-wikimedia + image: ci-jessie-wikimedia #ready-script: ready.sh min-ready: 1 providers: @@ -69,8 +69,9 @@ # 'eqiad.wmflabs' is magically added by wmflabs template-hostname: '{image.name}-{timestamp}' images: - - name: ci-dib-jessie-wikimedia - diskimage: ci-dib-jessie-wikimedia + - name: ci-jessie-wikimedia + # RelEng manually build and upload the image to Glance + base-image: ci-jessie-wikimedia meta: properties: # Let Horizon/Wikitech display the image (T105015) @@ -80,30 +81,3 @@ #setup: setup.sh username: jenkins private-key: /var/lib/nodepool/.ssh/dib_jenkins_id_rsa - -# See doc at http://docs.openstack.org/developer/diskimage-builder/ -diskimages: - - name: ci-dib-jessie-wikimedia - elements: - - debian - - debian-systemd - - cloud-init-datasources - - vm - - devuser - - wikimedia-networking - - nodepool-base - release: jessie - env-vars: - DIB_IMAGE_CACHE: '<%= @dib_cache_dir -%>' - QEMU_IMG_OPTIONS: compat=0.10 - - # debian element - DIB_RELEASE: jessie - DIB_DISTRIBUTION_MIRROR: http://mirrors.wikimedia.org/debian/ - - # cloud-init-datasources - DIB_CLOUD_INIT_DATASOURCES: Ec2 - - # devuser element - DIB_DEV_USER_USERNAME: jenkins - DIB_DEV_USER_AUTHORIZED_KEYS: /var/lib/nodepool/.ssh/dib_jenkins_id_rsa.pub -- To view, visit https://gerrit.wikimedia.org/r/227461 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I27fb0bf5843bfad53ba610da948bc4935f0391df Gerrit-PatchSet: 3 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Hashar <[email protected]> Gerrit-Reviewer: Andrew Bogott <[email protected]> Gerrit-Reviewer: Dduvall <[email protected]> Gerrit-Reviewer: Hashar <[email protected]> Gerrit-Reviewer: Zfilipin <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
