Merge "Remove script-dir"
This commit is contained in:
commit
deb0aecc80
@ -67,29 +67,7 @@ function nodepool_create_keypairs {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function nodepool_write_prepare {
|
function nodepool_write_elements {
|
||||||
sudo mkdir -p $(dirname $NODEPOOL_CONFIG)/scripts
|
|
||||||
local pub_key=$(cat $NODEPOOL_PUBKEY)
|
|
||||||
|
|
||||||
cat > /tmp/prepare_node_ubuntu.sh <<EOF
|
|
||||||
#!/bin/bash -x
|
|
||||||
sudo adduser --disabled-password --gecos "" jenkins
|
|
||||||
sudo mkdir -p /home/jenkins/.ssh
|
|
||||||
cat > tmp_authorized_keys << INNEREOF
|
|
||||||
$pub_key
|
|
||||||
INNEREOF
|
|
||||||
sudo mv tmp_authorized_keys /home/jenkins/.ssh/authorized_keys
|
|
||||||
sudo chmod 700 /home/jenkins/.ssh
|
|
||||||
sudo chmod 600 /home/jenkins/.ssh/authorized_keys
|
|
||||||
sudo chown -R jenkins:jenkins /home/jenkins
|
|
||||||
sleep 5
|
|
||||||
sync
|
|
||||||
EOF
|
|
||||||
sudo mv /tmp/prepare_node_ubuntu.sh \
|
|
||||||
$(dirname $NODEPOOL_CONFIG)/scripts/prepare_node_ubuntu.sh
|
|
||||||
|
|
||||||
sudo chmod a+x $(dirname $NODEPOOL_CONFIG)/scripts/prepare_node_ubuntu.sh
|
|
||||||
|
|
||||||
sudo mkdir -p $(dirname $NODEPOOL_CONFIG)/elements/nodepool-setup/install.d
|
sudo mkdir -p $(dirname $NODEPOOL_CONFIG)/elements/nodepool-setup/install.d
|
||||||
cat > /tmp/01-nodepool-setup <<EOF
|
cat > /tmp/01-nodepool-setup <<EOF
|
||||||
sudo mkdir -p /etc/nodepool
|
sudo mkdir -p /etc/nodepool
|
||||||
@ -171,10 +149,9 @@ EOF
|
|||||||
DIB_GET_PIP="DIB_REPOLOCATION_pip_and_virtualenv: file://$NODEPOOL_CACHE_GET_PIP"
|
DIB_GET_PIP="DIB_REPOLOCATION_pip_and_virtualenv: file://$NODEPOOL_CACHE_GET_PIP"
|
||||||
fi
|
fi
|
||||||
cat > /tmp/nodepool.yaml <<EOF
|
cat > /tmp/nodepool.yaml <<EOF
|
||||||
# You will need to make and populate these two paths as necessary,
|
# You will need to make and populate this path as necessary,
|
||||||
# cloning nodepool does not do this. Further in this doc we have an
|
# cloning nodepool does not do this. Further in this doc we have an
|
||||||
# example script for /path/to/nodepool/things/scripts.
|
# example element.
|
||||||
script-dir: $(dirname $NODEPOOL_CONFIG)/scripts
|
|
||||||
elements-dir: $(dirname $NODEPOOL_CONFIG)/elements
|
elements-dir: $(dirname $NODEPOOL_CONFIG)/elements
|
||||||
images-dir: $NODEPOOL_DIB_BASE_PATH/images
|
images-dir: $NODEPOOL_DIB_BASE_PATH/images
|
||||||
# The mysql password here may be different depending on your
|
# The mysql password here may be different depending on your
|
||||||
@ -381,8 +358,8 @@ function configure_nodepool {
|
|||||||
# write the nodepool config
|
# write the nodepool config
|
||||||
nodepool_write_config
|
nodepool_write_config
|
||||||
|
|
||||||
# write the prepare node script
|
# write the elements
|
||||||
nodepool_write_prepare
|
nodepool_write_elements
|
||||||
|
|
||||||
# builds a fresh db
|
# builds a fresh db
|
||||||
recreate_database nodepool
|
recreate_database nodepool
|
||||||
|
@ -72,19 +72,6 @@ full configuration file may have the ``diskimages``, ``labels``,
|
|||||||
The following sections are available. All are required unless
|
The following sections are available. All are required unless
|
||||||
otherwise indicated.
|
otherwise indicated.
|
||||||
|
|
||||||
script-dir
|
|
||||||
----------
|
|
||||||
When creating an image to use when launching new nodes, Nodepool will
|
|
||||||
run a script that is expected to prepare the machine before the
|
|
||||||
snapshot image is created. The ``script-dir`` parameter indicates a
|
|
||||||
directory that holds all of the scripts needed to accomplish this.
|
|
||||||
Nodepool will copy the entire directory to the machine before invoking
|
|
||||||
the appropriate script for the image being created.
|
|
||||||
|
|
||||||
Example::
|
|
||||||
|
|
||||||
script-dir: /path/to/script/dir
|
|
||||||
|
|
||||||
.. _elements-dir:
|
.. _elements-dir:
|
||||||
|
|
||||||
elements-dir
|
elements-dir
|
||||||
|
@ -1,36 +1,7 @@
|
|||||||
.. _scripts:
|
.. _scripts:
|
||||||
|
|
||||||
Node Prep Scripts
|
Node Ready Scripts
|
||||||
=================
|
==================
|
||||||
|
|
||||||
Nodepool requires the specification of a script directory
|
|
||||||
(`script-dir`) in its configuration. When Nodepool starts a virtual
|
|
||||||
machine for the purpose of creating a snapshot image, all of the files
|
|
||||||
within this directory will be copied to the virtual machine so they
|
|
||||||
are available for use by the setup script.
|
|
||||||
|
|
||||||
At various points in the image and node creation processes, these
|
|
||||||
scripts may be invoked by nodepool. See :ref:`configuration` for
|
|
||||||
details.
|
|
||||||
|
|
||||||
Any environment variables present in the nodepool daemon environment
|
|
||||||
that begin with ``NODEPOOL_`` will be set in the calling environment
|
|
||||||
for the script. This is useful during testing to alter script
|
|
||||||
behavior, for instance, to add a local ssh key that would not
|
|
||||||
otherwise be set in production.
|
|
||||||
|
|
||||||
Setup script
|
|
||||||
------------
|
|
||||||
|
|
||||||
Each provider can specify a setup script with `setup`, and that script is
|
|
||||||
expected to exist in `script_dir`. If it is found, it will be run during image
|
|
||||||
creation. When the script is invoked, the instance hostname will be passed in
|
|
||||||
as the first parameter. This setup script will only be applied when building
|
|
||||||
images using provider snapshots, not using diskimage-builder.
|
|
||||||
|
|
||||||
|
|
||||||
Ready script
|
|
||||||
------------
|
|
||||||
|
|
||||||
Each label can specify a ready script with `ready-script`. This script can be
|
Each label can specify a ready script with `ready-script`. This script can be
|
||||||
used to perform any last minute changes to a node after it has been launched
|
used to perform any last minute changes to a node after it has been launched
|
||||||
|
@ -676,8 +676,6 @@ class BuildWorker(BaseWorker):
|
|||||||
# values in this thread.
|
# values in this thread.
|
||||||
if self._config.elementsdir:
|
if self._config.elementsdir:
|
||||||
env['ELEMENTS_PATH'] = self._config.elementsdir
|
env['ELEMENTS_PATH'] = self._config.elementsdir
|
||||||
if self._config.scriptdir:
|
|
||||||
env['NODEPOOL_SCRIPTDIR'] = self._config.scriptdir
|
|
||||||
|
|
||||||
# send additional env vars if needed
|
# send additional env vars if needed
|
||||||
for k, v in diskimage.env_vars.items():
|
for k, v in diskimage.env_vars.items():
|
||||||
|
@ -113,7 +113,6 @@ class ConfigValidator:
|
|||||||
}
|
}
|
||||||
|
|
||||||
top_level = {
|
top_level = {
|
||||||
'script-dir': str,
|
|
||||||
'elements-dir': str,
|
'elements-dir': str,
|
||||||
'images-dir': str,
|
'images-dir': str,
|
||||||
'dburi': str,
|
'dburi': str,
|
||||||
|
@ -149,7 +149,6 @@ def loadConfig(config_path):
|
|||||||
newconfig.providers = {}
|
newconfig.providers = {}
|
||||||
newconfig.targets = {}
|
newconfig.targets = {}
|
||||||
newconfig.labels = {}
|
newconfig.labels = {}
|
||||||
newconfig.scriptdir = config.get('script-dir')
|
|
||||||
newconfig.elementsdir = config.get('elements-dir')
|
newconfig.elementsdir = config.get('elements-dir')
|
||||||
newconfig.imagesdir = config.get('images-dir')
|
newconfig.imagesdir = config.get('images-dir')
|
||||||
newconfig.dburi = None
|
newconfig.dburi = None
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: /etc/nodepool/scripts
|
|
||||||
elements-dir: /etc/nodepool/elements
|
elements-dir: /etc/nodepool/elements
|
||||||
images-dir: /opt/nodepool_dib
|
images-dir: /opt/nodepool_dib
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: /etc/nodepool/scripts
|
|
||||||
elements-dir: /etc/nodepool/elements
|
elements-dir: /etc/nodepool/elements
|
||||||
images-dir: /opt/nodepool_dib
|
images-dir: /opt/nodepool_dib
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: /etc/nodepool/scripts
|
|
||||||
elements-dir: /etc/nodepool/elements
|
elements-dir: /etc/nodepool/elements
|
||||||
images-dir: /opt/nodepool_dib
|
images-dir: /opt/nodepool_dib
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/integration.yaml
vendored
1
nodepool/tests/fixtures/integration.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
|
1
nodepool/tests/fixtures/integration_osc.yaml
vendored
1
nodepool/tests/fixtures/integration_osc.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
|
1
nodepool/tests/fixtures/leaked_node.yaml
vendored
1
nodepool/tests/fixtures/leaked_node.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node.yaml
vendored
1
nodepool/tests/fixtures/node.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node_az.yaml
vendored
1
nodepool/tests/fixtures/node_az.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node_cmd.yaml
vendored
1
nodepool/tests/fixtures/node_cmd.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node_ipv6.yaml
vendored
1
nodepool/tests/fixtures/node_ipv6.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node_net_name.yaml
vendored
1
nodepool/tests/fixtures/node_net_name.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node_two_image.yaml
vendored
1
nodepool/tests/fixtures/node_two_image.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/node_vhd.yaml
vendored
1
nodepool/tests/fixtures/node_vhd.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
1
nodepool/tests/fixtures/subnodes.yaml
vendored
1
nodepool/tests/fixtures/subnodes.yaml
vendored
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: '{images_dir}'
|
images-dir: '{images_dir}'
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
elements-dir: .
|
elements-dir: .
|
||||||
images-dir: /tmp/nodepool_dib
|
images-dir: /tmp/nodepool_dib
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
script-dir: .
|
|
||||||
images-dir: tools/images
|
images-dir: tools/images
|
||||||
|
|
||||||
cron:
|
cron:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user