summaryrefslogtreecommitdiff
path: root/openstack-cinder.configure
diff options
context:
space:
mode:
Diffstat (limited to 'openstack-cinder.configure')
-rw-r--r--openstack-cinder.configure55
1 files changed, 55 insertions, 0 deletions
diff --git a/openstack-cinder.configure b/openstack-cinder.configure
new file mode 100644
index 00000000..335ff512
--- /dev/null
+++ b/openstack-cinder.configure
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# Copyright (C) 2014 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+set -e
+
+ROOT="$1"
+
+##########################################################################
+# Substitutions in configuration files
+##########################################################################
+
+cat <<EOF > "$ROOT"/etc/openstack-cinder-setup.sed
+s/##CINDER_USER##/$CINDER_USER/g
+s/##CINDER_PASSWORD##/$CINDER_PASSWORD/g
+s/##CINDER_PUBLIC_URL##/$CINDER_PUBLIC_URL/g
+s/##CINDER_INTERNAL_URL##/$CINDER_INTERNAL_URL/g
+s/##CINDER_ADMIN_URL##/$CINDER_ADMIN_URL/g
+s/##CINDER_USER_V2##/$CINDER_USER_V2/g
+s/##CINDER_PUBLIC_URL_V2##/$CINDER_PUBLIC_URL_V2/g
+s/##CINDER_INTERNAL_URL_V2##/$CINDER_INTERNAL_URL_V2/g
+s/##CINDER_ADMIN_URL_V2##/$CINDER_ADMIN_URL_V2/g
+s/##CINDER_DB_USER##/$CINDER_DB_USER/g
+s/##CINDER_DB_PASSWORD##/$CINDER_DB_PASSWORD/g
+EOF
+
+sed -f "$ROOT"/etc/openstack-cinder-setup.sed -i \
+ "$ROOT"/etc/cinder/cinder.conf \
+ "$ROOT"/usr/share/openstack/openstack-cinder-setup
+
+##########################################################################
+
+ln -sf "/etc/systemd/system/openstack-cinder-setup.service" \
+ "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-cinder-setup.service"
+
+##########################################################################
+# Add cinder to sudoers controlling which commands is running as a root
+# using the openstack rootwrap.
+##########################################################################
+install -D -m 0440 /proc/self/fd/0 <<'EOF' "$ROOT"/etc/sudoers.d/cinder-rootwrap
+cinder ALL=(root) NOPASSWD: /usr/bin/cinder-rootwrap /etc/cinder/rootwrap.conf *
+EOF