author | chaithan.prakash@oracle.com <chaithan.prakash@oracle.com> |
Tue, 12 Jul 2016 11:18:58 -0700 | |
changeset 6382 | ed601ca40b9c |
parent 6031 | 1aaf20a19738 |
child 6848 | 8e252a37ed0d |
permissions | -rw-r--r-- |
4049
150852e281c4
20816335 move the core OpenStack components to Python 2.7
Drew Fisher <drew.fisher@oracle.com>
parents:
3998
diff
changeset
|
1 |
#!/usr/bin/python2.7 |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
2 |
|
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
3 |
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
4 |
# |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
6 |
# not use this file except in compliance with the License. You may obtain |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
7 |
# a copy of the License at |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
8 |
# |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
10 |
# |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
13 |
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
14 |
# License for the specific language governing permissions and limitations |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
15 |
# under the License. |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
16 |
|
6031
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
17 |
import ConfigParser |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
18 |
import os |
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
19 |
import re |
5579
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
20 |
from subprocess import CalledProcessError, Popen, PIPE, check_call |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
21 |
import sys |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
22 |
|
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
23 |
import netaddr |
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
24 |
from openstack_common import is_ml2_plugin, kill_contract |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
25 |
import smf_include |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
26 |
|
5579
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
27 |
from neutron.agent.solaris import packetfilter |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
28 |
from neutron_vpnaas.services.vpn.device_drivers.solaris_ipsec import \ |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
29 |
get_vpn_interfaces |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
30 |
from neutron_vpnaas.services.vpn.device_drivers.solaris_ipsec import \ |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
31 |
shutdown_vpn |
1792
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
32 |
|
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
33 |
|
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
34 |
def set_hostmodel(value): |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
35 |
cmd = ["/usr/sbin/ipadm", "show-prop", "-p", "hostmodel", |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
36 |
"-co", "current", "ipv4"] |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
37 |
p = Popen(cmd, stdout=PIPE, stderr=PIPE) |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
38 |
output, error = p.communicate() |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
39 |
if p.returncode != 0: |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
40 |
print "failed to retrieve hostmodel ipadm property" |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
41 |
return False |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
42 |
if output.strip() == value: |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
43 |
return True |
5579
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
44 |
cmd = ["/usr/bin/pfexec", "/usr/sbin/ipadm", "set-prop", "-t", "-p", |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
45 |
"hostmodel=%s" % value, "ipv4"] |
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
46 |
p = Popen(cmd, stdout=PIPE, stderr=PIPE) |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
47 |
output, error = p.communicate() |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
48 |
if p.returncode != 0: |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
49 |
print "failed to set ipadm hostmodel property to %s" % value |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
50 |
return False |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
51 |
return True |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
52 |
|
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
53 |
|
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
54 |
def cleanup_l3_agent_datalinks(): |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
55 |
cmd = ["/usr/sbin/dladm", "show-link", "-p", "-o", "link"] |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
56 |
p = Popen(cmd, stdout=PIPE, stderr=PIPE) |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
57 |
output, error = p.communicate() |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
58 |
if p.returncode != 0: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
59 |
print "failed to retrieve datalink names" |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
60 |
return smf_include.SMF_EXIT_ERR_FATAL |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
61 |
|
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
62 |
dlnames = output.splitlines() |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
63 |
# L3 agent datalinks are always 15 characters in length. They start |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
64 |
# with either 'l3i' or 'l3e', end with '_0', and in between they are |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
65 |
# hexadecimal digits. |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
66 |
prog = re.compile('l3[ie][0-9A-Fa-f\_]{10}_0') |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
67 |
retcode = smf_include.SMF_EXIT_OK |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
68 |
is_ml2 = is_ml2_plugin() |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
69 |
for dlname in dlnames: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
70 |
if prog.search(dlname) is None: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
71 |
continue |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
72 |
try: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
73 |
# first remove the IP |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
74 |
check_call(["/usr/bin/pfexec", "/usr/sbin/ipadm", "delete-ip", |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
75 |
dlname]) |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
76 |
except: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
77 |
# It is possible that the IP was already deleted but not the |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
78 |
# datalink. So we continue and try and delete the datalink. |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
79 |
pass |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
80 |
try: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
81 |
# next remove the VNIC |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
82 |
check_call(["/usr/bin/pfexec", "/usr/sbin/dladm", "delete-vnic", |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
83 |
dlname]) |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
84 |
# remove the OVS Port |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
85 |
if is_ml2: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
86 |
ovs_bridge = get_ovs_bridge(dlname) |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
87 |
if ovs_bridge: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
88 |
check_call(["/usr/bin/pfexec", "/usr/sbin/ovs-vsctl", "--", |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
89 |
"--if-exists", "del-port", ovs_bridge, dlname]) |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
90 |
except CalledProcessError as err: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
91 |
print "failed to remove datalink '%s' used by L3 agent: %s" % \ |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
92 |
(dlname, err) |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
93 |
retcode = smf_include.SMF_EXIT_ERR_FATAL |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
94 |
return retcode |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
95 |
|
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
96 |
|
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
97 |
def start(): |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
98 |
# verify paths are valid |
6031
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
99 |
for f in sys.argv[2:6]: |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
100 |
if not os.path.exists(f) or not os.access(f, os.R_OK): |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
101 |
print '%s does not exist or is not readable' % f |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
102 |
return smf_include.SMF_EXIT_ERR_CONFIG |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
103 |
|
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
104 |
# We need to remove VNICs associated with L3 agent if any were left over. |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
105 |
# Before that, we need to first remove the PF rules added under |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
106 |
# _auto/neutron:l3:agent anchor and then remove the IP interfaces on which |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
107 |
# the rules were applied. |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
108 |
pf = packetfilter.PacketFilter('_auto/neutron:l3:agent') |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
109 |
pf.remove_anchor_recursively() |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
110 |
ret_code = cleanup_l3_agent_datalinks() |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
111 |
if ret_code != smf_include.SMF_EXIT_OK: |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
112 |
return ret_code |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
113 |
|
1792
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
114 |
# System-wide forwarding (either ipv4 or ipv6 or both) must be enabled |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
115 |
# before neutron-l3-agent can be started. |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
116 |
cmd = ["/usr/sbin/ipadm", "show-prop", "-c", "-p", "forwarding", |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
117 |
"-o", "current", "ipv4"] |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
118 |
p = Popen(cmd, stdout=PIPE, stderr=PIPE) |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
119 |
output, error = p.communicate() |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
120 |
if p.returncode != 0: |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
121 |
print "failed to determine if IPv4 forwarding is enabled or not" |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
122 |
return smf_include.SMF_EXIT_ERR_FATAL |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
123 |
v4fwding = "on" in output |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
124 |
|
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
125 |
cmd = ["/usr/sbin/ipadm", "show-prop", "-c", "-p", "forwarding", |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
126 |
"-o", "current", "ipv6"] |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
127 |
p = Popen(cmd, stdout=PIPE, stderr=PIPE) |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
128 |
output, error = p.communicate() |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
129 |
if p.returncode != 0: |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
130 |
print "failed to determine if IPv6 forwarding is enabled or not" |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
131 |
return smf_include.SMF_EXIT_ERR_FATAL |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
132 |
v6fwding = "on" in output |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
133 |
|
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
134 |
if not any((v4fwding, v6fwding)): |
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
135 |
print "System-wide IPv4 or IPv6 (or both) forwarding must be " \ |
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
136 |
"enabled before enabling neutron-l3-agent" |
1792
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
137 |
return smf_include.SMF_EXIT_ERR_CONFIG |
5cea652172c6
18416129 neutron-l3-agent should include dependency on ipfilter service
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1760
diff
changeset
|
138 |
|
5579
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
139 |
# remove any stale PF rules under _auto/neutron:l3:agent anchor |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
140 |
pf = packetfilter.PacketFilter('_auto/neutron:l3:agent') |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
141 |
pf.remove_anchor_recursively() |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
142 |
|
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
143 |
cmd = "/usr/bin/pfexec /usr/lib/neutron/neutron-l3-agent " \ |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
144 |
"--config-file %s --config-file %s --config-file %s" % \ |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
145 |
tuple(sys.argv[2:5]) |
6031
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
146 |
if is_ml2_plugin(): |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
147 |
cmd += " --config-file %s" % sys.argv[5] |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
148 |
|
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
149 |
# The VPNaaS shutdown should unplumb all IP tunnels it created. But |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
150 |
# be paranoid and check for lingering tunnels created by OpenStack |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
151 |
# that may have been left behind if the OpenStack device driver exits |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
152 |
# unexpectedly. OpenStack VPN configuration is created when the service |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
153 |
# starts. Errors will occur if old IP tunnels still exist. |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
154 |
|
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
155 |
vpn_ifs = get_vpn_interfaces() |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
156 |
if vpn_ifs: |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
157 |
print "Error: Found existing IP tunnel interface(s)." |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
158 |
print "Use ipadm(1M) and dladm(1M) to remove it/them." |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
159 |
print "Then use svcadm(1M) to clear the service." |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
160 |
print "Use the following commands to remove:" |
5630
dff517d5c829
22902853 Neutron/VPNaaS needs a workaround for 22902761
Mark Fenwick <Mark.Fenwick@Oracle.COM>
parents:
5579
diff
changeset
|
161 |
for ifn in vpn_ifs: |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
162 |
print "\t# ipadm delete-ip %s; dladm delete-iptun %s" % (ifn, ifn) |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
163 |
|
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
164 |
return smf_include.SMF_EXIT_ERR_CONFIG |
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
165 |
|
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
166 |
# set the hostmodel property if necessary |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
167 |
if not set_hostmodel("src-priority"): |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
168 |
return smf_include.SMF_EXIT_ERR_FATAL |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
169 |
|
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
170 |
return smf_include.smf_subprocess(cmd) |
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
171 |
|
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
172 |
|
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
173 |
def get_ovs_bridge(dlname): |
6031
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
174 |
# retrieve the right OVS bridge based on the interface name |
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
175 |
if dlname.startswith('l3i'): |
6031
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
176 |
config_file = '/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini' |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
177 |
section = "ovs" |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
178 |
option = "integration_bridge" |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
179 |
else: |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
180 |
config_file = '/etc/neutron/l3_agent.ini' |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
181 |
section = "DEFAULT" |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
182 |
option = "external_network_bridge" |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
183 |
parser = ConfigParser.ConfigParser() |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
184 |
parser.read(config_file) |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
185 |
try: |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
186 |
ovs_bridge = parser.get(section, option) |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
187 |
except ConfigParser.NoOptionError: |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
188 |
ovs_bridge = None |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
189 |
return ovs_bridge |
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
190 |
|
1aaf20a19738
PSARC/2016/251 OpenStack Neutron ML2 framework and OVS mechanism driver
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5630
diff
changeset
|
191 |
|
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
192 |
def stop(): |
5405
66fd59fecd68
PSARC 2015/535 OpenStack service updates for Kilo
Devjani Ray <devjani.ray@oracle.com>
parents:
4049
diff
changeset
|
193 |
shutdown_vpn() |
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
194 |
# Keep issuing SIGTERM until the contract is empty. This way we will catch |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
195 |
# any child processes missed because they were getting forked. |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
196 |
# 50 attempts will be made at intervals of 2 seconds. Typically, we |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
197 |
# will only need 0 or 1 additional attempt before the contract is empty but |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
198 |
# we chose to err on the side of caution. In the worst case, we will use |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
199 |
# 100 seconds in the below loop which will leave 500 seconds (timeout is |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
200 |
# 600s) for the other cleanup tasks, after which the service will be put to |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
201 |
# maintenance state if the contract was not killed successfully. |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
202 |
if not kill_contract(50, 2, sys.argv[2]): |
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
203 |
return smf_include.SMF_EXIT_ERR_FATAL |
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
204 |
|
5579
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
205 |
# We need to first remove the PF rules added under _auto/neutron:l3:agent |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
206 |
# anchor and then remove the IP interfaces on which the rules were applied. |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
207 |
pf = packetfilter.PacketFilter('_auto/neutron:l3:agent') |
48110757c6c6
PSARC/2016/116 OpenStack Neutron support for Packet Filter
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
5405
diff
changeset
|
208 |
pf.remove_anchor_recursively() |
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
209 |
|
2083
87196737f09f
19571319 datalink protection kicks in if L3 agent and DHCP agent are on the same m/c
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1977
diff
changeset
|
210 |
# remove VNICs associated with L3 agent |
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
211 |
ret_code = cleanup_l3_agent_datalinks() |
2083
87196737f09f
19571319 datalink protection kicks in if L3 agent and DHCP agent are on the same m/c
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents:
1977
diff
changeset
|
212 |
|
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
213 |
# finally reset the hostmodel property |
6382
ed601ca40b9c
23726258 SMF enable-disable with many nws puts neutron-dhcp-agent into maintenance
chaithan.prakash@oracle.com <chaithan.prakash@oracle.com>
parents:
6031
diff
changeset
|
214 |
if not set_hostmodel("weak") or ret_code != smf_include.SMF_EXIT_OK: |
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
2083
diff
changeset
|
215 |
return smf_include.SMF_EXIT_ERR_FATAL |
1944
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
216 |
return smf_include.SMF_EXIT_OK |
56ac2df1785b
PSARC/2014/207 OpenStack Glance Update to Havana
Drew Fisher <drew.fisher@oracle.com>
parents:
1792
diff
changeset
|
217 |
|
1760
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
218 |
if __name__ == "__main__": |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
219 |
os.putenv("LC_ALL", "C") |
353323c7bdc1
PSARC/2013/350 OpenStack for Solaris (Umbrella)
Drew Fisher <drew.fisher@oracle.com>
parents:
diff
changeset
|
220 |
smf_include.smf_main() |