summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-heat
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2013-11-12 23:49:08 -0500
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-11-25 15:25:37 -0500
commit53bb70159334a0219b3212ddfb5027b1b571b3a7 (patch)
tree8f5dce9e862915d45728f3224ea4908816e645b5 /meta-openstack/recipes-devtools/python/python-heat
parentb19d3153e1569f29597f9fb95b51b58c9660a55e (diff)
downloadmeta-cloud-services-53bb70159334a0219b3212ddfb5027b1b571b3a7.tar.gz
heat: introduce python-heat, heat-engine, heat-api*
Introducing the OpenStack Havana heat component. This initial integration covers the basic integration with keystone and horizon, but does not fully enable stack management. Subsequent updates will enable the full functionality. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-heat')
-rw-r--r--meta-openstack/recipes-devtools/python/python-heat/heat.conf731
-rw-r--r--meta-openstack/recipes-devtools/python/python-heat/heat.init83
2 files changed, 814 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-heat/heat.conf b/meta-openstack/recipes-devtools/python/python-heat/heat.conf
new file mode 100644
index 0000000..2ff8adb
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-heat/heat.conf
@@ -0,0 +1,731 @@
1[DEFAULT]
2
3#
4# Options defined in heat.common.config
5#
6
7admin_tenant_name = %SERVICE_TENANT_NAME%
8admin_user = heat
9admin_password = %ADMIN_PASSWORD%
10
11# The SQLAlchemy connection string used to connect to the
12# database (string value)
13#sql_connection=mysql://heat:heat@localhost/heat
14sql_connection=postgresql://%DB_USER%:%DB_PASSWORD%@localhost/heat
15
16# timeout before idle sql connections are reaped (integer
17# value)
18#sql_idle_timeout=3600
19
20# The default user for new instances (string value)
21#instance_user=ec2-user
22
23# Driver to use for controlling instances (string value)
24#instance_driver=heat.engine.nova
25
26# List of directories to search for Plugins (list value)
27#plugin_dirs=/usr/lib64/heat,/usr/lib/heat
28
29# The directory to search for environment files (string value)
30#environment_dir=/etc/heat/environment.d
31
32# Select deferred auth method, stored password or trusts
33# (string value)
34#deferred_auth_method=password
35
36# Subset of trustor roles to be delegated to heat (list value)
37#trusts_delegated_roles=heat_stack_owner
38
39# Maximum resources allowed per top-level stack. (integer
40# value)
41#max_resources_per_stack=1000
42
43# Maximum number of stacks any one tenant may have active at
44# one time. (integer value)
45#max_stacks_per_tenant=100
46
47# Controls how many events will be pruned whenever a stack's
48# events exceed max_events_per_stack. Set this lower to keep
49# more events at the expense of more frequent purges. (integer
50# value)
51#event_purge_batch_size=10
52
53# Maximum events that will be available per stack. Older
54# events will be deleted when this is reached. Set to 0 for
55# unlimited events per stack. (integer value)
56#max_events_per_stack=1000
57
58# Name of the engine node. This can be an opaque identifier.It
59# is not necessarily a hostname, FQDN, or IP address. (string
60# value)
61#host=heat
62
63# seconds between running periodic tasks (integer value)
64#periodic_interval=60
65
66# URL of the Heat metadata server (string value)
67#heat_metadata_server_url=
68
69# URL of the Heat waitcondition server (string value)
70#heat_waitcondition_server_url=
71
72# URL of the Heat cloudwatch server (string value)
73#heat_watch_server_url=
74
75# Instance connection to cfn/cw API via https (string value)
76#instance_connection_is_secure=0
77
78# Instance connection to cfn/cw API validate certs if ssl
79# (string value)
80#instance_connection_https_validate_certificates=1
81
82# Keystone role for heat template-defined users (string value)
83#heat_stack_user_role=heat_stack_user
84
85# Maximum raw byte size of any template. (integer value)
86#max_template_size=524288
87
88# Maximum depth allowed when using nested stacks. (integer
89# value)
90#max_nested_stack_depth=3
91
92
93#
94# Options defined in heat.common.crypt
95#
96
97# Encryption key used for authentication info in database
98# (string value)
99#auth_encryption_key=notgood but just long enough i think
100
101
102#
103# Options defined in heat.common.wsgi
104#
105
106# Maximum raw byte size of JSON request body. Should be larger
107# than max_template_size. (integer value)
108#max_json_body_size=1048576
109
110
111#
112# Options defined in heat.db.api
113#
114
115# The backend to use for db (string value)
116#db_backend=sqlalchemy
117
118
119#
120# Options defined in heat.engine.clients
121#
122
123# Cloud module to use as a backend. Defaults to OpenStack.
124# (string value)
125#cloud_backend=<None>
126
127
128#
129# Options defined in heat.openstack.common.db.sqlalchemy.session
130#
131
132# the filename to use with sqlite (string value)
133#sqlite_db=heat.sqlite
134
135# If true, use synchronous mode for sqlite (boolean value)
136#sqlite_synchronous=true
137
138
139#
140# Options defined in heat.openstack.common.eventlet_backdoor
141#
142
143# Enable eventlet backdoor. Acceptable values are 0, <port>,
144# and <start>:<end>, where 0 results in listening on a random
145# tcp port number; <port> results in listening on the
146# specified port number (and not enabling backdoor if that
147# port is in use); and <start>:<end> results in listening on
148# the smallest unused port number within the specified range
149# of port numbers. The chosen port is displayed in the
150# service's log file. (string value)
151#backdoor_port=<None>
152
153
154#
155# Options defined in heat.openstack.common.lockutils
156#
157
158# Whether to disable inter-process locks (boolean value)
159#disable_process_locking=false
160
161# Directory to use for lock files. (string value)
162#lock_path=<None>
163
164
165#
166# Options defined in heat.openstack.common.log
167#
168
169# Print debugging output (set logging level to DEBUG instead
170# of default WARNING level). (boolean value)
171#debug=false
172
173# Print more verbose output (set logging level to INFO instead
174# of default WARNING level). (boolean value)
175#verbose=false
176
177# Log output to standard error (boolean value)
178#use_stderr=true
179
180# format string to use for log messages with context (string
181# value)
182#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
183
184# format string to use for log messages without context
185# (string value)
186#logging_default_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
187
188# data to append to log format when level is DEBUG (string
189# value)
190#logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d
191
192# prefix each line of exception output with this format
193# (string value)
194#logging_exception_prefix=%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
195
196# list of logger=LEVEL pairs (list value)
197#default_log_levels=amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN
198
199# publish error events (boolean value)
200#publish_errors=false
201
202# make deprecations fatal (boolean value)
203#fatal_deprecations=false
204
205# If an instance is passed with the log message, format it
206# like this (string value)
207#instance_format="[instance: %(uuid)s] "
208
209# If an instance UUID is passed with the log message, format
210# it like this (string value)
211#instance_uuid_format="[instance: %(uuid)s] "
212
213# If this option is specified, the logging configuration file
214# specified is used and overrides any other logging options
215# specified. Please see the Python logging module
216# documentation for details on logging configuration files.
217# (string value)
218#log_config=<None>
219
220# DEPRECATED. A logging.Formatter log message format string
221# which may use any of the available logging.LogRecord
222# attributes. This option is deprecated. Please use
223# logging_context_format_string and
224# logging_default_format_string instead. (string value)
225#log_format=<None>
226
227# Format string for %%(asctime)s in log records. Default:
228# %(default)s (string value)
229#log_date_format=%Y-%m-%d %H:%M:%S
230
231# (Optional) Name of log file to output to. If no default is
232# set, logging will go to stdout. (string value)
233#log_file=<None>
234
235# (Optional) The base directory used for relative --log-file
236# paths (string value)
237#log_dir=<None>
238
239# Use syslog for logging. (boolean value)
240#use_syslog=false
241
242# syslog facility to receive log lines (string value)
243#syslog_log_facility=LOG_USER
244
245
246#
247# Options defined in heat.openstack.common.notifier.api
248#
249
250# Driver or drivers to handle sending notifications (multi
251# valued)
252#notification_driver=
253
254# Default notification level for outgoing notifications
255# (string value)
256#default_notification_level=INFO
257
258# Default publisher_id for outgoing notifications (string
259# value)
260#default_publisher_id=<None>
261
262
263#
264# Options defined in heat.openstack.common.notifier.list_notifier
265#
266
267# List of drivers to send notifications (multi valued)
268#list_notifier_drivers=heat.openstack.common.notifier.no_op_notifier
269
270
271#
272# Options defined in heat.openstack.common.notifier.rpc_notifier
273#
274
275# AMQP topic used for openstack notifications (list value)
276#notification_topics=notifications
277
278
279#
280# Options defined in heat.openstack.common.policy
281#
282
283# JSON file containing policy (string value)
284#policy_file=policy.json
285
286# Rule enforced when requested rule is not found (string
287# value)
288#policy_default_rule=default
289
290
291#
292# Options defined in heat.openstack.common.rpc
293#
294
295# The messaging module to use, defaults to kombu. (string
296# value)
297#rpc_backend=heat.openstack.common.rpc.impl_kombu
298
299# Size of RPC thread pool (integer value)
300#rpc_thread_pool_size=64
301
302# Size of RPC connection pool (integer value)
303#rpc_conn_pool_size=30
304
305# Seconds to wait for a response from call or multicall
306# (integer value)
307#rpc_response_timeout=60
308
309# Seconds to wait before a cast expires (TTL). Only supported
310# by impl_zmq. (integer value)
311#rpc_cast_timeout=30
312
313# Modules of exceptions that are permitted to be recreatedupon
314# receiving exception data from an rpc call. (list value)
315#allowed_rpc_exception_modules=heat.openstack.common.exception,heat.common.exception,nova.exception,cinder.exception,exceptions
316
317# If passed, use a fake RabbitMQ provider (boolean value)
318#fake_rabbit=false
319
320# AMQP exchange to connect to if using RabbitMQ or Qpid
321# (string value)
322#control_exchange=openstack
323
324
325#
326# Options defined in heat.openstack.common.rpc.amqp
327#
328
329# Use durable queues in amqp. (boolean value)
330#amqp_durable_queues=false
331
332# Auto-delete queues in amqp. (boolean value)
333#amqp_auto_delete=false
334
335
336#
337# Options defined in heat.openstack.common.rpc.impl_kombu
338#
339
340# SSL version to use (valid only if SSL enabled). valid values
341# are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some
342# distributions (string value)
343#kombu_ssl_version=
344
345# SSL key file (valid only if SSL enabled) (string value)
346#kombu_ssl_keyfile=
347
348# SSL cert file (valid only if SSL enabled) (string value)
349#kombu_ssl_certfile=
350
351# SSL certification authority file (valid only if SSL enabled)
352# (string value)
353#kombu_ssl_ca_certs=
354
355# The RabbitMQ broker address where a single node is used
356# (string value)
357#rabbit_host=localhost
358
359# The RabbitMQ broker port where a single node is used
360# (integer value)
361#rabbit_port=5672
362
363# RabbitMQ HA cluster host:port pairs (list value)
364#rabbit_hosts=$rabbit_host:$rabbit_port
365
366# connect over SSL for RabbitMQ (boolean value)
367#rabbit_use_ssl=false
368
369# the RabbitMQ userid (string value)
370#rabbit_userid=guest
371
372# the RabbitMQ password (string value)
373#rabbit_password=guest
374
375# the RabbitMQ virtual host (string value)
376#rabbit_virtual_host=/
377
378# how frequently to retry connecting with RabbitMQ (integer
379# value)
380#rabbit_retry_interval=1
381
382# how long to backoff for between retries when connecting to
383# RabbitMQ (integer value)
384#rabbit_retry_backoff=2
385
386# maximum retries with trying to connect to RabbitMQ (the
387# default of 0 implies an infinite retry count) (integer
388# value)
389#rabbit_max_retries=0
390
391# use H/A queues in RabbitMQ (x-ha-policy: all).You need to
392# wipe RabbitMQ database when changing this option. (boolean
393# value)
394#rabbit_ha_queues=false
395
396
397#
398# Options defined in heat.openstack.common.rpc.impl_qpid
399#
400
401# Qpid broker hostname (string value)
402#qpid_hostname=localhost
403
404# Qpid broker port (integer value)
405#qpid_port=5672
406
407# Qpid HA cluster host:port pairs (list value)
408#qpid_hosts=$qpid_hostname:$qpid_port
409
410# Username for qpid connection (string value)
411#qpid_username=
412
413# Password for qpid connection (string value)
414#qpid_password=
415
416# Space separated list of SASL mechanisms to use for auth
417# (string value)
418#qpid_sasl_mechanisms=
419
420# Seconds between connection keepalive heartbeats (integer
421# value)
422#qpid_heartbeat=60
423
424# Transport to use, either 'tcp' or 'ssl' (string value)
425#qpid_protocol=tcp
426
427# Disable Nagle algorithm (boolean value)
428#qpid_tcp_nodelay=true
429
430# The qpid topology version to use. Version 1 is what was
431# originally used by impl_qpid. Version 2 includes some
432# backwards-incompatible changes that allow broker federation
433# to work. Users should update to version 2 when they are
434# able to take everything down, as it requires a clean break.
435# (integer value)
436#qpid_topology_version=1
437
438
439#
440# Options defined in heat.openstack.common.rpc.impl_zmq
441#
442
443# ZeroMQ bind address. Should be a wildcard (*), an ethernet
444# interface, or IP. The "host" option should point or resolve
445# to this address. (string value)
446#rpc_zmq_bind_address=*
447
448# MatchMaker driver (string value)
449#rpc_zmq_matchmaker=heat.openstack.common.rpc.matchmaker.MatchMakerLocalhost
450
451# ZeroMQ receiver listening port (integer value)
452#rpc_zmq_port=9501
453
454# Number of ZeroMQ contexts, defaults to 1 (integer value)
455#rpc_zmq_contexts=1
456
457# Maximum number of ingress messages to locally buffer per
458# topic. Default is unlimited. (integer value)
459#rpc_zmq_topic_backlog=<None>
460
461# Directory for holding IPC sockets (string value)
462#rpc_zmq_ipc_dir=/var/run/openstack
463
464# Name of this node. Must be a valid hostname, FQDN, or IP
465# address. Must match "host" option, if running Nova. (string
466# value)
467#rpc_zmq_host=heat
468
469
470#
471# Options defined in heat.openstack.common.rpc.matchmaker
472#
473
474# Heartbeat frequency (integer value)
475#matchmaker_heartbeat_freq=300
476
477# Heartbeat time-to-live. (integer value)
478#matchmaker_heartbeat_ttl=600
479
480
481[ssl]
482
483#
484# Options defined in heat.openstack.common.sslutils
485#
486
487# CA certificate file to use to verify connecting clients
488# (string value)
489#ca_file=<None>
490
491# Certificate file to use when starting the server securely
492# (string value)
493#cert_file=<None>
494
495# Private key file to use when starting the server securely
496# (string value)
497#key_file=<None>
498
499
500[database]
501
502#
503# Options defined in heat.openstack.common.db.api
504#
505
506# The backend to use for db (string value)
507#backend=sqlalchemy
508
509# Enable the experimental use of thread pooling for all DB API
510# calls (boolean value)
511#use_tpool=false
512
513
514#
515# Options defined in heat.openstack.common.db.sqlalchemy.session
516#
517
518# The SQLAlchemy connection string used to connect to the
519# database (string value)
520#connection=sqlite:////heat/openstack/common/db/$sqlite_db
521
522# The SQLAlchemy connection string used to connect to the
523# slave database (string value)
524#slave_connection=
525
526# timeout before idle sql connections are reaped (integer
527# value)
528#idle_timeout=3600
529
530# Minimum number of SQL connections to keep open in a pool
531# (integer value)
532#min_pool_size=1
533
534# Maximum number of SQL connections to keep open in a pool
535# (integer value)
536#max_pool_size=<None>
537
538# maximum db connection retries during startup. (setting -1
539# implies an infinite retry count) (integer value)
540#max_retries=10
541
542# interval between retries of opening a sql connection
543# (integer value)
544#retry_interval=10
545
546# If set, use this value for max_overflow with sqlalchemy
547# (integer value)
548#max_overflow=<None>
549
550# Verbosity of SQL debugging information. 0=None,
551# 100=Everything (integer value)
552#connection_debug=0
553
554# Add python stack traces to SQL as comment strings (boolean
555# value)
556#connection_trace=false
557
558# If set, use this value for pool_timeout with sqlalchemy
559# (integer value)
560#pool_timeout=<None>
561
562
563[paste_deploy]
564
565#
566# Options defined in heat.common.config
567#
568
569# The flavor to use (string value)
570#flavor=<None>
571
572# The API paste config file to use (string value)
573#api_paste_config=api-paste.ini
574
575
576[rpc_notifier2]
577
578#
579# Options defined in heat.openstack.common.notifier.rpc_notifier2
580#
581
582# AMQP topic(s) used for openstack notifications (list value)
583#topics=notifications
584
585
586[ec2authtoken]
587
588#
589# Options defined in heat.api.aws.ec2token
590#
591
592# Authentication Endpoint URI (string value)
593#auth_uri=<None>
594
595# Allow orchestration of multiple clouds (boolean value)
596#multi_cloud=false
597
598# Allowed keystone endpoints for auth_uri when multi_cloud is
599# enabled. At least one endpoint needs to be specified. (list
600# value)
601#allowed_auth_uris=
602
603
604[heat_api_cloudwatch]
605
606#
607# Options defined in heat.common.wsgi
608#
609
610# Address to bind the server. Useful when selecting a
611# particular network interface. (string value)
612#bind_host=0.0.0.0
613
614# The port on which the server will listen. (integer value)
615#bind_port=8003
616
617# Number of backlog requests to configure the socket with
618# (integer value)
619#backlog=4096
620
621# Location of the SSL Certificate File to use for SSL mode
622# (string value)
623#cert_file=<None>
624
625# Location of the SSL Key File to use for enabling SSL mode
626# (string value)
627#key_file=<None>
628
629# Number of workers for Heat service (integer value)
630#workers=0
631
632
633[heat_api]
634
635#
636# Options defined in heat.common.wsgi
637#
638
639# Address to bind the server. Useful when selecting a
640# particular network interface. (string value)
641#bind_host=0.0.0.0
642
643# The port on which the server will listen. (integer value)
644#bind_port=8004
645
646# Number of backlog requests to configure the socket with
647# (integer value)
648#backlog=4096
649
650# Location of the SSL Certificate File to use for SSL mode
651# (string value)
652#cert_file=<None>
653
654# Location of the SSL Key File to use for enabling SSL mode
655# (string value)
656#key_file=<None>
657
658# Number of workers for Heat service (integer value)
659#workers=0
660
661
662[heat_api_cfn]
663
664#
665# Options defined in heat.common.wsgi
666#
667
668# Address to bind the server. Useful when selecting a
669# particular network interface. (string value)
670#bind_host=0.0.0.0
671
672# The port on which the server will listen. (integer value)
673#bind_port=8000
674
675# Number of backlog requests to configure the socket with
676# (integer value)
677#backlog=4096
678
679# Location of the SSL Certificate File to use for SSL mode
680# (string value)
681#cert_file=<None>
682
683# Location of the SSL Key File to use for enabling SSL mode
684# (string value)
685#key_file=<None>
686
687# Number of workers for Heat service (integer value)
688#workers=0
689
690
691[auth_password]
692
693#
694# Options defined in heat.common.config
695#
696
697# Allow orchestration of multiple clouds (boolean value)
698#multi_cloud=false
699
700# Allowed keystone endpoints for auth_uri when multi_cloud is
701# enabled. At least one endpoint needs to be specified. (list
702# value)
703#allowed_auth_uris=
704
705
706[matchmaker_ring]
707
708#
709# Options defined in heat.openstack.common.rpc.matchmaker_ring
710#
711
712# Matchmaker ring file (JSON) (string value)
713#ringfile=/etc/oslo/matchmaker_ring.json
714
715
716[matchmaker_redis]
717
718#
719# Options defined in heat.openstack.common.rpc.matchmaker_redis
720#
721
722# Host to locate redis (string value)
723#host=127.0.0.1
724
725# Use this port to connect to redis host. (integer value)
726#port=6379
727
728# Password for Redis server. (optional) (string value)
729#password=<None>
730
731
diff --git a/meta-openstack/recipes-devtools/python/python-heat/heat.init b/meta-openstack/recipes-devtools/python/python-heat/heat.init
new file mode 100644
index 0000000..452691a
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-heat/heat.init
@@ -0,0 +1,83 @@
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: Heat Servers
9# Description: OpenStack Orchestration Service (code-named heat)
10### END INIT INFO
11
12SUFFIX="@suffix@"
13CONFIG="/etc/heat/heat.conf"
14if [ -n "$SUFFIX" ]; then
15 DAEMON="/usr/bin/heat-$SUFFIX"
16 DESC="heat-$SUFFIX"
17 PIDFILE="/var/run/heat-$SUFFIX.pid"
18else
19 DAEMON="/usr/bin/heat"
20 DESC="heat"
21 PIDFILE="/var/run/heat.pid"
22fi
23
24start()
25{
26 if [ -e $PIDFILE ]; then
27 PIDDIR=/proc/$(cat $PIDFILE)
28 if [ -d ${PIDDIR} ]; then
29 echo "$DESC already running."
30 exit 1
31 else
32 echo "Removing stale PID file $PIDFILE"
33 rm -f $PIDFILE
34 fi
35 fi
36
37 if [ ! -d /var/log/heat ]; then
38 mkdir /var/log/heat
39 fi
40
41 echo -n "Starting $DESC..."
42
43 start-stop-daemon --start --quiet --background \
44 --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} \
45 -- --config-file $CONFIG
46
47 if [ $? -eq 0 ]; then
48 echo "done."
49 else
50 echo "failed."
51 fi
52}
53
54stop()
55{
56 echo -n "Stopping $DESC..."
57 start-stop-daemon --stop --quiet --pidfile $PIDFILE
58 if [ $? -eq 0 ]; then
59 echo "done."
60 else
61 echo "failed."
62 fi
63 rm -f $PIDFILE
64}
65
66case "$1" in
67 start)
68 start
69 ;;
70 stop)
71 stop
72 ;;
73 restart|force-reload)
74 stop
75 start
76 ;;
77 *)
78 echo "Usage: $0 {start|stop|force-reload|restart}"
79 exit 1
80 ;;
81esac
82
83exit 0