File: trove-common.postinst.in

package info (click to toggle)
openstack-trove 1%3A24.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,968 kB
  • sloc: python: 50,665; sh: 2,866; makefile: 71
file content (72 lines) | stat: -rw-r--r-- 2,296 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/sh

set -e

#PKGOS-INCLUDE#

pkgos_write_new_conf () {
        local WRITE_N_CONF_PKG_NAME CONF_FNAME
        WRITE_N_CONF_PKG_NAME=${1}
        CONF_FNAME=${2}

        SRC_PATH=/usr/share/${DPKG_MAINTSCRIPT_PACKAGE}/${CONF_FNAME}
        DST_DIR=/etc/${WRITE_N_CONF_PKG_NAME}
        DST_PATH=${DST_DIR}/${CONF_FNAME}

        # Create /etc/{package}/ directory and set right owner, group and permissions
        install -g ${WRITE_N_CONF_PKG_NAME} -o ${WRITE_N_CONF_PKG_NAME} -m 0750 -d ${DST_DIR}

        if [ ! -e ${DST_PATH} ] ; then
                # Copy config to /etc/{package}/
                install -D -m 0640 -o root -g ${WRITE_N_CONF_PKG_NAME} ${SRC_PATH} ${DST_PATH}
        else
                # Set right owner, group and permissions for sure, if config already exist
                chown root:${WRITE_N_CONF_PKG_NAME} ${DST_PATH}
                chmod 0640 ${DST_PATH}
        fi
}


if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
	. /usr/share/debconf/confmodule
	. /usr/share/dbconfig-common/dpkg/postinst
	pkgos_var_user_group trove

	mkdir -p /var/cache/trove
	chown trove:trove /var/cache/trove

	pkgos_write_new_conf trove trove.conf
	pkgos_write_new_conf trove api-paste.ini
	if [ -e /usr/share/trove-common/trove-conductor.conf ]; then
		pkgos_write_new_conf trove trove-conductor.conf
	fi
	if [ -e /usr/share/trove-common/trove-taskmanager.conf ]; then
		pkgos_write_new_conf trove trove-taskmanager.conf
	fi
	mkdir -p /etc/trove/conf.d
	chown trove:trove /etc/trove/conf.d
	touch /etc/trove/conf.d/guest_info.conf
	chown trove:trove /etc/trove/conf.d/guest_info.conf

	db_get trove/configure_db
	if [ "$RET" = "true" ]; then
		pkgos_dbc_postinst /etc/trove/trove.conf database connection trove $@
		pkgos_inifile get /etc/trove/trove.conf database connection
		if [ -e /etc/trove/trove-conductor.conf ]; then
			pkgos_inifile set /etc/trove/trove-conductor.conf database connection ${RET}
		fi
		if [ -e /etc/trove/trove-taskmanager.conf ]; then
			pkgos_inifile set /etc/trove/trove-taskmanager.conf database connection ${RET}
		fi
		trove-manage db_sync
	fi
	pkgos_write_admin_creds /etc/trove/trove.conf keystone_authtoken trove

	pkgos_rabbit_write_conf /etc/trove/trove.conf oslo_messaging_rabbit trove

	db_stop
fi

#DEBHELPER#

exit 0