summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.conf871
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.init77
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer_git.bb157
3 files changed, 1105 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.conf b/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.conf
new file mode 100644
index 0000000..892a6af
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.conf
@@ -0,0 +1,871 @@
1[DEFAULT]
2
3#
4# Options defined in ceilometer.middleware
5#
6
7# Exchanges name to listen for notifications (multi valued)
8#http_control_exchanges=nova
9#http_control_exchanges=glance
10#http_control_exchanges=neutron
11#http_control_exchanges=cinder
12
13
14#
15# Options defined in ceilometer.pipeline
16#
17
18# Configuration file for pipeline definition (string value)
19#pipeline_cfg_file=pipeline.yaml
20
21
22#
23# Options defined in ceilometer.sample
24#
25
26# Source for samples emited on this instance (string value)
27#sample_source=openstack
28
29
30#
31# Options defined in ceilometer.api.app
32#
33
34# The strategy to use for auth: noauth or keystone. (string
35# value)
36#auth_strategy=keystone
37
38# Deploy the deprecated v1 API. (boolean value)
39#enable_v1_api=true
40
41
42#
43# Options defined in ceilometer.compute.notifications
44#
45
46# Exchange name for Nova notifications (string value)
47#nova_control_exchange=nova
48
49
50#
51# Options defined in ceilometer.compute.pollsters.util
52#
53
54# list of metadata prefixes reserved for metering use (list
55# value)
56#reserved_metadata_namespace=metering.
57
58# limit on length of reserved metadata values (integer value)
59#reserved_metadata_length=256
60
61
62#
63# Options defined in ceilometer.compute.virt.inspector
64#
65
66# Inspector to use for inspecting the hypervisor layer (string
67# value)
68#hypervisor_inspector=libvirt
69
70
71#
72# Options defined in ceilometer.compute.virt.libvirt.inspector
73#
74
75# Libvirt domain type (valid options are: kvm, lxc, qemu, uml,
76# xen) (string value)
77#libvirt_type=kvm
78
79# Override the default libvirt URI (which is dependent on
80# libvirt_type) (string value)
81#libvirt_uri=
82
83
84#
85# Options defined in ceilometer.image.notifications
86#
87
88# Exchange name for Glance notifications (string value)
89#glance_control_exchange=glance
90
91
92#
93# Options defined in ceilometer.network.notifications
94#
95
96# Exchange name for Neutron notifications (string value)
97#neutron_control_exchange=neutron
98
99
100#
101# Options defined in ceilometer.objectstore.swift
102#
103
104# Swift reseller prefix. Must be on par with reseller_prefix
105# in proxy-server.conf. (string value)
106#reseller_prefix=AUTH_
107
108
109#
110# Options defined in ceilometer.openstack.common.db.sqlalchemy.session
111#
112
113# the filename to use with sqlite (string value)
114#sqlite_db=ceilometer.sqlite
115
116# If true, use synchronous mode for sqlite (boolean value)
117#sqlite_synchronous=true
118
119
120#
121# Options defined in ceilometer.openstack.common.eventlet_backdoor
122#
123
124# Enable eventlet backdoor. Acceptable values are 0, <port>,
125# and <start>:<end>, where 0 results in listening on a random
126# tcp port number; <port> results in listening on the
127# specified port number (and not enabling backdoor if that
128# port is in use); and <start>:<end> results in listening on
129# the smallest unused port number within the specified range
130# of port numbers. The chosen port is displayed in the
131# service's log file. (string value)
132#backdoor_port=<None>
133
134
135#
136# Options defined in ceilometer.openstack.common.lockutils
137#
138
139# Whether to disable inter-process locks (boolean value)
140#disable_process_locking=false
141
142# Directory to use for lock files. (string value)
143#lock_path=<None>
144
145
146#
147# Options defined in ceilometer.openstack.common.log
148#
149
150# Print debugging output (set logging level to DEBUG instead
151# of default WARNING level). (boolean value)
152#debug=false
153
154# Print more verbose output (set logging level to INFO instead
155# of default WARNING level). (boolean value)
156#verbose=false
157
158# Log output to standard error (boolean value)
159#use_stderr=true
160
161# format string to use for log messages with context (string
162# value)
163#logging_context_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
164
165# format string to use for log messages without context
166# (string value)
167#logging_default_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
168
169# data to append to log format when level is DEBUG (string
170# value)
171#logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d
172
173# prefix each line of exception output with this format
174# (string value)
175#logging_exception_prefix=%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
176
177# list of logger=LEVEL pairs (list value)
178#default_log_levels=amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN
179
180# publish error events (boolean value)
181#publish_errors=false
182
183# make deprecations fatal (boolean value)
184#fatal_deprecations=false
185
186# If an instance is passed with the log message, format it
187# like this (string value)
188#instance_format="[instance: %(uuid)s] "
189
190# If an instance UUID is passed with the log message, format
191# it like this (string value)
192#instance_uuid_format="[instance: %(uuid)s] "
193
194# If this option is specified, the logging configuration file
195# specified is used and overrides any other logging options
196# specified. Please see the Python logging module
197# documentation for details on logging configuration files.
198# (string value)
199#log_config=<None>
200
201# DEPRECATED. A logging.Formatter log message format string
202# which may use any of the available logging.LogRecord
203# attributes. This option is deprecated. Please use
204# logging_context_format_string and
205# logging_default_format_string instead. (string value)
206#log_format=<None>
207
208# Format string for %%(asctime)s in log records. Default:
209# %(default)s (string value)
210#log_date_format=%Y-%m-%d %H:%M:%S
211
212# (Optional) Name of log file to output to. If no default is
213# set, logging will go to stdout. (string value)
214#log_file=<None>
215
216# (Optional) The base directory used for relative --log-file
217# paths (string value)
218#log_dir=<None>
219
220# Use syslog for logging. (boolean value)
221#use_syslog=false
222
223# syslog facility to receive log lines (string value)
224#syslog_log_facility=LOG_USER
225
226
227#
228# Options defined in ceilometer.openstack.common.notifier.api
229#
230
231# Driver or drivers to handle sending notifications (multi
232# valued)
233#notification_driver=
234
235# Default notification level for outgoing notifications
236# (string value)
237#default_notification_level=INFO
238
239# Default publisher_id for outgoing notifications (string
240# value)
241#default_publisher_id=<None>
242
243
244#
245# Options defined in ceilometer.openstack.common.notifier.rpc_notifier
246#
247
248# AMQP topic used for openstack notifications (list value)
249#notification_topics=notifications
250
251
252#
253# Options defined in ceilometer.openstack.common.policy
254#
255
256# JSON file containing policy (string value)
257#policy_file=policy.json
258
259# Rule enforced when requested rule is not found (string
260# value)
261#policy_default_rule=default
262
263
264#
265# Options defined in ceilometer.openstack.common.rpc
266#
267
268# The messaging module to use, defaults to kombu. (string
269# value)
270#rpc_backend=ceilometer.openstack.common.rpc.impl_kombu
271
272# Size of RPC thread pool (integer value)
273#rpc_thread_pool_size=64
274
275# Size of RPC connection pool (integer value)
276#rpc_conn_pool_size=30
277
278# Seconds to wait for a response from call or multicall
279# (integer value)
280#rpc_response_timeout=60
281
282# Seconds to wait before a cast expires (TTL). Only supported
283# by impl_zmq. (integer value)
284#rpc_cast_timeout=30
285
286# Modules of exceptions that are permitted to be recreatedupon
287# receiving exception data from an rpc call. (list value)
288#allowed_rpc_exception_modules=ceilometer.openstack.common.exception,nova.exception,cinder.exception,exceptions
289
290# If passed, use a fake RabbitMQ provider (boolean value)
291#fake_rabbit=false
292
293# AMQP exchange to connect to if using RabbitMQ or Qpid
294# (string value)
295#control_exchange=openstack
296
297
298#
299# Options defined in ceilometer.openstack.common.rpc.amqp
300#
301
302# Use durable queues in amqp. (boolean value)
303#amqp_durable_queues=false
304
305# Auto-delete queues in amqp. (boolean value)
306#amqp_auto_delete=false
307
308
309#
310# Options defined in ceilometer.openstack.common.rpc.impl_kombu
311#
312
313# SSL version to use (valid only if SSL enabled). valid values
314# are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some
315# distributions (string value)
316#kombu_ssl_version=
317
318# SSL key file (valid only if SSL enabled) (string value)
319#kombu_ssl_keyfile=
320
321# SSL cert file (valid only if SSL enabled) (string value)
322#kombu_ssl_certfile=
323
324# SSL certification authority file (valid only if SSL enabled)
325# (string value)
326#kombu_ssl_ca_certs=
327
328# The RabbitMQ broker address where a single node is used
329# (string value)
330rabbit_host=%CONTROLLER_IP%
331
332# The RabbitMQ broker port where a single node is used
333# (integer value)
334#rabbit_port=5672
335
336# RabbitMQ HA cluster host:port pairs (list value)
337#rabbit_hosts=$rabbit_host:$rabbit_port
338
339# connect over SSL for RabbitMQ (boolean value)
340#rabbit_use_ssl=false
341
342# the RabbitMQ userid (string value)
343#rabbit_userid=guest
344
345# the RabbitMQ password (string value)
346#rabbit_password=guest
347
348# the RabbitMQ virtual host (string value)
349#rabbit_virtual_host=/
350
351# how frequently to retry connecting with RabbitMQ (integer
352# value)
353#rabbit_retry_interval=1
354
355# how long to backoff for between retries when connecting to
356# RabbitMQ (integer value)
357#rabbit_retry_backoff=2
358
359# maximum retries with trying to connect to RabbitMQ (the
360# default of 0 implies an infinite retry count) (integer
361# value)
362#rabbit_max_retries=0
363
364# use H/A queues in RabbitMQ (x-ha-policy: all).You need to
365# wipe RabbitMQ database when changing this option. (boolean
366# value)
367#rabbit_ha_queues=false
368
369
370#
371# Options defined in ceilometer.openstack.common.rpc.impl_qpid
372#
373
374# Qpid broker hostname (string value)
375#qpid_hostname=localhost
376
377# Qpid broker port (integer value)
378#qpid_port=5672
379
380# Qpid HA cluster host:port pairs (list value)
381#qpid_hosts=$qpid_hostname:$qpid_port
382
383# Username for qpid connection (string value)
384#qpid_username=
385
386# Password for qpid connection (string value)
387#qpid_password=
388
389# Space separated list of SASL mechanisms to use for auth
390# (string value)
391#qpid_sasl_mechanisms=
392
393# Seconds between connection keepalive heartbeats (integer
394# value)
395#qpid_heartbeat=60
396
397# Transport to use, either 'tcp' or 'ssl' (string value)
398#qpid_protocol=tcp
399
400# Disable Nagle algorithm (boolean value)
401#qpid_tcp_nodelay=true
402
403# The qpid topology version to use. Version 1 is what was
404# originally used by impl_qpid. Version 2 includes some
405# backwards-incompatible changes that allow broker federation
406# to work. Users should update to version 2 when they are
407# able to take everything down, as it requires a clean break.
408# (integer value)
409#qpid_topology_version=1
410
411
412#
413# Options defined in ceilometer.openstack.common.rpc.impl_zmq
414#
415
416# ZeroMQ bind address. Should be a wildcard (*), an ethernet
417# interface, or IP. The "host" option should point or resolve
418# to this address. (string value)
419#rpc_zmq_bind_address=*
420
421# MatchMaker driver (string value)
422#rpc_zmq_matchmaker=ceilometer.openstack.common.rpc.matchmaker.MatchMakerLocalhost
423
424# ZeroMQ receiver listening port (integer value)
425#rpc_zmq_port=9501
426
427# Number of ZeroMQ contexts, defaults to 1 (integer value)
428#rpc_zmq_contexts=1
429
430# Maximum number of ingress messages to locally buffer per
431# topic. Default is unlimited. (integer value)
432#rpc_zmq_topic_backlog=<None>
433
434# Directory for holding IPC sockets (string value)
435#rpc_zmq_ipc_dir=/var/run/openstack
436
437# Name of this node. Must be a valid hostname, FQDN, or IP
438# address. Must match "host" option, if running Nova. (string
439# value)
440#rpc_zmq_host=ceilometer
441
442
443#
444# Options defined in ceilometer.openstack.common.rpc.matchmaker
445#
446
447# Heartbeat frequency (integer value)
448#matchmaker_heartbeat_freq=300
449
450# Heartbeat time-to-live. (integer value)
451#matchmaker_heartbeat_ttl=600
452
453
454#
455# Options defined in ceilometer.storage
456#
457
458# DEPRECATED - Database connection string (string value)
459#database_connection=<None>
460
461
462#
463# Options defined in ceilometer.storage.sqlalchemy.models
464#
465
466# MySQL engine (string value)
467#mysql_engine=InnoDB
468
469
470#
471# Options defined in ceilometer.volume.notifications
472#
473
474# Exchange name for Cinder notifications (string value)
475#cinder_control_exchange=cinder
476
477
478[publisher_rpc]
479
480#
481# Options defined in ceilometer.publisher.rpc
482#
483
484# the topic ceilometer uses for metering messages (string
485# value)
486#metering_topic=metering
487
488# Secret value for signing metering messages (string value)
489metering_secret=%CEILOMETER_SECRET%
490
491
492[ssl]
493
494#
495# Options defined in ceilometer.openstack.common.sslutils
496#
497
498# CA certificate file to use to verify connecting clients
499# (string value)
500#ca_file=<None>
501
502# Certificate file to use when starting the server securely
503# (string value)
504#cert_file=<None>
505
506# Private key file to use when starting the server securely
507# (string value)
508#key_file=<None>
509
510
511[database]
512
513#
514# Options defined in ceilometer.openstack.common.db.api
515#
516
517# The backend to use for db (string value)
518#backend=sqlalchemy
519
520# Enable the experimental use of thread pooling for all DB API
521# calls (boolean value)
522#use_tpool=false
523
524#
525# Options defined in ceilometer.openstack.common.db.sqlalchemy.session
526#
527
528# The SQLAlchemy connection string used to connect to the
529# database (string value)
530#connection=sqlite:////ceilometer/openstack/common/db/$sqlite_db
531connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/ceilometer
532
533# The SQLAlchemy connection string used to connect to the
534# slave database (string value)
535#slave_connection=
536
537# timeout before idle sql connections are reaped (integer
538# value)
539#idle_timeout=3600
540
541# Minimum number of SQL connections to keep open in a pool
542# (integer value)
543#min_pool_size=1
544
545# Maximum number of SQL connections to keep open in a pool
546# (integer value)
547#max_pool_size=<None>
548
549# maximum db connection retries during startup. (setting -1
550# implies an infinite retry count) (integer value)
551#max_retries=10
552
553# interval between retries of opening a sql connection
554# (integer value)
555#retry_interval=10
556
557# If set, use this value for max_overflow with sqlalchemy
558# (integer value)
559#max_overflow=<None>
560
561# Verbosity of SQL debugging information. 0=None,
562# 100=Everything (integer value)
563#connection_debug=0
564
565# Add python stack traces to SQL as comment strings (boolean
566# value)
567#connection_trace=false
568
569# If set, use this value for pool_timeout with sqlalchemy
570# (integer value)
571#pool_timeout=<None>
572
573
574#
575# Options defined in ceilometer.storage
576#
577
578# number of seconds that samples are kept in the database for
579# (<= 0 means forever) (integer value)
580#time_to_live=-1
581
582
583[alarm]
584
585#
586# Options defined in ceilometer.alarm.notifier.rest
587#
588
589# SSL Client certificate for REST notifier (string value)
590#rest_notifier_certificate_file=
591
592# SSL Client private key for REST notifier (string value)
593#rest_notifier_certificate_key=
594
595# Verify the SSL Server certificate when
596# calling alarm action (boolean value)
597#rest_notifier_ssl_verify=true
598
599
600#
601# Options defined in ceilometer.alarm.rpc
602#
603
604# the topic ceilometer uses for alarm notifier messages
605# (string value)
606#notifier_rpc_topic=alarm_notifier
607
608# the topic ceilometer uses for alarm partition coordination
609# messages (string value)
610#partition_rpc_topic=alarm_partition_coordination
611
612
613#
614# Options defined in ceilometer.alarm.service
615#
616
617# Period of evaluation cycle, should be >= than configured
618# pipeline interval for collection of underlying metrics.
619# (integer value)
620#evaluation_interval=60
621
622# Class to launch as alarm evaluation service (string value)
623#evaluation_service=ceilometer.alarm.service.SingletonAlarmService
624
625
626#
627# Options defined in ceilometer.api.controllers.v2
628#
629
630# Record alarm change events (boolean value)
631#record_history=true
632
633
634[rpc_notifier2]
635
636#
637# Options defined in ceilometer.openstack.common.notifier.rpc_notifier2
638#
639
640# AMQP topic(s) used for openstack notifications (list value)
641#topics=notifications
642
643
644[api]
645
646#
647# Options defined in ceilometer.api
648#
649
650# The port for the ceilometer API server (integer value)
651#port=8777
652
653# The listen IP for the ceilometer API server (string value)
654#host=0.0.0.0
655
656
657[service_credentials]
658
659#
660# Options defined in ceilometer.service
661#
662
663# Username to use for openstack service access (string value)
664os_username=ceilometer
665
666# Password to use for openstack service access (string value)
667os_password=%ADMIN_PASSWORD%
668
669# Tenant ID to use for openstack service access (string value)
670#os_tenant_id=
671
672# Tenant name to use for openstack service access (string
673# value)
674os_tenant_name=%SERVICE_TENANT_NAME%
675
676# Certificate chain for SSL validation (string value)
677#os_cacert=<None>
678
679# Auth URL to use for openstack service access (string value)
680#os_auth_url=http://localhost:5000/v2.0
681os_auth_url=http://%CONTROLLER_IP%:5000/v2.0
682
683# Region name to use for openstack service endpoints (string
684# value)
685#os_region_name=<None>
686
687# Type of endpoint in Identity service catalog to use for
688# communication with OpenStack services. (string value)
689#os_endpoint_type=publicURL
690
691
692[dispatcher_file]
693
694#
695# Options defined in ceilometer.collector.dispatcher.file
696#
697
698# Name and the location of the file to record meters. (string
699# value)
700#file_path=<None>
701
702# The max size of the file (integer value)
703#max_bytes=0
704
705# The max number of the files to keep (integer value)
706#backup_count=0
707
708
709[keystone_authtoken]
710
711#
712# Options defined in keystoneclient.middleware.auth_token
713#
714
715# Prefix to prepend at the beginning of the path (string
716# value)
717#auth_admin_prefix=
718
719# Host providing the admin Identity API endpoint (string
720# value)
721#auth_host=127.0.0.1
722
723# Port of the admin Identity API endpoint (integer value)
724#auth_port=35357
725
726# Protocol of the admin Identity API endpoint(http or https)
727# (string value)
728#auth_protocol=https
729
730# Complete public Identity API endpoint (string value)
731#auth_uri=<None>
732
733# API version of the admin Identity API endpoint (string
734# value)
735#auth_version=<None>
736
737# Do not handle authorization requests within the middleware,
738# but delegate the authorization decision to downstream WSGI
739# components (boolean value)
740#delay_auth_decision=false
741
742# Request timeout value for communicating with Identity API
743# server. (boolean value)
744#http_connect_timeout=<None>
745
746# How many times are we trying to reconnect when communicating
747# with Identity API Server. (integer value)
748#http_request_max_retries=3
749
750# Allows to pass in the name of a fake http_handler callback
751# function used instead of httplib.HTTPConnection or
752# httplib.HTTPSConnection. Useful for unit testing where
753# network is not available. (string value)
754#http_handler=<None>
755
756# Single shared secret with the Keystone configuration used
757# for bootstrapping a Keystone installation, or otherwise
758# bypassing the normal authentication process. (string value)
759#admin_token=<None>
760
761# Keystone account username (string value)
762#admin_user=<None>
763
764# Keystone account password (string value)
765#admin_password=<None>
766
767# Keystone service account tenant name to validate user tokens
768# (string value)
769#admin_tenant_name=admin
770
771# Env key for the swift cache (string value)
772#cache=<None>
773
774# Required if Keystone server requires client certificate
775# (string value)
776#certfile=<None>
777
778# Required if Keystone server requires client certificate
779# (string value)
780#keyfile=<None>
781
782# A PEM encoded Certificate Authority to use when verifying
783# HTTPs connections. Defaults to system CAs. (string value)
784#cafile=<None>
785
786# Verify HTTPS connections. (boolean value)
787#insecure=false
788
789# Directory used to cache files related to PKI tokens (string
790# value)
791#signing_dir=<None>
792
793# If defined, the memcache server(s) to use for caching (list
794# value)
795#memcached_servers=<None>
796
797# In order to prevent excessive requests and validations, the
798# middleware uses an in-memory cache for the tokens the
799# Keystone API returns. This is only valid if memcache_servers
800# is defined. Set to -1 to disable caching completely.
801# (integer value)
802#token_cache_time=300
803
804# Value only used for unit testing (integer value)
805#revocation_cache_time=1
806
807# (optional) if defined, indicate whether token data should be
808# authenticated or authenticated and encrypted. Acceptable
809# values are MAC or ENCRYPT. If MAC, token data is
810# authenticated (with HMAC) in the cache. If ENCRYPT, token
811# data is encrypted and authenticated in the cache. If the
812# value is not one of these options or empty, auth_token will
813# raise an exception on initialization. (string value)
814#memcache_security_strategy=<None>
815
816# (optional, mandatory if memcache_security_strategy is
817# defined) this string is used for key derivation. (string
818# value)
819#memcache_secret_key=<None>
820
821
822[collector]
823
824#
825# Options defined in ceilometer.collector.service
826#
827
828# address to bind the UDP socket todisabled if set to an empty
829# string (string value)
830#udp_address=0.0.0.0
831
832# port to bind the UDP socket to (integer value)
833#udp_port=4952
834
835# Acknowledge message when event persistence fails (boolean
836# value)
837#ack_on_event_error=true
838
839# Save event details (boolean value)
840#store_events=false
841
842# dispatcher to process metering data (multi valued)
843#dispatcher=database
844
845
846[matchmaker_ring]
847
848#
849# Options defined in ceilometer.openstack.common.rpc.matchmaker_ring
850#
851
852# Matchmaker ring file (JSON) (string value)
853#ringfile=/etc/oslo/matchmaker_ring.json
854
855
856[matchmaker_redis]
857
858#
859# Options defined in ceilometer.openstack.common.rpc.matchmaker_redis
860#
861
862# Host to locate redis (string value)
863#host=127.0.0.1
864
865# Use this port to connect to redis host. (integer value)
866#port=6379
867
868# Password for Redis server. (optional) (string value)
869#password=<None>
870
871
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.init b/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.init
new file mode 100644
index 0000000..13a51b9
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer.init
@@ -0,0 +1,77 @@
1#!/bin/sh
2
3### BEGIN INIT INFO
4# Provides:
5# Required-Start: $remote_fs $network $syslog
6# Required-Stop: $remote_fs $syslog
7# Default-Stop: 0 1 6
8# Short-Description: Ceilometer Servers
9# Description: OpenStack Monitoring Service (code-named Ceilometer) server(s)
10### END INIT INFO
11
12SUFFIX=@suffix@
13DESC="ceilometer-$SUFFIX"
14DAEMON="/usr/bin/ceilometer-$SUFFIX"
15CONFIG="/etc/ceilometer/ceilometer.conf"
16PIDFILE="/var/run/ceilometer-$SUFFIX.pid"
17
18start()
19{
20 if [ -e $PIDFILE ]; then
21 PIDDIR=/proc/$(cat $PIDFILE)
22 if [ -d ${PIDDIR} ]; then
23 echo "$DESC already running."
24 exit 1
25 else
26 echo "Removing stale PID file $PIDFILE"
27 rm -f $PIDFILE
28 fi
29 fi
30
31 if [ ! -d /var/log/ceilometer ]; then
32 mkdir /var/log/ceilometer
33 fi
34
35 echo -n "Starting $DESC..."
36
37 start-stop-daemon --start --quiet --background \
38 --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} \
39 -- --config-file $CONFIG
40
41 if [ $? -eq 0 ]; then
42 echo "done."
43 else
44 echo "failed."
45 fi
46}
47
48stop()
49{
50 echo -n "Stopping $DESC..."
51 start-stop-daemon --stop --quiet --pidfile $PIDFILE
52 if [ $? -eq 0 ]; then
53 echo "done."
54 else
55 echo "failed."
56 fi
57 rm -f $PIDFILE
58}
59
60case "$1" in
61 start)
62 start
63 ;;
64 stop)
65 stop
66 ;;
67 restart|force-reload)
68 stop
69 start
70 ;;
71 *)
72 echo "Usage: $0 {start|stop|force-reload|restart}"
73 exit 1
74 ;;
75esac
76
77exit 0
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"