xenapi: enable block device access for stack user
Although nova is setting the permissions on block devices, sometimes it
fails, and that results in an instance failing to launch. It is only an
issue for 3-part images, and images accessed through block devices. This
patch adds an udev rule, so that devices will be accessible.
fixes bug 1218251
Change-Id: I837ea515457fbfc50e9ce138ea9de9db12baa8be
diff --git a/tools/xen/prepare_guest.sh b/tools/xen/prepare_guest.sh
index f109d72..6ec5ffa 100755
--- a/tools/xen/prepare_guest.sh
+++ b/tools/xen/prepare_guest.sh
@@ -48,6 +48,11 @@
echo $STACK_USER:$GUEST_PASSWORD | chpasswd
echo "$STACK_USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
+# Add an udev rule, so that new block devices could be written by stack user
+cat > /etc/udev/rules.d/50-openstack-blockdev.rules << EOF
+KERNEL=="xvd[b-z]", GROUP="$STACK_USER", MODE="0660"
+EOF
+
# Give ownership of /opt/stack to stack user
chown -R $STACK_USER /opt/stack