diff --git a/docker/centos/binary/cinder-app/cinder-volume/Dockerfile b/docker/centos/binary/cinder-app/cinder-volume/Dockerfile index 0daf6d29e4..581f9e03aa 100644 --- a/docker/centos/binary/cinder-app/cinder-volume/Dockerfile +++ b/docker/centos/binary/cinder-app/cinder-volume/Dockerfile @@ -2,17 +2,10 @@ FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%cinder-base:%%KOLLA_TAG%% MAINTAINER Kolla Project (https://launchpad.net/kolla) # Install required packages -# https://bugs.launchpad.net/kolla/+bug/1460129 -# Iscsi will be removed from cinder-volume in a later patch -# so that we continue to follow the container best practices. -# There will also be other backends for cinder and iscsi should -# not be hardcoded here. RUN yum install -y lvm2 scsi-target-utils && yum clean all # Add start scripts +COPY tgtd.sh volume-group-create.sh config-internal.sh config-external.sh /opt/kolla/ COPY start.sh /start.sh -COPY config-internal.sh config-external.sh /opt/kolla/ -COPY volume-group-create.sh /opt/kolla/volume-group-create.sh -# Start supervisor CMD ["/start.sh"] diff --git a/docker/centos/binary/cinder-app/cinder-volume/tgtd.sh b/docker/centos/binary/cinder-app/cinder-volume/tgtd.sh new file mode 120000 index 0000000000..f0c8855777 --- /dev/null +++ b/docker/centos/binary/cinder-app/cinder-volume/tgtd.sh @@ -0,0 +1 @@ +../../../../common/cinder-app/cinder-volume/tgtd.sh \ No newline at end of file diff --git a/docker/common/cinder-app/cinder-volume/config-external.sh b/docker/common/cinder-app/cinder-volume/config-external.sh old mode 100644 new mode 100755 diff --git a/docker/common/cinder-app/cinder-volume/config-internal.sh b/docker/common/cinder-app/cinder-volume/config-internal.sh index 9b3998967f..0b0d9b95cf 100755 --- a/docker/common/cinder-app/cinder-volume/config-internal.sh +++ b/docker/common/cinder-app/cinder-volume/config-internal.sh @@ -74,9 +74,6 @@ sed -i 's/use_lvmetad = 1/use_lvmetad = 0/' /etc/lvm/lvm.conf #Adding LVM filter sed -i 's:filter = \[ "a/.\*/" \]:filter = \[ "a/sda/", "r/.\*/"\]:g' /etc/lvm/lvm.conf -#Adding cinder volumes to tgtd config -echo "include /etc/cinder/volumes/*" >> /etc/tgt/tgtd.conf - # 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 @@ -86,5 +83,12 @@ echo "include /etc/cinder/volumes/*" >> /etc/tgt/tgtd.conf # **Temporary fix** chmod 666 /dev/pts/ptmx +#Adding cinder volumes to tgtd config +echo "include /etc/cinder/volumes/*" >> /etc/tgt/tgtd.conf +echo "include /var/lib/cinder/volumes/*" >> /etc/tgt/targets.conf + +echo "Starging iSCSI tgtd" +/opt/kolla/tgtd.sh + echo "Starting cinder-volume" exec /usr/bin/cinder-volume --config-file /etc/cinder/cinder.conf diff --git a/docker/common/cinder-app/cinder-volume/tgtd.sh b/docker/common/cinder-app/cinder-volume/tgtd.sh new file mode 100755 index 0000000000..33d9461a05 --- /dev/null +++ b/docker/common/cinder-app/cinder-volume/tgtd.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -e + +DESC="target framework daemon" +DAEMON=/usr/sbin/tgtd + +TGTD_CONFIG=/etc/tgt/targets.conf + +echo "Starting tgtd $DESC" +/usr/sbin/tgtd +echo "Set to offline" +tgtadm --op update --mode sys --name State -v offline +echo "Set tgt config" +tgt-admin -e -c $TGTD_CONFIG +echo "Set to ready" +tgtadm --op update --mode sys --name State -v ready diff --git a/tools/genenv b/tools/genenv index 340a576f2a..84b42163c3 100755 --- a/tools/genenv +++ b/tools/genenv @@ -222,7 +222,7 @@ CINDER_BACKUP_NAME_TEMPLATE=backup-%s CINDER_BACKUP_DRIVER=cinder.backup.drivers.swift # Cinder Volume -ISCSI_HELPER=lioadm +ISCSI_HELPER=tgtadm ISCSI_IP_ADDRESS=$HOST_IP CINDER_LVM_LO_VOLUME_SIZE=4G CINDER_VOLUME_API_LISTEN=$HOST_IP