author | Laszlo Peter <laszlo.peter@oracle.com> |
Wed, 07 Sep 2016 14:48:41 -0700 | |
changeset 6848 | 8e252a37ed0d |
parent 6678 | 6e93d2f59ffb |
permissions | -rw-r--r-- |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
1 |
Changes to the Neutron L3 agent to port it to Solaris. These changes |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
2 |
will eventually be proposed upstream. |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
3 |
|
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
4 |
--- neutron-8.1.2/neutron/agent/l3/config.py 2016-06-09 18:45:29.000000000 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
5 |
+++ new/neutron/agent/l3/config.py 2016-08-01 16:27:05.166039913 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
6 |
@@ -46,7 +46,6 @@ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
7 |
help=_("Send this many gratuitous ARPs for HA setup, if " |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
8 |
"less than or equal to 0, the feature is disabled")), |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
9 |
cfg.StrOpt('router_id', default='', |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
10 |
- deprecated_for_removal=True, |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
11 |
help=_("If non-empty, the l3 agent can only configure a router " |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
12 |
"that has the matching router ID.")), |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
13 |
cfg.BoolOpt('handle_internal_only_routers', |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
14 |
--- neutron-8.1.2/neutron/agent/linux/daemon.py.~1~ 2016-06-09 18:45:29.000000000 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
15 |
+++ neutron-8.1.2/neutron/agent/linux/daemon.py 2016-07-04 16:19:23.339906615 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
16 |
@@ -18,6 +18,7 @@ import grp |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
17 |
import logging as std_logging |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
18 |
from logging import handlers |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
19 |
import os |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
20 |
+import platform |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
21 |
import pwd |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
22 |
import signal |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
23 |
import sys |
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
24 |
@@ -26,6 +27,7 @@ from oslo_log import log as logging |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
25 |
|
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
26 |
from neutron._i18n import _, _LE, _LI |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
27 |
from neutron.common import exceptions |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
28 |
+from neutron.agent.linux import utils |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
29 |
|
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
30 |
LOG = logging.getLogger(__name__) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
31 |
|
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
32 |
@@ -152,6 +154,15 @@ class Pidfile(object): |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
33 |
if not pid: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
34 |
return False |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
35 |
|
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
36 |
+ if platform.system() == "SunOS": |
6402
498ec92d1f73
23756654 Missing '-l' option when using pargs command in Neutron
Vardhnee Ramanujam Ravi <vardhnee.ramanujam.ravi@oracle.com>
parents:
6031
diff
changeset
|
37 |
+ cmd = ['/usr/bin/pargs', '-l', pid] |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
38 |
+ try: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
39 |
+ exec_out = utils.execute(cmd) |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
40 |
+ except RuntimeError: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
41 |
+ return False |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
42 |
+ return self.procname in exec_out and (not self.uuid or |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
43 |
+ self.uuid in exec_out) |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
44 |
+ |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
45 |
cmdline = '/proc/%s/cmdline' % pid |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
46 |
try: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
47 |
with open(cmdline, "r") as f: |
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
48 |
--- neutron-8.1.2/neutron/common/ipv6_utils.py.~1~ 2016-06-09 18:45:36.000000000 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
49 |
+++ neutron-8.1.2/neutron/common/ipv6_utils.py 2016-07-04 16:19:23.340616655 -0700 |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
50 |
@@ -17,6 +17,7 @@ |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
51 |
IPv6-related utilities and helper functions. |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
52 |
""" |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
53 |
import os |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
54 |
+import platform |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
55 |
|
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
56 |
import netaddr |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
57 |
from oslo_log import log |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
58 |
@@ -51,6 +52,11 @@ def get_ipv6_addr_by_EUI64(prefix, mac): |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
59 |
def is_enabled(): |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
60 |
global _IS_IPV6_ENABLED |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
61 |
|
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
62 |
+ if platform.system() == "SunOS": |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
63 |
+ if _IS_IPV6_ENABLED is None: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
64 |
+ _IS_IPV6_ENABLED = True |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
65 |
+ return _IS_IPV6_ENABLED |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
66 |
+ |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
67 |
if _IS_IPV6_ENABLED is None: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
68 |
disabled_ipv6_path = "/proc/sys/net/ipv6/conf/default/disable_ipv6" |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
3998
diff
changeset
|
69 |
if os.path.exists(disabled_ipv6_path): |
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
70 |
--- neutron-8.1.2/neutron/agent/l3/agent.py.~1~ 2016-08-30 13:29:12.113143750 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
71 |
+++ neutron-8.1.2/neutron/agent/l3/agent.py 2016-08-30 13:20:22.455764906 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
72 |
@@ -13,6 +13,9 @@ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
73 |
# under the License. |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
74 |
# |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
75 |
|
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
76 |
+import os |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
77 |
+import platform |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
78 |
+ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
79 |
import eventlet |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
80 |
import netaddr |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
81 |
from oslo_config import cfg |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
82 |
@@ -32,12 +35,18 @@ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
83 |
from neutron.agent.l3 import ha |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
84 |
from neutron.agent.l3 import ha_router |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
85 |
from neutron.agent.l3 import legacy_router |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
86 |
-from neutron.agent.l3 import namespace_manager |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
87 |
+if platform.system() == "SunOS": |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
88 |
+ from neutron.agent.solaris import namespace_manager |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
89 |
+else: |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
90 |
+ from neutron.agent.l3 import namespace_manager |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
91 |
from neutron.agent.l3 import namespaces |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
92 |
from neutron.agent.l3 import router_processing_queue as queue |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
93 |
from neutron.agent.linux import external_process |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
94 |
from neutron.agent.linux import ip_lib |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
95 |
-from neutron.agent.linux import pd |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
96 |
+if platform.system() == "SunOS": |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
97 |
+ from neutron.agent.solaris import pd |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
98 |
+else: |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
99 |
+ from neutron.agent.linux import pd |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
100 |
from neutron.agent.metadata import driver as metadata_driver |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
101 |
from neutron.agent import rpc as agent_rpc |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
102 |
from neutron.callbacks import events |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
103 |
@@ -268,6 +277,11 @@ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
104 |
"default value is 'br-ex' so it must be " |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
105 |
"explicitly set to a blank value.")) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
106 |
|
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
107 |
+ if not self.conf.router_id: |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
108 |
+ msg = _LE('Router id is required if not using namespaces.') |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
109 |
+ LOG.error(msg) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
110 |
+ raise SystemExit(1) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
111 |
+ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
112 |
if self.conf.ipv6_gateway: |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
113 |
# ipv6_gateway configured. Check for valid v6 link-local address. |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
114 |
try: |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
115 |
@@ -559,6 +573,12 @@ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
116 |
for i in range(0, len(router_ids), self.sync_routers_chunk_size): |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
117 |
routers = self.plugin_rpc.get_routers( |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
118 |
context, router_ids[i:i + self.sync_routers_chunk_size]) |
6678
6e93d2f59ffb
24478382 invalid router_id in l3_agent.ini is not caught
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6561
diff
changeset
|
119 |
+ if not routers: |
6e93d2f59ffb
24478382 invalid router_id in l3_agent.ini is not caught
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6561
diff
changeset
|
120 |
+ LOG.error(_LE('Server failed to return info for router ' |
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
121 |
+ 'with id %s. Make sure the correct router_id' |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
122 |
+ ' is specified in l3_agent.ini'), |
6678
6e93d2f59ffb
24478382 invalid router_id in l3_agent.ini is not caught
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6561
diff
changeset
|
123 |
+ self.conf.router_id) |
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
124 |
+ os._exit(1) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
125 |
LOG.debug('Processing :%r', routers) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
126 |
for r in routers: |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
127 |
curr_router_ids.add(r['id']) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
128 |
--- neutron-8.1.2/neutron/agent/l3_agent.py.~1~ 2016-06-09 18:45:29.000000000 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
129 |
+++ neutron-8.1.2/neutron/agent/l3_agent.py 2016-07-04 16:19:23.341146110 -0700 |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
130 |
@@ -14,6 +14,7 @@ |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
131 |
# License for the specific language governing permissions and limitations |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
132 |
# under the License. |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
133 |
|
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
134 |
+import platform |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
135 |
import sys |
6678
6e93d2f59ffb
24478382 invalid router_id in l3_agent.ini is not caught
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6561
diff
changeset
|
136 |
|
6848
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
137 |
from oslo_config import cfg |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
138 |
@@ -27,6 +28,7 @@ from neutron.agent.linux import interfac |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
139 |
from neutron.agent.linux import pd |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
140 |
from neutron.agent.linux import ra |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
141 |
from neutron.agent.metadata import config as metadata_config |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
142 |
+from neutron.agent.solaris import interface as solaris_interface |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
143 |
from neutron.common import config as common_config |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
144 |
from neutron.common import topics |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
145 |
from neutron import service as neutron_service |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
146 |
@@ -40,6 +42,7 @@ def register_opts(conf): |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
147 |
config.register_interface_driver_opts_helper(conf) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
148 |
config.register_agent_state_opts_helper(conf) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
149 |
conf.register_opts(interface.OPTS) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
150 |
+ conf.register_opts(solaris_interface.OPTS) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
151 |
conf.register_opts(external_process.OPTS) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
152 |
conf.register_opts(pd.OPTS) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
153 |
conf.register_opts(ra.OPTS) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
154 |
@@ -50,6 +53,8 @@ def main(manager='neutron.agent.l3.agent |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
155 |
register_opts(cfg.CONF) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
156 |
common_config.init(sys.argv[1:]) |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
157 |
config.setup_logging() |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
158 |
+ if platform.system() == "SunOS": |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
159 |
+ manager = 'neutron.agent.l3.solaris_agent.L3NATAgent' |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
160 |
server = neutron_service.Service.create( |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
161 |
binary='neutron-l3-agent', |
8e252a37ed0d
PSARC 2016/268 Neutron EVS Plugin EOF
Laszlo Peter <laszlo.peter@oracle.com>
parents:
6678
diff
changeset
|
162 |
topic=topics.L3_AGENT, |