summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2013-11-08 14:06:06 -0500
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-11-25 15:25:37 -0500
commitf317c6d79f2987f671a339a618b78660ea39bd1e (patch)
treec2c3044df9af54affcd87049ec93abc509d70d62 /meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
parentdf9b217544bbb1ebddf440e0a171691b59d5a3de (diff)
downloadmeta-cloud-services-f317c6d79f2987f671a339a618b78660ea39bd1e.tar.gz
ceilometer: introduce ceilomter havana component
Import and package the basic ceilometer package, havana version. This minimal configuration creates: - init scripts - packages the compute, control and APIs - creates the configuration and database It is expected to need extension in the future. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-ceilometer_git.bb')
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer_git.bb157
1 files changed, 157 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb b/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
new file mode 100644
index 0000000..fb5526d
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
@@ -0,0 +1,157 @@
1DESCRIPTION = "OpenStack Metering Component"
2HOMEPAGE = "https://launchpad.net/ceilometer"
3SECTION = "devel/python"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6
7PR = "r0"
8SRCNAME = "ceilometer"
9
10SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/havana \
11 file://ceilometer.conf \
12 file://ceilometer.init \
13"
14
15SRCREV="b6165624ef1095e979b4e383a84462afb62ec2d0"
16PV="2013.2+git${SRCPV}"
17S = "${WORKDIR}/git"
18
19CEILOMETER_SECRET ?= "12121212"
20
21do_install_append() {
22 TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
23 CEILOMETER_CONF_DIR=${D}${sysconfdir}/${SRCNAME}
24
25 sed -e "s:%CEILOMETER_SECRET%:${CEILOMETER_SECRET}:g" -i ${WORKDIR}/ceilometer.conf
26
27 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/ceilometer.conf
28 sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/ceilometer.conf
29
30 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/ceilometer.conf
31 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/ceilometer.conf
32
33 sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${WORKDIR}/ceilometer.conf
34 sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${WORKDIR}/ceilometer.conf
35
36 sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/ceilometer.conf
37 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${WORKDIR}/ceilometer.conf
38
39 install -d ${CEILOMETER_CONF_DIR}
40 install -m 600 ${WORKDIR}/ceilometer.conf ${CEILOMETER_CONF_DIR}
41 install -m 600 ${TEMPLATE_CONF_DIR}/*.json ${CEILOMETER_CONF_DIR}
42 install -m 600 ${TEMPLATE_CONF_DIR}/*.yaml ${CEILOMETER_CONF_DIR}
43
44 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
45 install -d ${D}${sysconfdir}/init.d
46
47 sed 's:@suffix@:api:' < ${WORKDIR}/ceilometer.init >${WORKDIR}/ceilometer-api.init.sh
48 install -m 0755 ${WORKDIR}/ceilometer-api.init.sh ${D}${sysconfdir}/init.d/ceilometer-api
49
50 sed 's:@suffix@:collector:' < ${WORKDIR}/ceilometer.init >${WORKDIR}/ceilometer-collector.init.sh
51 install -m 0755 ${WORKDIR}/ceilometer-collector.init.sh ${D}${sysconfdir}/init.d/ceilometer-collector
52
53 sed 's:@suffix@:agent-central:' < ${WORKDIR}/ceilometer.init >${WORKDIR}/ceilometer-agent-central.init.sh
54 install -m 0755 ${WORKDIR}/ceilometer-agent-central.init.sh ${D}${sysconfdir}/init.d/ceilometer-agent-central
55
56 sed 's:@suffix@:agent-compute:' < ${WORKDIR}/ceilometer.init >${WORKDIR}/ceilometer-agent-compute.init.sh
57 install -m 0755 ${WORKDIR}/ceilometer-agent-compute.init.sh ${D}${sysconfdir}/init.d/ceilometer-agent-compute
58 fi
59}
60
61pkg_postinst_${SRCNAME}-controller () {
62 if [ "x$D" != "x" ]; then
63 exit 1
64 fi
65
66 # This is to make sure postgres is configured and running
67 if ! pidof postmaster > /dev/null; then
68 /etc/init.d/postgresql-init
69 /etc/init.d/postgresql start
70 sleep 5
71 fi
72
73 mkdir /var/log/ceilometer
74 sudo -u postgres createdb ceilometer
75 ceilometer-dbsync
76}
77
78inherit setuptools identity hosts update-rc.d
79
80PACKAGES += "${SRCNAME}-common ${SRCNAME}-api ${SRCNAME}-collector ${SRCNAME}-compute ${SRCNAME}-controller"
81
82FILES_${PN} = "${libdir}/*"
83
84FILES_${SRCNAME}-common = "${sysconfdir}/${SRCNAME}/* \
85"
86
87FILES_${SRCNAME}-api = "${bindir}/ceilometer-api \
88 ${sysconfdir}/init.d/ceilometer-api \
89"
90
91FILES_${SRCNAME}-collector = "${bindir}/ceilometer-collector \
92 ${bindir}/ceilometer-collector-udp \
93 ${sysconfdir}/init.d/ceilometer-collector \
94"
95FILES_${SRCNAME}-compute = "${bindir}/ceilometer-agent-compute \
96 ${sysconfdir}/init.d/ceilometer-agent-compute \
97"
98
99FILES_${SRCNAME}-controller = "${bindir}/* \
100 ${localstatedir}/* \
101 ${sysconfdir}/init.d/ceilometer-agent-central \
102"
103
104RDEPENDS_${PN} += " \
105 python-sqlalchemy \
106 python-amqplib \
107 python-anyjson \
108 python-eventlet \
109 python-kombu \
110 python-lxml \
111 python-routes \
112 python-webob \
113 python-greenlet \
114 python-lockfile \
115 python-pastedeploy \
116 python-paste \
117 python-sqlalchemy-migrate \
118 python-stevedore \
119 python-suds \
120 python-paramiko \
121 python-babel \
122 python-iso8601 \
123 python-setuptools-git \
124 python-glanceclient \
125 python-keystoneclient \
126 python-swiftclient \
127 python-oslo.config \
128 python-msgpack \
129 python-pecan \
130 python-amqp \
131 python-singledispatch \
132 python-flask \
133 python-werkzeug \
134 python-itsdangerous \
135 python-happybase \
136 python-wsme \
137 python-eventlet \
138 python-pymongo \
139 python-thrift \
140 python-simplegeneric \
141 python-webtest \
142 python-waitress \
143 python-pyyaml \
144 python-pip \
145 python-pytz \
146 "
147
148RDEPENDS_${SRCNAME}-controller = "${PN} ${SRCNAME}-common postgresql postgresql-client python-psycopg2 tgt"
149RDEPENDS_${SRCNAME}-api = "${SRCNAME}-controller"
150RDEPENDS_${SRCNAME}-collector = "${SRCNAME}-controller"
151RDEPENDS_${SRCNAME}-compute = "${PN} ${SRCNAME}-common python-ceilometerclient libvirt"
152
153INITSCRIPT_PACKAGES = "${SRCNAME}-api ${SRCNAME}-collector ${SRCNAME}-compute ${SRCNAME}-controller"
154INITSCRIPT_NAME_${SRCNAME}-api = "${SRCNAME}-api"
155INITSCRIPT_NAME_${SRCNAME}-collector = "${SRCNAME}-collector"
156INITSCRIPT_NAME_${SRCNAME}-compute = "${SRCNAME}-agent-compute"
157INITSCRIPT_NAME_${SRCNAME}-controller = "${SRCNAME}-agent-central"