aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-11-04 04:58:22 +0000
committerSam Yaple <sam@yaple.net>2015-11-05 10:58:29 +0000
commit3d7a0c6f55d5d4db33ff5ecb25466423e5d36b2d (patch)
treef0d050ad4e32337513e0e2f2b242719676f74754
parent6a9beb4a33a0a44ba7ffbafc80d794604f030d57 (diff)
downloadkolla-3d7a0c6f55d5d4db33ff5ecb25466423e5d36b2d.tar.gz
kolla-3d7a0c6f55d5d4db33ff5ecb25466423e5d36b2d.zip
Restrucutre gate scripts
So we can respect DRY and share as much code as possible I have broken out the common code between the aio and multinode gate scripts. Additionally, this lays the ground work for removing our policy on root-everywhere by using sudo. Once we get the non-root stuff worked out we can gate as non-root user. Change-Id: I781c597ab10f2296b95f51ae27e0fa617ffe0a66 Partially-Implements: blueprint multinode-gate
-rwxr-xr-xtests/deploy_aio.sh (renamed from tests/deploy_kolla.sh)11
-rwxr-xr-xtests/setup_deploy.sh31
-rw-r--r--tox.ini9
3 files changed, 38 insertions, 13 deletions
diff --git a/tests/deploy_kolla.sh b/tests/deploy_aio.sh
index a5e5b2892..2d76aca8d 100755
--- a/tests/deploy_kolla.sh
+++ b/tests/deploy_aio.sh
@@ -12,16 +12,7 @@ function print_failure {
exit 1
}
-# Setup ssh key as required
-ssh-keygen -f kolla-ssh -N ""
-cat kolla-ssh.pub | tee /root/.ssh/authorized_keys
-
-# Install Ansible and docker-py
-pip install "ansible<2" docker-py
-pip freeze | egrep "docker|ansible"
-
-# Setup configs
-cp -a etc/kolla /etc/
+# Populate globals.yml
cat << EOF > /etc/kolla/globals.yml
---
kolla_base_distro: "$1"
diff --git a/tests/setup_deploy.sh b/tests/setup_deploy.sh
new file mode 100755
index 000000000..366bbf5a8
--- /dev/null
+++ b/tests/setup_deploy.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -o xtrace
+set -o errexit
+
+export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+function create_keys {
+ # Setup ssh key as required
+ sudo -H ssh-keygen -f /root/.ssh/id_rsa -N ""
+ sudo -H cat /root/.ssh/id_rsa.pub | sudo -H tee /root/.ssh/authorized_keys
+}
+
+function install_deps {
+ # Install Ansible and docker-py
+ sudo -H pip install "ansible<2" docker-py
+ pip freeze | egrep "docker|ansible"
+}
+
+function copy_configs {
+ # Copy configs
+ sudo cp -a etc/kolla /etc/
+}
+
+create_keys
+install_deps
+copy_configs
+
+# Link the logs directory into root
+mkdir -p logs
+sudo ln -s $(pwd)/logs /root/logs
diff --git a/tox.ini b/tox.ini
index 1b693d247..c3b60663e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -70,7 +70,8 @@ commands =
find . -type f -name "*.pyc" -delete
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
sudo -g docker testr run test_build.DeployTestCentosBinary
- sudo tests/deploy_kolla.sh centos binary
+ bash tests/setup_deploy.sh
+ sudo tests/deploy_aio.sh centos binary
[testenv:deploy-images-centos-source]
whitelist_externals = find
@@ -80,7 +81,8 @@ commands =
find . -type f -name "*.pyc" -delete
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
sudo -g docker testr run test_build.DeployTestCentosSource
- sudo tests/deploy_kolla.sh centos source
+ bash tests/setup_deploy.sh
+ sudo tests/deploy_aio.sh centos source
[testenv:deploy-images-ubuntu-source]
whitelist_externals = find
@@ -90,7 +92,8 @@ commands =
find . -type f -name "*.pyc" -delete
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
sudo -g docker testr run test_build.DeployTestUbuntuSource
- sudo tests/deploy_kolla.sh ubuntu source
+ bash tests/setup_deploy.sh
+ sudo tests/deploy_aio.sh ubuntu source
[testenv:functional]
whitelist_externals = find