aboutsummaryrefslogtreecommitdiff
path: root/docker/common/nova-compute/nova-libvirt
diff options
context:
space:
mode:
Diffstat (limited to 'docker/common/nova-compute/nova-libvirt')
-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
3 files changed, 49 insertions, 26 deletions
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