diff options
| author | Mihai Prica <prica.mihai@gmail.com> | 2013-06-11 14:53:44 +0300 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-08-28 18:41:56 -0400 |
| commit | de39adcdbeaa8ed8376ca602bd7a2630de3a5ddf (patch) | |
| tree | 7b32823f85daa1f6d1c90027508266a1584bc868 /meta-openstack | |
| parent | 836997160799682eb16c4410952148b888cc8661 (diff) | |
| download | meta-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')
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 @@ | |||
| 1 | Index: 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.) | ||
| 29 | sql_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 | ||
| 35 | reconnect_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 | ||
| 59 | polling_interval = 2 | ||
| 60 | |||
| 61 | [SECURITYGROUP] | ||
| 62 | # Firewall driver for realizing quantum security group function | ||
| 63 | firewall_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.) | ||
| 7 | sql_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 | ||
| 13 | reconnect_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 | ||
| 35 | tenant_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 | ||
| 53 | enable_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 | ||
| 61 | tunnel_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 | ||
| 101 | polling_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 | |||
| 11 | SUFFIX=@suffix@ | ||
| 12 | DESC="quantum-$SUFFIX-agent" | ||
| 13 | DAEMON="/usr/bin/quantum-$SUFFIX-agent" | ||
| 14 | PIDFILE="/var/run/quantum-$SUFFIX-agent.pid" | ||
| 15 | |||
| 16 | start() | ||
| 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 | |||
| 41 | stop() | ||
| 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 | |||
| 53 | case "$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 | ;; | ||
| 68 | esac | ||
| 69 | |||
| 70 | exit 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 | |||
| 13 | DESC="quantum-server" | ||
| 14 | DAEMON="/usr/bin/quantum-server" | ||
| 15 | PIDFILE="/var/run/quantum-server.pid" | ||
| 16 | DAEMON_ARGS="--config-file=/etc/quantum/quantum.conf --config-file=@plugin@" | ||
| 17 | |||
| 18 | start() | ||
| 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 | |||
| 44 | stop() | ||
| 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 | |||
| 56 | case "$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 | ;; | ||
| 71 | esac | ||
| 72 | |||
| 73 | exit 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 | ||
| 13 | lock_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 | ||
| 35 | bind_host = 0.0.0.0 | ||
| 36 | |||
| 37 | # Port the bind the API server to | ||
| 38 | bind_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 | ||
| 48 | core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 | ||
| 49 | |||
| 50 | # Advanced service modules | ||
| 51 | # service_plugins = | ||
| 52 | |||
| 53 | # Paste configuration file | ||
| 54 | api_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 | ||
| 106 | control_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 | ||
| 144 | rpc_backend=quantum.openstack.common.rpc.impl_qpid | ||
| 145 | # Qpid broker hostname | ||
| 146 | qpid_hostname = localhost | ||
| 147 | # Qpid broker port | ||
| 148 | qpid_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. | ||
| 184 | notification_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 | ||
| 187 | default_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 | ||
| 195 | notification_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] | ||
| 281 | auth_host = 127.0.0.1 | ||
| 282 | auth_port = 35357 | ||
| 283 | auth_protocol = http | ||
| 284 | admin_tenant_name = service | ||
| 285 | admin_user = admin | ||
| 286 | admin_password = password | ||
| 287 | signing_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 @@ | |||
| 1 | DESCRIPTION = "Quantum (virtual network service)" | ||
| 2 | HOMEPAGE = "https://launchpad.net/quantum" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" | ||
| 6 | |||
| 7 | PR = "r0" | ||
| 8 | SRCNAME = "quantum" | ||
| 9 | |||
| 10 | SRC_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 | |||
| 22 | SRC_URI[md5sum] = "1ad2338b25cfde582de479678533113e" | ||
| 23 | SRC_URI[sha256sum] = "edae19fe45849168bc9cace82b63a11a3b9d2292ba733d4c536657c1c722e61e" | ||
| 24 | |||
| 25 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
| 26 | |||
| 27 | inherit setuptools update-rc.d | ||
| 28 | |||
| 29 | do_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 | |||
| 55 | pkg_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 | |||
| 65 | PACKAGES += " \ | ||
| 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 | |||
| 77 | FILES_${PN} = "${libdir}/*" | ||
| 78 | |||
| 79 | FILES_${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 | |||
| 87 | FILES_${SRCNAME}-server = "${bindir}/quantum-server \ | ||
| 88 | ${sysconfdir}/init.d/quantum-server \ | ||
| 89 | " | ||
| 90 | |||
| 91 | FILES_${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 | |||
| 97 | FILES_${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 | |||
| 103 | FILES_${SRCNAME}-dhcp-agent = "${bindir}/quantum-dhcp-agent \ | ||
| 104 | ${sysconfdir}/${SRCNAME}/dhcp_agent.ini \ | ||
| 105 | ${sysconfdir}/init.d/dhcp_agent \ | ||
| 106 | " | ||
| 107 | |||
| 108 | FILES_${SRCNAME}-l3-agent = "${bindir}/quantum-l3-agent \ | ||
| 109 | ${sysconfdir}/${SRCNAME}/l3_agent.ini \ | ||
| 110 | ${sysconfdir}/init.d/l3_agent \ | ||
| 111 | " | ||
| 112 | |||
| 113 | FILES_${SRCNAME}-metadata-agent = "${bindir}/quantum-metadata-agent \ | ||
| 114 | ${sysconfdir}/${SRCNAME}/metadata_agent.ini \ | ||
| 115 | ${sysconfdir}/init.d/metadata_agent \ | ||
| 116 | " | ||
| 117 | |||
| 118 | FILES_${SRCNAME}-extra-agents = "${bindir}/*" | ||
| 119 | |||
| 120 | FILES_${SRCNAME}-doc = "${datadir}/*" | ||
| 121 | |||
| 122 | RDEPENDS_${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 | |||
| 145 | RDEPENDS_${SRCNAME} = "${PN} \ | ||
| 146 | postgresql postgresql-client python-psycopg2" | ||
| 147 | |||
| 148 | RDEPENDS_${SRCNAME}-server = "${SRCNAME}" | ||
| 149 | RDEPENDS_${SRCNAME}-plugin-openvswitch = "${SRCNAME} openvswitch-switch " | ||
| 150 | RDEPENDS_${SRCNAME}-plugin-linuxbridge = "${SRCNAME} bridge-utils" | ||
| 151 | RDEPENDS_${SRCNAME}-dhcp-agent = "${SRCNAME} dnsmasq" | ||
| 152 | RDEPENDS_${SRCNAME}-l3-agent = "${SRCNAME} ${SRCNAME}-metadata-agent iputils" | ||
| 153 | |||
| 154 | RRECOMMENDS_${SRCNAME}-server = "${SRCNAME}-plugin-openvswitch" | ||
| 155 | |||
| 156 | INITSCRIPT_PACKAGES = "${SRCNAME}-server ${SRCNAME}-plugin-openvswitch ${SRCNAME}-plugin-linuxbridge" | ||
| 157 | INITSCRIPT_NAME_${SRCNAME}-server = "quantum-server" | ||
| 158 | INITSCRIPT_NAME_${SRCNAME}-plugin-openvswitch = "quantum-openvswitch-agent" | ||
| 159 | INITSCRIPT_NAME_${SRCNAME}-plugin-linuxbridge = "quantum-linuxbridge-agent" | ||
