1
# Copyright 2014 Red Hat, Inc.
3
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4
# not use this file except in compliance with the License. You may obtain
5
# a copy of the License at
7
# http://www.apache.org/licenses/LICENSE-2.0
9
# Unless required by applicable law or agreed to in writing, software
10
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
# License for the specific language governing permissions and limitations
16
from neutron.agent.l3 import agent
19
class TestL3NATAgent(agent.L3NATAgentWithStateReport):
20
NESTED_NAMESPACE_SEPARATOR = '@'
22
def __init__(self, host, conf=None):
23
super(TestL3NATAgent, self).__init__(host, conf)
24
self.event_observers.observers = set(
25
observer.__class__(self) for observer in
26
self.event_observers.observers)
28
def get_ns_name(self, router_id):
29
ns_name = super(TestL3NATAgent, self).get_ns_name(router_id)
30
return "%s%s%s" % (ns_name, self.NESTED_NAMESPACE_SEPARATOR, self.host)
32
def get_router_id(self, ns_name):
33
# 'ns_name' should be in the format of: 'qrouter-<id>@<host>'.
34
return super(TestL3NATAgent, self).get_router_id(
35
ns_name.split(self.NESTED_NAMESPACE_SEPARATOR)[0])