Merge "Cleanup and enforce pep8 checks"
This commit is contained in:
commit
3c7afdc733
|
@ -64,7 +64,7 @@ class BridgeDriver(BaseBridgeDriver):
|
|||
class VIFOpenVSwitchDriver(BaseBridgeDriver):
|
||||
def connect(self, vif, ifname, netns):
|
||||
super(VIFOpenVSwitchDriver, self).connect(vif, ifname, netns)
|
||||
#FIXME(irenab) use pod_id (neutron port device_id)
|
||||
# FIXME(irenab) use pod_id (neutron port device_id)
|
||||
instance_id = 'kuryr'
|
||||
net_utils.create_ovs_vif_port(vif.bridge_name, vif.vif_name,
|
||||
vif.port_profile.interface_id,
|
||||
|
|
|
@ -69,9 +69,9 @@ class DriverBase(object):
|
|||
if not isinstance(driver, cls):
|
||||
raise TypeError(_("Invalid %(alias)r driver type: %(driver)s, "
|
||||
"must be a subclass of %(type)s") % {
|
||||
'alias': alias,
|
||||
'driver': driver.__class__.__name__,
|
||||
'type': cls})
|
||||
'alias': alias,
|
||||
'driver': driver.__class__.__name__,
|
||||
'type': cls})
|
||||
return driver
|
||||
|
||||
|
||||
|
|
|
@ -1,74 +1,74 @@
|
|||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import abc
|
||||
import six
|
||||
|
||||
from kuryr.lib._i18n import _
|
||||
from kuryr.lib import exceptions as kl_exc
|
||||
from neutronclient.common import exceptions as n_exc
|
||||
from oslo_config import cfg as oslo_cfg
|
||||
from oslo_log import log as logging
|
||||
|
||||
from kuryr_kubernetes.controller.drivers import neutron_vif
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
# Moved out from neutron_defaults group
|
||||
nested_vif_driver_opts = [
|
||||
oslo_cfg.StrOpt('worker_nodes_subnet',
|
||||
help=_("Neutron subnet ID for k8s worker node vms.")),
|
||||
]
|
||||
|
||||
oslo_cfg.CONF.register_opts(nested_vif_driver_opts, "pod_vif_nested")
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
class NestedPodVIFDriver(neutron_vif.NeutronPodVIFDriver):
|
||||
"""Skeletal handler driver for VIFs for Nested Pods."""
|
||||
|
||||
def _get_parent_port(self, neutron, pod):
|
||||
node_subnet_id = oslo_cfg.CONF.pod_vif_nested.worker_nodes_subnet
|
||||
if not node_subnet_id:
|
||||
raise oslo_cfg.RequiredOptError('worker_nodes_subnet',
|
||||
oslo_cfg.OptGroup('pod_vif_nested'))
|
||||
|
||||
try:
|
||||
# REVISIT(vikasc): Assumption is being made that hostIP is the IP
|
||||
# of trunk interface on the node(vm).
|
||||
node_fixed_ip = pod['status']['hostIP']
|
||||
except KeyError:
|
||||
if pod['status']['conditions'][0]['type'] != "Initialized":
|
||||
LOG.debug("Pod condition type is not 'Initialized'")
|
||||
|
||||
LOG.error("Failed to get parent vm port ip")
|
||||
raise
|
||||
|
||||
try:
|
||||
fixed_ips = ['subnet_id=%s' % str(node_subnet_id),
|
||||
'ip_address=%s' % str(node_fixed_ip)]
|
||||
ports = neutron.list_ports(fixed_ips=fixed_ips)
|
||||
except n_exc.NeutronClientException as ex:
|
||||
LOG.error("Parent vm port with fixed ips %s not found!",
|
||||
fixed_ips)
|
||||
raise ex
|
||||
|
||||
if ports['ports']:
|
||||
return ports['ports'][0]
|
||||
else:
|
||||
LOG.error("Neutron port for vm port with fixed ips %s"
|
||||
" not found!", fixed_ips)
|
||||
raise kl_exc.NoResourceException
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import abc
|
||||
import six
|
||||
|
||||
from kuryr.lib._i18n import _
|
||||
from kuryr.lib import exceptions as kl_exc
|
||||
from neutronclient.common import exceptions as n_exc
|
||||
from oslo_config import cfg as oslo_cfg
|
||||
from oslo_log import log as logging
|
||||
|
||||
from kuryr_kubernetes.controller.drivers import neutron_vif
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
# Moved out from neutron_defaults group
|
||||
nested_vif_driver_opts = [
|
||||
oslo_cfg.StrOpt('worker_nodes_subnet',
|
||||
help=_("Neutron subnet ID for k8s worker node vms.")),
|
||||
]
|
||||
|
||||
oslo_cfg.CONF.register_opts(nested_vif_driver_opts, "pod_vif_nested")
|
||||
|
||||
|
||||
@six.add_metaclass(abc.ABCMeta)
|
||||
class NestedPodVIFDriver(neutron_vif.NeutronPodVIFDriver):
|
||||
"""Skeletal handler driver for VIFs for Nested Pods."""
|
||||
|
||||
def _get_parent_port(self, neutron, pod):
|
||||
node_subnet_id = oslo_cfg.CONF.pod_vif_nested.worker_nodes_subnet
|
||||
if not node_subnet_id:
|
||||
raise oslo_cfg.RequiredOptError('worker_nodes_subnet',
|
||||
oslo_cfg.OptGroup('pod_vif_nested'))
|
||||
|
||||
try:
|
||||
# REVISIT(vikasc): Assumption is being made that hostIP is the IP
|
||||
# of trunk interface on the node(vm).
|
||||
node_fixed_ip = pod['status']['hostIP']
|
||||
except KeyError:
|
||||
if pod['status']['conditions'][0]['type'] != "Initialized":
|
||||
LOG.debug("Pod condition type is not 'Initialized'")
|
||||
|
||||
LOG.error("Failed to get parent vm port ip")
|
||||
raise
|
||||
|
||||
try:
|
||||
fixed_ips = ['subnet_id=%s' % str(node_subnet_id),
|
||||
'ip_address=%s' % str(node_fixed_ip)]
|
||||
ports = neutron.list_ports(fixed_ips=fixed_ips)
|
||||
except n_exc.NeutronClientException as ex:
|
||||
LOG.error("Parent vm port with fixed ips %s not found!",
|
||||
fixed_ips)
|
||||
raise ex
|
||||
|
||||
if ports['ports']:
|
||||
return ports['ports'][0]
|
||||
else:
|
||||
LOG.error("Neutron port for vm port with fixed ips %s"
|
||||
" not found!", fixed_ips)
|
||||
raise kl_exc.NoResourceException
|
||||
|
|
|
@ -36,15 +36,15 @@ class LinuxNetworkUtilsTestCase(test_base.TestCase):
|
|||
|
||||
def test_create_ovs_vif_port(self):
|
||||
calls = [
|
||||
mock.call('ovs-vsctl', '--', '--if-exists',
|
||||
'del-port', 'fake-dev', '--', 'add-port',
|
||||
'fake-bridge', 'fake-dev',
|
||||
'--', 'set', 'Interface', 'fake-dev',
|
||||
'external-ids:iface-id=fake-iface-id',
|
||||
'external-ids:iface-status=active',
|
||||
'external-ids:attached-mac=fake-mac',
|
||||
'external-ids:vm-uuid=fake-instance-uuid',
|
||||
run_as_root=True)]
|
||||
mock.call('ovs-vsctl', '--', '--if-exists',
|
||||
'del-port', 'fake-dev', '--', 'add-port',
|
||||
'fake-bridge', 'fake-dev',
|
||||
'--', 'set', 'Interface', 'fake-dev',
|
||||
'external-ids:iface-id=fake-iface-id',
|
||||
'external-ids:iface-status=active',
|
||||
'external-ids:attached-mac=fake-mac',
|
||||
'external-ids:vm-uuid=fake-instance-uuid',
|
||||
run_as_root=True)]
|
||||
with mock.patch.object(utils, 'execute', return_value=('', '')) as ex:
|
||||
linux_net.create_ovs_vif_port('fake-bridge', 'fake-dev',
|
||||
'fake-iface-id', 'fake-mac',
|
||||
|
@ -53,9 +53,9 @@ class LinuxNetworkUtilsTestCase(test_base.TestCase):
|
|||
|
||||
def test_delete_ovs_vif_port(self):
|
||||
calls = [
|
||||
mock.call('ovs-vsctl', '--', '--if-exists',
|
||||
'del-port', 'fake-bridge', 'fake-dev',
|
||||
run_as_root=True)]
|
||||
mock.call('ovs-vsctl', '--', '--if-exists',
|
||||
'del-port', 'fake-bridge', 'fake-dev',
|
||||
run_as_root=True)]
|
||||
with mock.patch.object(utils, 'execute', return_value=('', '')) as ex:
|
||||
linux_net.delete_ovs_vif_port('fake-bridge', 'fake-dev')
|
||||
ex.assert_has_calls(calls)
|
||||
|
|
|
@ -77,9 +77,9 @@ class TestNoOpPlugin(base.TestCase):
|
|||
expected = objects.host_info.HostPluginInfo(
|
||||
plugin_name='noop',
|
||||
vif_info=[
|
||||
objects.host_info.HostVIFInfo(
|
||||
vif_object_name=k_vif.VIFVlanNested.__name__,
|
||||
min_version="1.0",
|
||||
max_version="1.0"),
|
||||
objects.host_info.HostVIFInfo(
|
||||
vif_object_name=k_vif.VIFVlanNested.__name__,
|
||||
min_version="1.0",
|
||||
max_version="1.0"),
|
||||
])
|
||||
self.assertEqual(expected, result)
|
||||
|
|
9
tox.ini
9
tox.ini
|
@ -49,15 +49,8 @@ commands =
|
|||
commands = python setup.py build_sphinx
|
||||
|
||||
[flake8]
|
||||
# E125 continuation line does not distinguish itself from next logical line
|
||||
# E126 continuation line over-indented for hanging indent
|
||||
# E128 continuation line under-indented for visual indent
|
||||
# E129 visually indented line with same indent as next logical line
|
||||
# E265 block comment should start with '# '
|
||||
# TODO(dougwig) -- uncomment this to test for remaining linkages
|
||||
# N530 direct neutron imports not allowed
|
||||
# N531 log message does not translate
|
||||
ignore = E125,E126,E128,E129,E265,H301,N530,N531
|
||||
ignore = E128
|
||||
show-source = true
|
||||
|
||||
# TODO(dougw) neutron/tests/unit/vmware exclusion is a temporary services split hack
|
||||
|
|
Loading…
Reference in New Issue