summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools
diff options
context:
space:
mode:
authorMihai Prica <prica.mihai@gmail.com>2013-06-11 14:53:44 +0300
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-08-28 18:41:56 -0400
commitde39adcdbeaa8ed8376ca602bd7a2630de3a5ddf (patch)
tree7b32823f85daa1f6d1c90027508266a1584bc868 /meta-openstack/recipes-devtools
parent836997160799682eb16c4410952148b888cc8661 (diff)
downloadmeta-cloud-services-de39adcdbeaa8ed8376ca602bd7a2630de3a5ddf.tar.gz
python-quantum: added 2013.1
-Modified the sample configuration files with necessary credentials. -Created initscript for the quantum server. -Configured the openvswitch and linuxbridge plugin agents. Signed-off-by: Mihai Prica <prica.mihai@gmail.com>
Diffstat (limited to 'meta-openstack/recipes-devtools')
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum/fix-amqlib-version.patch13
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum/linuxbridge_conf.ini63
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum/ovs_quantum_plugin.ini130
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum/quantum-agent.init70
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum/quantum-server.init73
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum/quantum.conf287
-rw-r--r--meta-openstack/recipes-devtools/python/python-quantum_2013.1.bb159
7 files changed, 795 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-quantum/fix-amqlib-version.patch b/meta-openstack/recipes-devtools/python/python-quantum/fix-amqlib-version.patch
new file mode 100644
index 0000000..72aff5e
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum/fix-amqlib-version.patch
@@ -0,0 +1,13 @@
1Index: quantum-2013.1.1/tools/pip-requires
2===================================================================
3--- quantum-2013.1.1.orig/tools/pip-requires
4+++ quantum-2013.1.1/tools/pip-requires
5@@ -1,7 +1,7 @@
6 Paste
7 PasteDeploy>=1.5.0
8 Routes>=1.12.3
9-amqplib==0.6.1
10+amqplib>=0.6.1
11 anyjson>=0.2.4
12 argparse
13 eventlet>=0.9.17
diff --git a/meta-openstack/recipes-devtools/python/python-quantum/linuxbridge_conf.ini b/meta-openstack/recipes-devtools/python/python-quantum/linuxbridge_conf.ini
new file mode 100644
index 0000000..476cd3a
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum/linuxbridge_conf.ini
@@ -0,0 +1,63 @@
1[VLANS]
2# (StrOpt) Type of network to allocate for tenant networks. The
3# default value 'local' is useful only for single-box testing and
4# provides no connectivity between hosts. You MUST change this to
5# 'vlan' and configure network_vlan_ranges below in order for tenant
6# networks to provide connectivity between hosts. Set to 'none' to
7# disable creation of tenant networks.
8#
9# Default: tenant_network_type = local
10# Example: tenant_network_type = vlan
11
12# (ListOpt) Comma-separated list of
13# <physical_network>[:<vlan_min>:<vlan_max>] tuples enumerating ranges
14# of VLAN IDs on named physical networks that are available for
15# allocation. All physical networks listed are available for flat and
16# VLAN provider network creation. Specified ranges of VLAN IDs are
17# available for tenant network allocation if tenant_network_type is
18# 'vlan'. If empty, only local networks may be created.
19#
20# Default: network_vlan_ranges =
21# Example: network_vlan_ranges = physnet1:1000:2999
22
23[DATABASE]
24# This line MUST be changed to actually run the plugin.
25# Example:
26# sql_connection = mysql://root:nova@127.0.0.1:3306/quantum_linux_bridge
27# Replace 127.0.0.1 above with the IP address of the database used by the
28# main quantum server. (Leave it as is if the database runs on this host.)
29sql_connection = postgresql://nova:nova@localhost/quantum
30# Database reconnection retry times - in event connectivity is lost
31# set to -1 implies an infinite retry count
32# sql_max_retries = 10
33# Database reconnection interval in seconds - if the initial connection to the
34# database fails
35reconnect_interval = 2
36# Enable the use of eventlet's db_pool for MySQL. The flags sql_min_pool_size,
37# sql_max_pool_size and sql_idle_timeout are relevant only if this is enabled.
38# sql_dbpool_enable = False
39# Minimum number of SQL connections to keep open in a pool
40# sql_min_pool_size = 1
41# Maximum number of SQL connections to keep open in a pool
42# sql_max_pool_size = 5
43# Timeout in seconds before idle sql connections are reaped
44# sql_idle_timeout = 3600
45
46[LINUX_BRIDGE]
47# (ListOpt) Comma-separated list of
48# <physical_network>:<physical_interface> tuples mapping physical
49# network names to the agent's node-specific physical network
50# interfaces to be used for flat and VLAN networks. All physical
51# networks listed in network_vlan_ranges on the server should have
52# mappings to appropriate interfaces on each agent.
53#
54# Default: physical_interface_mappings =
55# Example: physical_interface_mappings = physnet1:eth1
56
57[AGENT]
58# Agent's polling interval in seconds
59polling_interval = 2
60
61[SECURITYGROUP]
62# Firewall driver for realizing quantum security group function
63firewall_driver = quantum.agent.linux.iptables_firewall.IptablesFirewallDriver
diff --git a/meta-openstack/recipes-devtools/python/python-quantum/ovs_quantum_plugin.ini b/meta-openstack/recipes-devtools/python/python-quantum/ovs_quantum_plugin.ini
new file mode 100644
index 0000000..ca68814
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum/ovs_quantum_plugin.ini
@@ -0,0 +1,130 @@
1[DATABASE]
2# This line MUST be changed to actually run the plugin.
3# Example:
4# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
5# Replace 127.0.0.1 above with the IP address of the database used by the
6# main quantum server. (Leave it as is if the database runs on this host.)
7sql_connection = postgresql://nova:nova@localhost/quantum
8# Database reconnection retry times - in event connectivity is lost
9# set to -1 implies an infinite retry count
10# sql_max_retries = 10
11# Database reconnection interval in seconds - if the initial connection to the
12# database fails
13reconnect_interval = 2
14# Enable the use of eventlet's db_pool for MySQL. The flags sql_min_pool_size,
15# sql_max_pool_size and sql_idle_timeout are relevant only if this is enabled.
16# sql_dbpool_enable = False
17# Minimum number of SQL connections to keep open in a pool
18# sql_min_pool_size = 1
19# Maximum number of SQL connections to keep open in a pool
20# sql_max_pool_size = 5
21# Timeout in seconds before idle sql connections are reaped
22# sql_idle_timeout = 3600
23
24[OVS]
25# (StrOpt) Type of network to allocate for tenant networks. The
26# default value 'local' is useful only for single-box testing and
27# provides no connectivity between hosts. You MUST either change this
28# to 'vlan' and configure network_vlan_ranges below or change this to
29# 'gre' and configure tunnel_id_ranges below in order for tenant
30# networks to provide connectivity between hosts. Set to 'none' to
31# disable creation of tenant networks.
32#
33# Default: tenant_network_type = local
34# Example: tenant_network_type = gre
35tenant_network_type = gre
36
37# (ListOpt) Comma-separated list of
38# <physical_network>[:<vlan_min>:<vlan_max>] tuples enumerating ranges
39# of VLAN IDs on named physical networks that are available for
40# allocation. All physical networks listed are available for flat and
41# VLAN provider network creation. Specified ranges of VLAN IDs are
42# available for tenant network allocation if tenant_network_type is
43# 'vlan'. If empty, only gre and local networks may be created.
44#
45# Default: network_vlan_ranges =
46# Example: network_vlan_ranges = physnet1:1000:2999
47
48# (BoolOpt) Set to True in the server and the agents to enable support
49# for GRE networks. Requires kernel support for OVS patch ports and
50# GRE tunneling.
51#
52# Default: enable_tunneling = False
53enable_tunneling = True
54
55# (ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples
56# enumerating ranges of GRE tunnel IDs that are available for tenant
57# network allocation if tenant_network_type is 'gre'.
58#
59# Default: tunnel_id_ranges =
60# Example: tunnel_id_ranges = 1:1000
61tunnel_id_ranges = 1:1000
62
63# Do not change this parameter unless you have a good reason to.
64# This is the name of the OVS integration bridge. There is one per hypervisor.
65# The integration bridge acts as a virtual "patch bay". All VM VIFs are
66# attached to this bridge and then "patched" according to their network
67# connectivity.
68#
69# Default: integration_bridge = br-int
70
71# Only used for the agent if tunnel_id_ranges (above) is not empty for
72# the server. In most cases, the default value should be fine.
73#
74# Default: tunnel_bridge = br-tun
75
76# Peer patch port in integration bridge for tunnel bridge
77# int_peer_patch_port = patch-tun
78
79# Peer patch port in tunnel bridge for integration bridge
80# tun_peer_patch_port = patch-int
81
82# Uncomment this line for the agent if tunnel_id_ranges (above) is not
83# empty for the server. Set local-ip to be the local IP address of
84# this hypervisor.
85#
86# Default: local_ip =
87
88# (ListOpt) Comma-separated list of <physical_network>:<bridge> tuples
89# mapping physical network names to the agent's node-specific OVS
90# bridge names to be used for flat and VLAN networks. The length of
91# bridge names should be no more than 11. Each bridge must
92# exist, and should have a physical network interface configured as a
93# port. All physical networks listed in network_vlan_ranges on the
94# server should have mappings to appropriate bridges on each agent.
95#
96# Default: bridge_mappings =
97# Example: bridge_mappings = physnet1:br-eth1
98
99[AGENT]
100# Agent's polling interval in seconds
101polling_interval = 2
102
103[SECURITYGROUP]
104# Firewall driver for realizing quantum security group function
105# firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
106
107#-----------------------------------------------------------------------------
108# Sample Configurations.
109#-----------------------------------------------------------------------------
110#
111# 1. With VLANs on eth1.
112# [DATABASE]
113# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
114# [OVS]
115# network_vlan_ranges = default:2000:3999
116# tunnel_id_ranges =
117# integration_bridge = br-int
118# bridge_mappings = default:br-eth1
119# [AGENT]
120# Add the following setting, if you want to log to a file
121#
122# 2. With tunneling.
123# [DATABASE]
124# sql_connection = mysql://root:nova@127.0.0.1:3306/ovs_quantum
125# [OVS]
126# network_vlan_ranges =
127# tunnel_id_ranges = 1:1000
128# integration_bridge = br-int
129# tunnel_bridge = br-tun
130# local_ip = 10.0.0.3
diff --git a/meta-openstack/recipes-devtools/python/python-quantum/quantum-agent.init b/meta-openstack/recipes-devtools/python/python-quantum/quantum-agent.init
new file mode 100644
index 0000000..1a33d06
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum/quantum-agent.init
@@ -0,0 +1,70 @@
1#! /bin/sh
2
3### BEGIN INIT INFO
4# Required-Start: $remote_fs $syslog
5# Required-Stop: $remote_fs $syslog
6# Default-Start: 2 3 5
7# Default-Stop: 0 1 6
8# Description: Quantum networking agent
9### END INIT INFO
10
11SUFFIX=@suffix@
12DESC="quantum-$SUFFIX-agent"
13DAEMON="/usr/bin/quantum-$SUFFIX-agent"
14PIDFILE="/var/run/quantum-$SUFFIX-agent.pid"
15
16start()
17{
18 if [ -e $PIDFILE ]; then
19 PIDDIR=/proc/$(cat $PIDFILE)
20 if [ -d ${PIDDIR} ]; then
21 echo "$DESC already running."
22 exit 1
23 else
24 echo "Removing stale PID file $PIDFILE"
25 rm -f $PIDFILE
26 fi
27 fi
28
29 echo -n "Starting $DESC..."
30
31 start-stop-daemon --start --quiet --background \
32 --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON}
33
34 if [ $? -eq 0 ]; then
35 echo "done."
36 else
37 echo "failed."
38 fi
39}
40
41stop()
42{
43 echo -n "Stopping $DESC..."
44 start-stop-daemon --stop --quiet --pidfile $PIDFILE
45 if [ $? -eq 0 ]; then
46 echo "done."
47 else
48 echo "failed."
49 fi
50 rm -f $PIDFILE
51}
52
53case "$1" in
54 start)
55 start
56 ;;
57 stop)
58 stop
59 ;;
60 restart|force-reload)
61 stop
62 start
63 ;;
64 *)
65 echo "Usage: $0 {start|stop|force-reload|restart}"
66 exit 1
67 ;;
68esac
69
70exit 0
diff --git a/meta-openstack/recipes-devtools/python/python-quantum/quantum-server.init b/meta-openstack/recipes-devtools/python/python-quantum/quantum-server.init
new file mode 100644
index 0000000..e85bc48
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum/quantum-server.init
@@ -0,0 +1,73 @@
1#!/bin/sh
2
3### BEGIN INIT INFO
4# Provides: quantum-server
5# Required-Start: $remote_fs $syslog
6# Required-Stop: $remote_fs $syslog
7# Default-Start: 2 3 5
8# Default-Stop: 0 1 6
9# Short-Description: quantum-server
10# Description: Provides the Quantum networking service
11### END INIT INFO
12
13DESC="quantum-server"
14DAEMON="/usr/bin/quantum-server"
15PIDFILE="/var/run/quantum-server.pid"
16DAEMON_ARGS="--config-file=/etc/quantum/quantum.conf --config-file=@plugin@"
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 echo -n "Starting $DESC..."
32
33 start-stop-daemon --start --quiet --background \
34 --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} \
35 -- $DAEMON_ARGS
36
37 if [ $? -eq 0 ]; then
38 echo "done."
39 else
40 echo "failed."
41 fi
42}
43
44stop()
45{
46 echo -n "Stopping $DESC..."
47 start-stop-daemon --stop --quiet --pidfile $PIDFILE
48 if [ $? -eq 0 ]; then
49 echo "done."
50 else
51 echo "failed."
52 fi
53 rm -f $PIDFILE
54}
55
56case "$1" in
57 start)
58 start
59 ;;
60 stop)
61 stop
62 ;;
63 restart|force-reload)
64 stop
65 start
66 ;;
67 *)
68 echo "Usage: $0 {start|stop|force-reload|restart}"
69 exit 1
70 ;;
71esac
72
73exit 0
diff --git a/meta-openstack/recipes-devtools/python/python-quantum/quantum.conf b/meta-openstack/recipes-devtools/python/python-quantum/quantum.conf
new file mode 100644
index 0000000..8bb879e
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum/quantum.conf
@@ -0,0 +1,287 @@
1[DEFAULT]
2# Default log level is INFO
3# verbose and debug has the same result.
4# One of them will set DEBUG log level output
5# debug = False
6# verbose = False
7
8# Where to store Quantum state files. This directory must be writable by the
9# user executing the agent.
10# state_path = /var/lib/quantum
11
12# Where to store lock files
13lock_path = $state_path/lock
14
15# log_format = %(asctime)s %(levelname)8s [%(name)s] %(message)s
16# log_date_format = %Y-%m-%d %H:%M:%S
17
18# use_syslog -> syslog
19# log_file and log_dir -> log_dir/log_file
20# (not log_file) and log_dir -> log_dir/{binary_name}.log
21# use_stderr -> stderr
22# (not user_stderr) and (not log_file) -> stdout
23# publish_errors -> notification system
24
25# use_syslog = False
26# syslog_log_facility = LOG_USER
27
28# use_stderr = True
29# log_file =
30# log_dir =
31
32# publish_errors = False
33
34# Address to bind the API server
35bind_host = 0.0.0.0
36
37# Port the bind the API server to
38bind_port = 9696
39
40# Path to the extensions. Note that this can be a colon-separated list of
41# paths. For example:
42# api_extensions_path = extensions:/path/to/more/extensions:/even/more/extensions
43# The __path__ of quantum.extensions is appended to this, so if your
44# extensions are in there you don't need to specify them here
45# api_extensions_path =
46
47# Quantum plugin provider module
48core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
49
50# Advanced service modules
51# service_plugins =
52
53# Paste configuration file
54api_paste_config = api-paste.ini
55
56# The strategy to be used for auth.
57# Supported values are 'keystone'(default), 'noauth'.
58# auth_strategy = keystone
59
60# Base MAC address. The first 3 octets will remain unchanged. If the
61# 4h octet is not 00, it will also used. The others will be
62# randomly generated.
63# 3 octet
64# base_mac = fa:16:3e:00:00:00
65# 4 octet
66# base_mac = fa:16:3e:4f:00:00
67
68# Maximum amount of retries to generate a unique MAC address
69# mac_generation_retries = 16
70
71# DHCP Lease duration (in seconds)
72# dhcp_lease_duration = 120
73
74# Allow sending resource operation notification to DHCP agent
75# dhcp_agent_notification = True
76
77# Enable or disable bulk create/update/delete operations
78# allow_bulk = True
79# Enable or disable pagination
80# allow_pagination = False
81# Enable or disable sorting
82# allow_sorting = False
83# Enable or disable overlapping IPs for subnets
84# Attention: the following parameter MUST be set to False if Quantum is
85# being used in conjunction with nova security groups and/or metadata service.
86# allow_overlapping_ips = False
87# Ensure that configured gateway is on subnet
88# force_gateway_on_subnet = False
89
90
91# RPC configuration options. Defined in rpc __init__
92# The messaging module to use, defaults to kombu.
93# rpc_backend = quantum.openstack.common.rpc.impl_kombu
94# Size of RPC thread pool
95# rpc_thread_pool_size = 64,
96# Size of RPC connection pool
97# rpc_conn_pool_size = 30
98# Seconds to wait for a response from call or multicall
99# rpc_response_timeout = 60
100# Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.
101# rpc_cast_timeout = 30
102# Modules of exceptions that are permitted to be recreated
103# upon receiving exception data from an rpc call.
104# allowed_rpc_exception_modules = quantum.openstack.common.exception, nova.exception
105# AMQP exchange to connect to if using RabbitMQ or QPID
106control_exchange = quantum
107
108# If passed, use a fake RabbitMQ provider
109# fake_rabbit = False
110
111# Configuration options if sending notifications via kombu rpc (these are
112# the defaults)
113# SSL version to use (valid only if SSL enabled)
114# kombu_ssl_version =
115# SSL key file (valid only if SSL enabled)
116# kombu_ssl_keyfile =
117# SSL cert file (valid only if SSL enabled)
118# kombu_ssl_certfile =
119# SSL certification authority file (valid only if SSL enabled)'
120# kombu_ssl_ca_certs =
121# IP address of the RabbitMQ installation
122# rabbit_host = localhost
123# Password of the RabbitMQ server
124# rabbit_password = guest
125# Port where RabbitMQ server is running/listening
126# rabbit_port = 5672
127# RabbitMQ single or HA cluster (host:port pairs i.e: host1:5672, host2:5672)
128# rabbit_hosts is defaulted to '$rabbit_host:$rabbit_port'
129# rabbit_hosts = localhost:5672
130# User ID used for RabbitMQ connections
131# rabbit_userid = guest
132# Location of a virtual RabbitMQ installation.
133# rabbit_virtual_host = /
134# Maximum retries with trying to connect to RabbitMQ
135# (the default of 0 implies an infinite retry count)
136# rabbit_max_retries = 0
137# RabbitMQ connection retry interval
138# rabbit_retry_interval = 1
139# Use HA queues in RabbitMQ (x-ha-policy: all).You need to
140# wipe RabbitMQ database when changing this option. (boolean value)
141# rabbit_ha_queues = false
142
143# QPID
144rpc_backend=quantum.openstack.common.rpc.impl_qpid
145# Qpid broker hostname
146qpid_hostname = localhost
147# Qpid broker port
148qpid_port = 5672
149# Qpid single or HA cluster (host:port pairs i.e: host1:5672, host2:5672)
150# qpid_hosts is defaulted to '$qpid_hostname:$qpid_port'
151# qpid_hosts = localhost:5672
152# Username for qpid connection
153# qpid_username = ''
154# Password for qpid connection
155# qpid_password = ''
156# Space separated list of SASL mechanisms to use for auth
157# qpid_sasl_mechanisms = ''
158# Seconds between connection keepalive heartbeats
159# qpid_heartbeat = 60
160# Transport to use, either 'tcp' or 'ssl'
161# qpid_protocol = tcp
162# Disable Nagle algorithm
163# qpid_tcp_nodelay = True
164
165# ZMQ
166# rpc_backend=quantum.openstack.common.rpc.impl_zmq
167# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
168# The "host" option should point or resolve to this address.
169# rpc_zmq_bind_address = *
170
171# ============ Notification System Options =====================
172
173# Notifications can be sent when network/subnet/port are create, updated or deleted.
174# There are three methods of sending notifications: logging (via the
175# log_file directive), rpc (via a message queue) and
176# noop (no notifications sent, the default)
177
178# Notification_driver can be defined multiple times
179# Do nothing driver
180# notification_driver = quantum.openstack.common.notifier.no_op_notifier
181# Logging driver
182# notification_driver = quantum.openstack.common.notifier.log_notifier
183# RPC driver. DHCP agents needs it.
184notification_driver = quantum.openstack.common.notifier.rpc_notifier
185
186# default_notification_level is used to form actual topic name(s) or to set logging level
187default_notification_level = INFO
188
189# default_publisher_id is a part of the notification payload
190# host = myhost.com
191# default_publisher_id = $host
192
193# Defined in rpc_notifier, can be comma separated values.
194# The actual topic names will be %s.%(default_notification_level)s
195notification_topics = notifications
196
197# Default maximum number of items returned in a single response,
198# value == infinite and value < 0 means no max limit, and value must
199# greater than 0. If the number of items requested is greater than
200# pagination_max_limit, server will just return pagination_max_limit
201# of number of items.
202# pagination_max_limit = -1
203
204# Maximum number of DNS nameservers per subnet
205# max_dns_nameservers = 5
206
207# Maximum number of host routes per subnet
208# max_subnet_host_routes = 20
209
210# Maximum number of fixed ips per port
211# max_fixed_ips_per_port = 5
212
213# =========== items for agent management extension =============
214# Seconds to regard the agent as down.
215# agent_down_time = 5
216# =========== end of items for agent management extension =====
217
218# =========== items for agent scheduler extension =============
219# Driver to use for scheduling network to DHCP agent
220# network_scheduler_driver = quantum.scheduler.dhcp_agent_scheduler.ChanceScheduler
221# Driver to use for scheduling router to a default L3 agent
222# router_scheduler_driver = quantum.scheduler.l3_agent_scheduler.ChanceScheduler
223
224# Allow auto scheduling networks to DHCP agent. It will schedule non-hosted
225# networks to first DHCP agent which sends get_active_networks message to
226# quantum server
227# network_auto_schedule = True
228
229# Allow auto scheduling routers to L3 agent. It will schedule non-hosted
230# routers to first L3 agent which sends sync_routers message to quantum server
231# router_auto_schedule = True
232# =========== end of items for agent scheduler extension =====
233
234[QUOTAS]
235# resource name(s) that are supported in quota features
236# quota_items = network,subnet,port
237
238# default number of resource allowed per tenant, minus for unlimited
239# default_quota = -1
240
241# number of networks allowed per tenant, and minus means unlimited
242# quota_network = 10
243
244# number of subnets allowed per tenant, and minus means unlimited
245# quota_subnet = 10
246
247# number of ports allowed per tenant, and minus means unlimited
248# quota_port = 50
249
250# number of security groups allowed per tenant, and minus means unlimited
251# quota_security_group = 10
252
253# number of security group rules allowed per tenant, and minus means unlimited
254# quota_security_group_rule = 100
255
256# default driver to use for quota checks
257# quota_driver = quantum.quota.ConfDriver
258
259[DEFAULT_SERVICETYPE]
260# Description of the default service type (optional)
261# description = "default service type"
262# Enter a service definition line for each advanced service provided
263# by the default service type.
264# Each service definition should be in the following format:
265# <service>:<plugin>[:driver]
266
267[AGENT]
268# Use "sudo quantum-rootwrap /etc/quantum/rootwrap.conf" to use the real
269# root filter facility.
270# Change to "sudo" to skip the filtering and just run the comand directly
271# root_helper = sudo
272
273# =========== items for agent management extension =============
274# seconds between nodes reporting state to server, should be less than
275# agent_down_time
276# report_interval = 4
277
278# =========== end of items for agent management extension =====
279
280[keystone_authtoken]
281auth_host = 127.0.0.1
282auth_port = 35357
283auth_protocol = http
284admin_tenant_name = service
285admin_user = admin
286admin_password = password
287signing_dir = /var/lib/quantum/keystone-signing
diff --git a/meta-openstack/recipes-devtools/python/python-quantum_2013.1.bb b/meta-openstack/recipes-devtools/python/python-quantum_2013.1.bb
new file mode 100644
index 0000000..f17b01e
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-quantum_2013.1.bb
@@ -0,0 +1,159 @@
1DESCRIPTION = "Quantum (virtual network service)"
2HOMEPAGE = "https://launchpad.net/quantum"
3SECTION = "devel/python"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6
7PR = "r0"
8SRCNAME = "quantum"
9
10SRC_URI = "https://launchpad.net/${SRCNAME}/grizzly/${PV}/+download/${SRCNAME}-${PV}.tar.gz \
11 file://fix-amqlib-version.patch \
12 file://quantum.conf \
13 file://ovs_quantum_plugin.ini \
14 file://linuxbridge_conf.ini \
15 file://quantum-server.init \
16 file://quantum-agent.init \
17 "
18
19#SRC_URI[md5sum] = "06ba502f288e30519f2f13c7b189bfb8"
20#SRC_URI[sha256sum] = "1fa925e2d95b7c508ad826d3020d67e1f720efa53e5c41eaca790116f2a0f691"
21
22SRC_URI[md5sum] = "1ad2338b25cfde582de479678533113e"
23SRC_URI[sha256sum] = "edae19fe45849168bc9cace82b63a11a3b9d2292ba733d4c536657c1c722e61e"
24
25S = "${WORKDIR}/${SRCNAME}-${PV}"
26
27inherit setuptools update-rc.d
28
29do_install_append() {
30
31 QUANTUM_CONF_DIR=${D}${sysconfdir}/quantum
32
33 install -d ${QUANTUM_CONF_DIR}
34 install -d ${QUANTUM_CONF_DIR}/plugins/openvswitch
35 install -d ${QUANTUM_CONF_DIR}/plugins/linuxbridge
36
37 install -m 600 ${WORKDIR}/quantum.conf ${QUANTUM_CONF_DIR}/
38 install -m 600 ${WORKDIR}/ovs_quantum_plugin.ini ${QUANTUM_CONF_DIR}/plugins/openvswitch/
39 install -m 600 ${WORKDIR}/linuxbridge_conf.ini ${QUANTUM_CONF_DIR}/plugins/linuxbridge/
40 install -m 600 ${S}/etc/api-paste.ini ${QUANTUM_CONF_DIR}/
41 install -m 600 ${S}/etc/policy.json ${QUANTUM_CONF_DIR}/
42
43 PLUGIN=openvswitch
44
45 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
46 install -d ${D}${sysconfdir}/init.d
47 sed "s:@plugin@:/etc/quantum/plugins/$PLUGIN/ovs_quantum_plugin.ini:" \
48 < ${WORKDIR}/quantum-server.init >${WORKDIR}/quantum-server.init.sh
49 install -m 0755 ${WORKDIR}/quantum-server.init.sh ${D}${sysconfdir}/init.d/quantum-server
50 sed "s:@suffix@:$PLUGIN:" < ${WORKDIR}/quantum-agent.init >${WORKDIR}/quantum-$PLUGIN.init.sh
51 install -m 0755 ${WORKDIR}/quantum-$PLUGIN.init.sh ${D}${sysconfdir}/init.d/quantum-$PLUGIN-agent
52 fi
53}
54
55pkg_postinst_${SRCNAME} () {
56 if [ "x$D" != "x" ]; then
57 exit 1
58 fi
59
60 # quick fix
61 #exit 1
62 sudo -u postgres createdb quantum
63}
64
65PACKAGES += " \
66 ${SRCNAME} \
67 ${SRCNAME}-doc \
68 ${SRCNAME}-server \
69 ${SRCNAME}-plugin-openvswitch \
70 ${SRCNAME}-plugin-linuxbridge \
71 ${SRCNAME}-dhcp-agent \
72 ${SRCNAME}-l3-agent \
73 ${SRCNAME}-metadata-agent \
74 ${SRCNAME}-extra-agents \
75 "
76
77FILES_${PN} = "${libdir}/*"
78
79FILES_${SRCNAME} = " \
80 ${bindir}/quantum-db-manage \
81 ${bindir}/quantum-rootwrap \
82 ${bindir}/quantum-debug \
83 ${bindir}/quantum-netns-cleanup \
84 ${bindir}/quantum-ovs-cleanup \
85 ${sysconfdir}/${SRCNAME}/* "
86
87FILES_${SRCNAME}-server = "${bindir}/quantum-server \
88 ${sysconfdir}/init.d/quantum-server \
89 "
90
91FILES_${SRCNAME}-plugin-openvswitch = " \
92 ${bindir}/quantum-openvswitch-agent \
93 ${sysconfdir}/${SRCNAME}/plugins/openvswitch/ovs_quantum_plugin.ini \
94 ${sysconfdir}/init.d/quantum-openvswitch-agent \
95 "
96
97FILES_${SRCNAME}-plugin-linuxbridge = " \
98 ${bindir}/quantum-linuxbridge-agent \
99 ${sysconfdir}/${SRCNAME}/plugins/linuxbridge/linuxbridge_conf.ini \
100 ${sysconfdir}/init.d/quantum-linuxbridge-agent \
101 "
102
103FILES_${SRCNAME}-dhcp-agent = "${bindir}/quantum-dhcp-agent \
104 ${sysconfdir}/${SRCNAME}/dhcp_agent.ini \
105 ${sysconfdir}/init.d/dhcp_agent \
106 "
107
108FILES_${SRCNAME}-l3-agent = "${bindir}/quantum-l3-agent \
109 ${sysconfdir}/${SRCNAME}/l3_agent.ini \
110 ${sysconfdir}/init.d/l3_agent \
111 "
112
113FILES_${SRCNAME}-metadata-agent = "${bindir}/quantum-metadata-agent \
114 ${sysconfdir}/${SRCNAME}/metadata_agent.ini \
115 ${sysconfdir}/init.d/metadata_agent \
116 "
117
118FILES_${SRCNAME}-extra-agents = "${bindir}/*"
119
120FILES_${SRCNAME}-doc = "${datadir}/*"
121
122RDEPENDS_${PN} += "python-paste \
123 python-pastedeploy \
124 python-routes \
125 python-amqplib \
126 python-anyjson \
127 python-alembic \
128 python-eventlet \
129 python-greenlet \
130 python-httplib2 \
131 python-iso8601 \
132 python-kombu \
133 python-netaddr \
134 python-quantumclient \
135 python-sqlalchemy \
136 python-webob \
137 python-keystoneclient \
138 python-oslo.config \
139 python-pyudev \
140 python-novaclient \
141 python-mako \
142 python-markupsafe \
143 "
144
145RDEPENDS_${SRCNAME} = "${PN} \
146 postgresql postgresql-client python-psycopg2"
147
148RDEPENDS_${SRCNAME}-server = "${SRCNAME}"
149RDEPENDS_${SRCNAME}-plugin-openvswitch = "${SRCNAME} openvswitch-switch "
150RDEPENDS_${SRCNAME}-plugin-linuxbridge = "${SRCNAME} bridge-utils"
151RDEPENDS_${SRCNAME}-dhcp-agent = "${SRCNAME} dnsmasq"
152RDEPENDS_${SRCNAME}-l3-agent = "${SRCNAME} ${SRCNAME}-metadata-agent iputils"
153
154RRECOMMENDS_${SRCNAME}-server = "${SRCNAME}-plugin-openvswitch"
155
156INITSCRIPT_PACKAGES = "${SRCNAME}-server ${SRCNAME}-plugin-openvswitch ${SRCNAME}-plugin-linuxbridge"
157INITSCRIPT_NAME_${SRCNAME}-server = "quantum-server"
158INITSCRIPT_NAME_${SRCNAME}-plugin-openvswitch = "quantum-openvswitch-agent"
159INITSCRIPT_NAME_${SRCNAME}-plugin-linuxbridge = "quantum-linuxbridge-agent"