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

Reply via email to