Here is the patch for nova.
I'll try to push this patch after Folson is opened.
diff --git a/nova/compute/utils.py b/nova/compute/utils.py
index 1e5eb8b..7916815 100644
--- a/nova/compute/utils.py
+++ b/nova/compute/utils.py
@@ -175,7 +175,8 @@ def legacy_network_info(network_model):
for ip in subnet['ips']],
should_create_bridge=should_create_bridge,
should_create_vlan=should_create_vlan,
- dhcp_server=dhcp_server)
+ dhcp_server=dhcp_server,
+ tenant_id=get_meta(network, 'tenant_id', ''))
if routes:
info_dict['routes'] = routes
diff --git a/nova/network/quantum/manager.py b/nova/network/quantum/manager.py
index ce169bb..6f54edd 100644
--- a/nova/network/quantum/manager.py
+++ b/nova/network/quantum/manager.py
@@ -465,11 +465,11 @@ class QuantumManager(manager.FloatingIP,
manager.FlatManager):
quantum_net_id, interface_id)
if not port: # No dhcp server has been started
- self.l3driver.initialize_gateway(network_ref)
LOG.debug("Intializing DHCP for network: %s" %
network_ref)
self.q_conn.create_and_attach_port(q_tenant_id,
quantum_net_id, interface_id)
+ self.l3driver.initialize_gateway(network_ref)
hosts = self.get_dhcp_hosts_text(context,
subnet['network_id'], project_id)
On Wed, Apr 04, 2012 at 06:37:42PM +0900, Isaku Yamahata wrote:
> This patch series implements an ryu application which support gre tunneling.
>
> The first part (1-6) is simpley trivial bug fix, refactoring.
> The second part (7-15) is for openflow parser/serializer imporvement.
> The thirt part (16-30) is preparation for gre tunneling
> the last port(31-32) is real implementation.
>
> For convenience I uploaded the sources at
>
> [email protected]:yamahata/ryu.git ryu-gre-tunnel-apr-04-2012
> [email protected]:yamahata/quantum.git ryu-gre-tunnel-apr-04-2012
> [email protected]:yamahata/nova.git ryu-gre-tunnel-apr-04-2012
>
> USAGE
> -----
> Basically GRE tunneling app can be used in same way to simple isolation.
>
> The compute/network node has single ip address.
> The difference is
> - nova
> - a small patch is necessary
> - nova.conf
> The options, libvirt_ovs_ryu_api_host and linuxnet_ovs_ryu_api, are
> deprecated. They are just ignored.
>
> - ryu.ini
> The new options are introduced to specify ip address for gre tunneling.
> "tunnel_ip" and "physical_interface".
> - tunnel_ip = ip address for GRE tunneling.
> - physical_interface = network physical interface.
> IP address is derived from this interface.
>
> One of them can be specified for IP address of the gre tunnel.
> If neither of them are specified, the host IP address is guessed in
> same way of nova.
>
> thanks
>
> Isaku Yamahata (32):
> app/simple_isolation: unbreak nx patch
> add missing super().__init__()
> app/wsapi/WSPathArbitraryString: wrong indent
> app/wsapi: make WSPathComponent inherit object
> app/wspath: URI parsers and related constants
> ryu/app/client: factor out rest client code
> ofproto/ofproto_v1_0: more constants for nx
> ofproto/ofproto_v1_0_parser: improve NXTRequest initializer
> ofproto/ofproto_v1_0_parser: serializer for nxt_flow_mod_table_id
> ofproto/ofproto_v1_0_parser: serializer for NXActionResbumit
> controller, ofproto_v1_0: avoid format for argument
> ofproto/ofproto_v1_0_parser: make FlowMod allow meaningful default
> parameter
> ofproto/ofproto_v1_0_parser: flowmod default parameter
> app: use symbol instead of 32678 for default priority
> controller/controller: make send_flow_mod() allow default value for
> priority
> lib/mac: improve helper functions
> ryu/exception: introduce more exception for later user
> app/rest_nw_id: add type for vport-gre and RESERVED_NETWORK_IDS
> dpset: add port{add, delete, modify} event for convenience and helper
> functions
> controller/network: factor out network.py and add event generator for
> gre tunnel and helper methods
> app/rest: add API to register/update mac address for a given port
> app/client: add mac support
> bin/ryu-client: support mac address tracking
> controller/tunnel: introduce new class that tracks infos related to
> tunneling
> ryu-manager: pass tunnels as kwargs to applications
> app/rest_tunnel: REST API for tunnel
> app/client: add helper function to ignore NOT_FOUND, 404
> app/client: add GRE tunnel client
> bin/ryu-client: support gre tunnel client
> bin/ryu-manager: add rest_tunnel to default applications
> app/gre_tunnel: implement GRETunnel app
> bin/ryu-manager: make GRETunnel default app, remove SimpleIsolation
>
> bin/ryu-client | 41 ++-
> bin/ryu-manager | 16 +-
> ryu/app/cbench.py | 4 +-
> ryu/app/client.py | 127 +++++-
> ryu/app/event_dumper.py | 1 +
> ryu/app/gre_tunnel.py | 847
> ++++++++++++++++++++++++++++++++++++
> ryu/app/rest.py | 126 +++++-
> ryu/app/rest_nw_id.py | 9 +-
> ryu/app/rest_tunnel.py | 230 ++++++++++
> ryu/app/simple_isolation.py | 14 +-
> ryu/app/simple_switch.py | 4 +-
> ryu/app/wsapi.py | 8 +-
> ryu/app/wspath.py | 95 ++++
> ryu/controller/controller.py | 16 +-
> ryu/controller/dispatcher.py | 2 +
> ryu/controller/dpset.py | 79 ++++-
> ryu/controller/mac_to_network.py | 1 +
> ryu/controller/mac_to_port.py | 1 +
> ryu/controller/network.py | 324 ++++++++++++---
> ryu/controller/tunnels.py | 196 +++++++++
> ryu/exception.py | 17 +
> ryu/lib/mac.py | 16 +-
> ryu/ofproto/ofproto_v1_0.py | 12 +
> ryu/ofproto/ofproto_v1_0_parser.py | 81 +++-
> 24 files changed, 2116 insertions(+), 151 deletions(-)
> create mode 100644 ryu/app/gre_tunnel.py
> create mode 100644 ryu/app/rest_tunnel.py
> create mode 100644 ryu/app/wspath.py
> create mode 100644 ryu/controller/tunnels.py
>
--
yamahata
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel