aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-07-04 19:56:48 +0000
committerGerrit Code Review <review@openstack.org>2015-07-04 19:56:48 +0000
commit15b60a1f8d84859c116bcaa3422902b09bcee779 (patch)
treec7da2bf6ec0c77955af88356972c3c18111e1a93
parent8af47bf957b6f226f720f5ce289cb28b6e5ceafa (diff)
parent0de08336754cbff67d320fcf5d68ad97243f96ec (diff)
downloadkolla-15b60a1f8d84859c116bcaa3422902b09bcee779.tar.gz
kolla-15b60a1f8d84859c116bcaa3422902b09bcee779.zip
Merge "Add config-internal/config-external to Nova-compute containers"
-rw-r--r--docker/centos/binary/nova-compute/nova-compute/Dockerfile2
l---------docker/centos/binary/nova-compute/nova-compute/config-external.sh1
l---------docker/centos/binary/nova-compute/nova-compute/config-internal.sh1
-rw-r--r--docker/centos/binary/nova-compute/nova-libvirt/Dockerfile2
l---------docker/centos/binary/nova-compute/nova-libvirt/config-external.sh1
l---------docker/centos/binary/nova-compute/nova-libvirt/config-internal.sh1
-rw-r--r--docker/centos/binary/nova-compute/nova-network/Dockerfile2
l---------docker/centos/binary/nova-compute/nova-network/config-external.sh1
l---------docker/centos/binary/nova-compute/nova-network/config-internal.sh1
-rwxr-xr-xdocker/common/nova-compute/nova-compute/config-external.sh10
-rwxr-xr-xdocker/common/nova-compute/nova-compute/config-internal.sh19
-rwxr-xr-xdocker/common/nova-compute/nova-compute/start.sh22
-rwxr-xr-xdocker/common/nova-compute/nova-libvirt/config-external.sh10
-rwxr-xr-xdocker/common/nova-compute/nova-libvirt/config-internal.sh31
-rwxr-xr-xdocker/common/nova-compute/nova-libvirt/start.sh34
-rwxr-xr-xdocker/common/nova-compute/nova-network/config-external.sh10
-rwxr-xr-xdocker/common/nova-compute/nova-network/config-internal.sh8
-rwxr-xr-xdocker/common/nova-compute/nova-network/start.sh13
18 files changed, 125 insertions, 44 deletions
diff --git a/docker/centos/binary/nova-compute/nova-compute/Dockerfile b/docker/centos/binary/nova-compute/nova-compute/Dockerfile
index d23b86e5f..4e307a613 100644
--- a/docker/centos/binary/nova-compute/nova-compute/Dockerfile
+++ b/docker/centos/binary/nova-compute/nova-compute/Dockerfile
@@ -8,6 +8,8 @@ ADD config-nova-compute.sh /opt/kolla/config-nova-compute.sh
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/start.sh"]
diff --git a/docker/centos/binary/nova-compute/nova-compute/config-external.sh b/docker/centos/binary/nova-compute/nova-compute/config-external.sh
new file mode 120000
index 000000000..46de4bf33
--- /dev/null
+++ b/docker/centos/binary/nova-compute/nova-compute/config-external.sh
@@ -0,0 +1 @@
+../../../../common/nova-compute/nova-compute/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/nova-compute/nova-compute/config-internal.sh b/docker/centos/binary/nova-compute/nova-compute/config-internal.sh
new file mode 120000
index 000000000..58337d966
--- /dev/null
+++ b/docker/centos/binary/nova-compute/nova-compute/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/nova-compute/nova-compute/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/nova-compute/nova-libvirt/Dockerfile b/docker/centos/binary/nova-compute/nova-libvirt/Dockerfile
index 980940615..1dcf9156b 100644
--- a/docker/centos/binary/nova-compute/nova-libvirt/Dockerfile
+++ b/docker/centos/binary/nova-compute/nova-libvirt/Dockerfile
@@ -13,4 +13,6 @@ VOLUME [ "/sys/fs/cgroup" ]
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/nova-compute/nova-libvirt/config-external.sh b/docker/centos/binary/nova-compute/nova-libvirt/config-external.sh
new file mode 120000
index 000000000..22275236b
--- /dev/null
+++ b/docker/centos/binary/nova-compute/nova-libvirt/config-external.sh
@@ -0,0 +1 @@
+../../../../common/nova-compute/nova-libvirt/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/nova-compute/nova-libvirt/config-internal.sh b/docker/centos/binary/nova-compute/nova-libvirt/config-internal.sh
new file mode 120000
index 000000000..c20242db7
--- /dev/null
+++ b/docker/centos/binary/nova-compute/nova-libvirt/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/nova-compute/nova-libvirt/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/nova-compute/nova-network/Dockerfile b/docker/centos/binary/nova-compute/nova-network/Dockerfile
index 2434dbdf0..061ab1f9e 100644
--- a/docker/centos/binary/nova-compute/nova-network/Dockerfile
+++ b/docker/centos/binary/nova-compute/nova-network/Dockerfile
@@ -7,4 +7,6 @@ RUN yum -y install openstack-nova-network \
ADD config-nova-network.sh /opt/kolla/config-nova-network.sh
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/nova-compute/nova-network/config-external.sh b/docker/centos/binary/nova-compute/nova-network/config-external.sh
new file mode 120000
index 000000000..1257cd898
--- /dev/null
+++ b/docker/centos/binary/nova-compute/nova-network/config-external.sh
@@ -0,0 +1 @@
+../../../../common/nova-compute/nova-network/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/nova-compute/nova-network/config-internal.sh b/docker/centos/binary/nova-compute/nova-network/config-internal.sh
new file mode 120000
index 000000000..3b64fcabc
--- /dev/null
+++ b/docker/centos/binary/nova-compute/nova-network/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/nova-compute/nova-network/config-internal.sh \ No newline at end of file
diff --git a/docker/common/nova-compute/nova-compute/config-external.sh b/docker/common/nova-compute/nova-compute/config-external.sh
new file mode 100755
index 000000000..e844bf50c
--- /dev/null
+++ b/docker/common/nova-compute/nova-compute/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/nova-compute/nova.conf"
+TARGET="/etc/nova/nova.conf"
+OWNER="nova"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/nova-compute/nova-compute/config-internal.sh b/docker/common/nova-compute/nova-compute/config-internal.sh
new file mode 100755
index 000000000..ac7f781f4
--- /dev/null
+++ b/docker/common/nova-compute/nova-compute/config-internal.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/config-nova-compute.sh
+
+sleep 6
+
+# https://bugs.launchpad.net/kolla/+bug/1461635
+# Cinder requires mounting /dev in the cinder-volume, nova-compute,
+# and libvirt containers. If /dev/pts/ptmx does not have proper permissions
+# on the host, then libvirt will fail to boot an instance.
+# This is a bug in Docker where it is not correctly mounting /dev/pts
+# Tech Debt tracker: https://bugs.launchpad.net/kolla/+bug/1468962
+# **Temporary fix**
+chmod 666 /dev/pts/ptmx
+
+echo "Starting nova-compute."
+exec /usr/bin/nova-compute --config-file /etc/nova/nova.conf
diff --git a/docker/common/nova-compute/nova-compute/start.sh b/docker/common/nova-compute/nova-compute/start.sh
index ac7f781f4..c1ca94269 100755
--- a/docker/common/nova-compute/nova-compute/start.sh
+++ b/docker/common/nova-compute/nova-compute/start.sh
@@ -1,19 +1,13 @@
#!/bin/bash
+set -o errexit
-set -e
+CMD="/usr/bin/nova-compute"
+ARGS=""
-. /opt/kolla/config-nova-compute.sh
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-sleep 6
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-# https://bugs.launchpad.net/kolla/+bug/1461635
-# Cinder requires mounting /dev in the cinder-volume, nova-compute,
-# and libvirt containers. If /dev/pts/ptmx does not have proper permissions
-# on the host, then libvirt will fail to boot an instance.
-# This is a bug in Docker where it is not correctly mounting /dev/pts
-# Tech Debt tracker: https://bugs.launchpad.net/kolla/+bug/1468962
-# **Temporary fix**
-chmod 666 /dev/pts/ptmx
-
-echo "Starting nova-compute."
-exec /usr/bin/nova-compute --config-file /etc/nova/nova.conf
+exec $CMD $ARGS
diff --git a/docker/common/nova-compute/nova-libvirt/config-external.sh b/docker/common/nova-compute/nova-libvirt/config-external.sh
new file mode 100755
index 000000000..59567d52d
--- /dev/null
+++ b/docker/common/nova-compute/nova-libvirt/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE=""
+TARGET=""
+OWNER=""
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/nova-compute/nova-libvirt/config-internal.sh b/docker/common/nova-compute/nova-libvirt/config-internal.sh
new file mode 100755
index 000000000..1f2ddbed8
--- /dev/null
+++ b/docker/common/nova-compute/nova-libvirt/config-internal.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+if [[ $(cat /proc/cpuinfo | grep vmx) ]]; then
+ modprobe kvm_intel
+elif [[ $(cat /proc/cpuinfo | grep svm) ]]; then
+ modprobe kvm_amd
+else
+ echo "WARNING: Your hardware does not support hardware virtualization -" \
+ "using qemu software virtualization instead"
+fi
+
+modprobe ip6_tables ip_tables ebtable_nat
+
+# If libvirt is not installed on the host permissions need to be set
+# If running in qemu, we don't need to set anything as /dev/kvm won't exist
+if [[ -c /dev/kvm ]]; then
+ chmod 660 /dev/kvm
+ chown root:kvm /dev/kvm
+fi
+
+# https://bugs.launchpad.net/kolla/+bug/1461635
+# Cinder requires mounting /dev in the cinder-volume, nova-compute,
+# and libvirt containers. If /dev/pts/ptmx does not have proper permissions
+# on the host, then libvirt will fail to boot an instance.
+# This is a bug in Docker where it is not correctly mounting /dev/pts
+# Tech Debt tracker: https://bugs.launchpad.net/kolla/+bug/1468962
+# **Temporary fix**
+chmod 666 /dev/pts/ptmx
+
+echo "Starting libvirtd."
+exec /usr/sbin/libvirtd
diff --git a/docker/common/nova-compute/nova-libvirt/start.sh b/docker/common/nova-compute/nova-libvirt/start.sh
index 1f2ddbed8..00d7046d1 100755
--- a/docker/common/nova-compute/nova-libvirt/start.sh
+++ b/docker/common/nova-compute/nova-libvirt/start.sh
@@ -1,31 +1,13 @@
#!/bin/bash
+set -o errexit
-if [[ $(cat /proc/cpuinfo | grep vmx) ]]; then
- modprobe kvm_intel
-elif [[ $(cat /proc/cpuinfo | grep svm) ]]; then
- modprobe kvm_amd
-else
- echo "WARNING: Your hardware does not support hardware virtualization -" \
- "using qemu software virtualization instead"
-fi
+CMD="/usr/sbin/libvirtd"
+ARGS=""
-modprobe ip6_tables ip_tables ebtable_nat
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-# If libvirt is not installed on the host permissions need to be set
-# If running in qemu, we don't need to set anything as /dev/kvm won't exist
-if [[ -c /dev/kvm ]]; then
- chmod 660 /dev/kvm
- chown root:kvm /dev/kvm
-fi
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-# https://bugs.launchpad.net/kolla/+bug/1461635
-# Cinder requires mounting /dev in the cinder-volume, nova-compute,
-# and libvirt containers. If /dev/pts/ptmx does not have proper permissions
-# on the host, then libvirt will fail to boot an instance.
-# This is a bug in Docker where it is not correctly mounting /dev/pts
-# Tech Debt tracker: https://bugs.launchpad.net/kolla/+bug/1468962
-# **Temporary fix**
-chmod 666 /dev/pts/ptmx
-
-echo "Starting libvirtd."
-exec /usr/sbin/libvirtd
+exec $CMD $ARGS
diff --git a/docker/common/nova-compute/nova-network/config-external.sh b/docker/common/nova-compute/nova-network/config-external.sh
new file mode 100755
index 000000000..7c1d6bb37
--- /dev/null
+++ b/docker/common/nova-compute/nova-network/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/nova-network/nova.conf"
+TARGET="/etc/nova/nova.conf"
+OWNER="nova"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/nova-compute/nova-network/config-internal.sh b/docker/common/nova-compute/nova-network/config-internal.sh
new file mode 100755
index 000000000..92381b720
--- /dev/null
+++ b/docker/common/nova-compute/nova-network/config-internal.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/config-nova-network.sh
+
+# Start nova-network
+exec /usr/bin/nova-network --config-file /etc/nova/nova.conf
diff --git a/docker/common/nova-compute/nova-network/start.sh b/docker/common/nova-compute/nova-network/start.sh
index 92381b720..b6faa8215 100755
--- a/docker/common/nova-compute/nova-network/start.sh
+++ b/docker/common/nova-compute/nova-network/start.sh
@@ -1,8 +1,13 @@
#!/bin/bash
+set -o errexit
-set -e
+CMD="/usr/bin/nova-network"
+ARGS=""
-. /opt/kolla/config-nova-network.sh
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-# Start nova-network
-exec /usr/bin/nova-network --config-file /etc/nova/nova.conf
+# Config-internal script exec out of this function, it does not return here.
+set_configs
+
+exec $CMD $ARGS