<div dir="ltr"><div><div>Hello,<br><br></div>I'm installing grizzly on a four node configuration : one controller, one network node  and three hypervisor. I have already, by the past, installed folsom in this setup with sucess.<br>
<br></div><div>I'm actually using centos 6.4 with openstack rdo repo.I'd like to use quantum with openvswitch  in a GRE tunnel setup.<br><br></div><div>Any help will be greatly appreciate ;) Thank you in advance !<br>
</div><div><br></div><div>Well, my problem is when I try to add a router on the quantum l3 agent :<br>===============================================<br># quantum l3-agent-router-add 1e4208c5-3615-488b-bfa9-56fbb512d2f9 9fbb0569-7e7b-4b47-8096-4f5e2f981c3b<br>
</div><div><br>return : Agent 1e4208c5-3615-488b-bfa9-56fbb512d2f9 is not a L3 Agent or has been disabled<br>================================================<br><br></div><div>Well and i don't know where to search/fin the problem ... Some detail :<br>
================================================<br></div><div>On the network node i have created the differnt bridge : <br><pre style="text-align:left">ovs-vsctl add-br br-int
ovs-vsctl add-br br-ex
ovs-vsctl br-set-external-id br-ex bridge-id br-ex

ovs-vsctl add-port br-ex eth3</pre>================================================<br><br>quantum agent-list<br><br>+--------------------------------------+--------------------+------------+-------+----------------+<br>
| id                                   | agent_type         | host       | alive | admin_state_up |<br>+--------------------------------------+--------------------+------------+-------+----------------+<br>| 1e4208c5-3615-488b-bfa9-56fbb512d2f9 | L3 agent           | pvidgsi001 | :-)   | True           |<br>
| 2302bc0a-a242-4d9e-9826-b55ab9003338 | Open vSwitch agent | pvidgsh002 | :-)   | True           |<br>| 23de5207-1fd6-4d07-b9f9-1adbaa000cdf | Open vSwitch agent | pvidgsi001 | :-)   | True           |<br>| 519c56d6-1715-45af-b263-2fa03e7a74a9 | Open vSwitch agent | pvidgsh003 | :-)   | True           |<br>
| 98e4477a-2cae-4cf8-88b3-1bc46c150072 | Open vSwitch agent | pvidgsh004 | :-)   | True           |<br>+--------------------------------------+--------------------+------------+-------+----------------+<br></div><div><br>
================================================<br>quantum agent-show 1e4208c5-3615-488b-bfa9-56fbb512d2f9<br><br>+---------------------+-------------------------------------------------------------------------------+<br>
| Field               | Value                                                                         |<br>+---------------------+-------------------------------------------------------------------------------+<br>| admin_state_up      | True                                                                          |<br>
| agent_type          | L3 agent                                                                      |<br>| alive               | True                                                                          |<br>| binary              | quantum-l3-agent                                                              |<br>
| configurations      | {                                                                             |<br>|                     |      "router_id": "",                                                         |<br>
|                     |      "gateway_external_network_id": "",                                       |<br>|                     |      "handle_internal_only_routers": true,                                    |<br>
|                     |      "use_namespaces": false,                                                 |<br>|                     |      "routers": 0,                                                            |<br>
|                     |      "interfaces": 0,                                                         |<br>|                     |      "floating_ips": 0,                                                       |<br>
|                     |      "interface_driver": "quantum.agent.linux.interface.OVSInterfaceDriver",  |<br>|                     |      "ex_gw_ports": 0                                                         |<br>
|                     | }                                                                             |<br>| created_at          | 2013-05-15 13:30:30                                                           |<br>| description         |                                                                               |<br>
| heartbeat_timestamp | 2013-05-15 13:31:42                                                           |<br>| host                | pvidgsi001                                                                    |<br>| id                  | 1e4208c5-3615-488b-bfa9-56fbb512d2f9                                          |<br>
| started_at          | 2013-05-15 13:30:30                                                           |<br>| topic               | l3_agent                         <br></div><div>================================================<br>
</div><div><div><div><br>Only one suspect thing in the l3-agent log : <br>================================================<br></div><div>Command: ['ip', '-o', 'link', 'show', 'br-ex']<br>
Exit code: 0<br>Stdout: '30: br-ex: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN \\    link/ether 00:00:c9:e4:0c:b2 brd ff:ff:ff:ff:ff:ff\n'<br>Stderr: ''<br>================================================<br>
</div><div>But well I ve tested vswitch connectivity with internal iface ...<br></div><div><br>================================================<br>cat /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini<br><br>[DATABASE]<br>
sql_connection = mysql://<a href="http://quantum:quantum@192.168.11.101/ovs_quantum">quantum:quantum@192.168.11.101/ovs_quantum</a><br># sql_max_retries = 10<br>reconnect_interval = 2<br># sql_dbpool_enable = False<br># sql_min_pool_size = 1<br>
# sql_max_pool_size = 5<br># sql_idle_timeout = 3600<br><br>[OVS]<br>tenant_network_type = gre<br>enable_tunneling = True<br>tunnel_id_ranges = 11:55<br>integration_bridge = br-int<br>tunnel_bridge = br-tun<br>int_peer_patch_port = patch-tun<br>
tun_peer_patch_port = patch-int<br>local_ip = 192.168.40.2<br>root_helper = sudo /usr/bin/quantum-rootwrap /etc/quantum/rootwrap.conf<br><br><br>[AGENT]<br>polling_interval = 2<br><br>[SECURITYGROUP]<br>firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver<br>
================================================<br>cat /etc/quantum/quantum.conf <br><br>[DEFAULT]<br># Default log level is INFO<br># verbose and debug has the same result.<br># One of them will set DEBUG log level output<br>
#debug = True<br>debug = True<br>#verbose = True<br>verbose = True<br><br># Where to store Quantum state files.  This directory must be writable by the<br># user executing the agent.<br>state_path = /var/lib/quantum<br><br>
# Where to store lock files<br>lock_path = $state_path/lock<br><br># log_format = %(asctime)s %(levelname)8s [%(name)s] %(message)s<br># log_date_format = %Y-%m-%d %H:%M:%S<br><br># use_syslog                           -> syslog<br>
# log_file and log_dir                 -> log_dir/log_file<br># (not log_file) and log_dir           -> log_dir/{binary_name}.log<br># use_stderr                           -> stderr<br># (not user_stderr) and (not log_file) -> stdout<br>
# publish_errors                       -> notification system<br><br># use_syslog = False<br># syslog_log_facility = LOG_USER<br><br>#use_stderr = True<br>use_stderr = False<br>#use_syslog = False<br>#log_file = /var/log/quantum/quantum.log<br>
#log_dir = /var/log/quantum<br><br># publish_errors = False<br><br># Address to bind the API server<br>bind_host = 0.0.0.0 <br><br># Port the bind the API server to<br>bind_port = 9696<br><br># Path to the extensions.  Note that this can be a colon-separated list of<br>
# paths.  For example:<br># api_extensions_path = extensions:/path/to/more/extensions:/even/more/extensions<br># The __path__ of quantum.extensions is appended to this, so if your<br># extensions are in there you don't need to specify them here<br>
# api_extensions_path =<br><br># Quantum plugin provider module<br>core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2<br><br># Advanced service modules<br># service_plugins =<br>service_plugins =  quantum.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin<br>
<br><br># Paste configuration file<br>api_paste_config = api-paste.ini<br><br># The strategy to be used for auth.<br># Supported values are 'keystone'(default), 'noauth'.<br>#auth_strategy = noauth<br>#auth_strategy = keystone <br>
<br># Base MAC address. The first 3 octets will remain unchanged. If the<br># 4h octet is not 00, it will also used. The others will be<br># randomly generated.<br># 3 octet<br># base_mac = fa:16:3e:00:00:00<br># 4 octet<br>
# base_mac = fa:16:3e:4f:00:00<br><br># Maximum amount of retries to generate a unique MAC address<br># mac_generation_retries = 16<br><br># DHCP Lease duration (in seconds)<br># dhcp_lease_duration = 120<br><br># Allow sending resource operation notification to DHCP agent<br>
# dhcp_agent_notification = True<br><br># Enable or disable bulk create/update/delete operations<br># allow_bulk = True<br># Enable or disable pagination<br># allow_pagination = False<br># Enable or disable sorting<br># allow_sorting = False<br>
# Enable or disable overlapping IPs for subnets<br># Attention: the following parameter MUST be set to False if Quantum is<br># being used in conjunction with nova security groups and/or metadata service.<br># allow_overlapping_ips = False<br>
# Ensure that configured gateway is on subnet<br># force_gateway_on_subnet = False<br><br><br># RPC configuration options. Defined in rpc __init__<br># The messaging module to use, defaults to kombu.<br>rpc_backend = quantum.openstack.common.rpc.impl_kombu<br>
# Size of RPC thread pool<br># rpc_thread_pool_size = 64,<br># Size of RPC connection pool<br># rpc_conn_pool_size = 30<br># Seconds to wait for a response from call or multicall<br># rpc_response_timeout = 60<br># Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.<br>
# rpc_cast_timeout = 30<br># Modules of exceptions that are permitted to be recreated<br># upon receiving exception data from an rpc call.<br># allowed_rpc_exception_modules = quantum.openstack.common.exception, nova.exception<br>
# AMQP exchange to connect to if using RabbitMQ or QPID<br>control_exchange = quantum<br><br># If passed, use a fake RabbitMQ provider<br># fake_rabbit = False<br><br># Configuration options if sending notifications via kombu rpc (these are<br>
# the defaults)<br># SSL version to use (valid only if SSL enabled)<br># kombu_ssl_version =<br># SSL key file (valid only if SSL enabled)<br># kombu_ssl_keyfile =<br># SSL cert file (valid only if SSL enabled)<br># kombu_ssl_certfile =<br>
# SSL certification authority file (valid only if SSL enabled)'<br># kombu_ssl_ca_certs =<br># IP address of the RabbitMQ installation<br>rabbit_host = 192.168.11.101 <br># Password of the RabbitMQ server<br># rabbit_password = guest<br>
# Port where RabbitMQ server is running/listening<br># rabbit_port = 5672<br># User ID used for RabbitMQ connections<br># rabbit_userid = guest<br># Location of a virtual RabbitMQ installation.<br># rabbit_virtual_host = /<br>
# Maximum retries with trying to connect to RabbitMQ<br># (the default of 0 implies an infinite retry count)<br># rabbit_max_retries = 0<br># RabbitMQ connection retry interval<br># rabbit_retry_interval = 1<br><br># QPID<br>
# rpc_backend=quantum.openstack.common.rpc.impl_qpid<br># Qpid broker hostname<br># qpid_hostname = localhost<br># Qpid broker port<br># qpid_port = 5672<br># Username for qpid connection<br># qpid_username = ''<br>
# Password for qpid connection<br># qpid_password = ''<br># Space separated list of SASL mechanisms to use for auth<br># qpid_sasl_mechanisms = ''<br># Seconds between connection keepalive heartbeats<br># qpid_heartbeat = 60<br>
# Transport to use, either 'tcp' or 'ssl'<br># qpid_protocol = tcp<br># Disable Nagle algorithm<br># qpid_tcp_nodelay = True<br><br># ZMQ<br># rpc_backend=quantum.openstack.common.rpc.impl_zmq<br># ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.<br>
# The "host" option should point or resolve to this address.<br># rpc_zmq_bind_address = *<br><br># ============ Notification System Options =====================<br><br># Notifications can be sent when network/subnet/port are create, updated or deleted.<br>
# There are three methods of sending notifications: logging (via the<br># log_file directive), rpc (via a message queue) and<br># noop (no notifications sent, the default)<br><br># Notification_driver can be defined multiple times<br>
# Do nothing driver<br># notification_driver = quantum.openstack.common.notifier.no_op_notifier<br># Logging driver<br># notification_driver = quantum.openstack.common.notifier.log_notifier<br># RPC driver. DHCP agents needs it.<br>
notification_driver = quantum.openstack.common.notifier.rpc_notifier<br><br># default_notification_level is used to form actual topic name(s) or to set logging level<br>default_notification_level = INFO<br><br># default_publisher_id is a part of the notification payload<br>
# host = <a href="http://myhost.com">myhost.com</a><br># default_publisher_id = $host<br><br># Defined in rpc_notifier, can be comma separated values.<br># The actual topic names will be %s.%(default_notification_level)s<br>
notification_topics = notifications<br><br># Default maximum number of items returned in a single response,<br># value == infinite and value < 0 means no max limit, and value must<br># greater than 0. If the number of items requested is greater than<br>
# pagination_max_limit, server will just return pagination_max_limit<br># of number of items.<br># pagination_max_limit = -1<br><br># Maximum number of DNS nameservers per subnet<br># max_dns_nameservers = 5<br><br># Maximum number of host routes per subnet<br>
# max_subnet_host_routes = 20<br><br># Maximum number of fixed ips per port<br># max_fixed_ips_per_port = 5<br><br># =========== items for agent management extension =============<br># Seconds to regard the agent as down.<br>
# agent_down_time = 5<br># ===========  end of items for agent management extension =====<br><br># =========== items for agent scheduler extension =============<br># Driver to use for scheduling network to DHCP agent<br># network_scheduler_driver = quantum.scheduler.dhcp_agent_scheduler.ChanceScheduler<br>
# Driver to use for scheduling router to a default L3 agent<br># router_scheduler_driver = quantum.scheduler.l3_agent_scheduler.ChanceScheduler<br><br># Allow auto scheduling networks to DHCP agent. It will schedule non-hosted<br>
# networks to first DHCP agent which sends get_active_networks message to<br># quantum server<br># network_auto_schedule = True<br><br># Allow auto scheduling routers to L3 agent. It will schedule non-hosted<br># routers to first L3 agent which sends sync_routers message to quantum server<br>
# router_auto_schedule = True<br># ===========  end of items for agent scheduler extension =====<br><br>[QUOTAS]<br># resource name(s) that are supported in quota features<br>quota_items = network,subnet,port<br><br># default number of resource allowed per tenant, minus for unlimited<br>
default_quota = -1<br><br># number of networks allowed per tenant, and minus means unlimited<br>quota_network = 20<br><br># number of subnets allowed per tenant, and minus means unlimited<br>quota_subnet = 20<br><br># number of ports allowed per tenant, and minus means unlimited<br>
quota_port = 500<br><br># default driver to use for quota checks<br># quota_driver = quantum.quota.ConfDriver<br><br>[DEFAULT_SERVICETYPE]<br># Description of the default service type (optional)<br># description = "default service type"<br>
# Enter a service definition line for each advanced service provided<br># by the default service type.<br># Each service definition should be in the following format:<br># <service>:<plugin>[:driver]<br><br>[AGENT]<br>
# Use "sudo quantum-rootwrap /etc/quantum/rootwrap.conf" to use the real<br># root filter facility.<br># Change to "sudo" to skip the filtering and just run the comand directly<br># root_helper = sudo<br>
root_helper = sudo /usr/bin/quantum-rootwrap /etc/quantum/rootwrap.conf<br><br># =========== items for agent management extension =============<br># seconds between nodes reporting state to server, should be less than<br>
# agent_down_time<br># report_interval = 4<br><br># ===========  end of items for agent management extension =====<br><br>[keystone_authtoken]<br>auth_host = 192.168.11.101 <br>auth_port = 35357<br>auth_protocol = http<br>
admin_tenant_name = service<br>admin_user = quantum<br>admin_password = servicepass<br>#signing_dir = /var/lib/quantum/keystone-signing<br>signing_dir = /tmp/quantum/keystone-signing<br><br></div><div>Thank you in advance !<br>
</div><div>-- <br>--<br>Benoit<br>
</div></div></div></div>