Add config-internal/config-external to Nova-compute containers

Partially Implements: Blueprint standard-start

Change-Id: Ia219015f18d788d0c01c0bffee6b475bb07291a9
This commit is contained in:
Harm Weites 2015-07-02 19:49:11 +02:00
parent 3a4500c122
commit 0de0833675
18 changed files with 125 additions and 44 deletions

View File

@ -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"]

View File

@ -0,0 +1 @@
../../../../common/nova-compute/nova-compute/config-external.sh

View File

@ -0,0 +1 @@
../../../../common/nova-compute/nova-compute/config-internal.sh

View File

@ -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"]

View File

@ -0,0 +1 @@
../../../../common/nova-compute/nova-libvirt/config-external.sh

View File

@ -0,0 +1 @@
../../../../common/nova-compute/nova-libvirt/config-internal.sh

View File

@ -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"]

View File

@ -0,0 +1 @@
../../../../common/nova-compute/nova-network/config-external.sh

View File

@ -0,0 +1 @@
../../../../common/nova-compute/nova-network/config-internal.sh

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,10 @@
#!/bin/bash
SOURCE=""
TARGET=""
OWNER=""
if [[ -f "$SOURCE" ]]; then
cp $SOURCE $TARGET
chown ${OWNER}: $TARGET
chmod 0644 $TARGET
fi

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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