Skip to content

Commit

Permalink
Fixing up pylint
Browse files Browse the repository at this point in the history
  • Loading branch information
stenioaraujo committed Feb 21, 2018
1 parent d0196f3 commit dbea007
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 21 deletions.
4 changes: 3 additions & 1 deletion networking_oneview/ml2/drivers/oneview/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,9 @@ def _is_local_link_information_valid(port_id, local_link_information):
server_hardware_id = switch_info.get('server_hardware_id')

try:
strutils.bool_from_string(switch_info.get('bootable'))
strutils.bool_from_string(
subject=switch_info.get('bootable'),
strict=True)
except ValueError:
LOG.warning("'bootable' must be a boolean.")
return False
Expand Down
20 changes: 13 additions & 7 deletions networking_oneview/ml2/drivers/oneview/mech_oneview.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,19 @@ def __init__(self):
)

def initialize(self):
sync = synchronization.Synchronization(
self.oneview_client, self.neutron_oneview_client,
CONF.database.connection,
self.uplinkset_mappings, self.flat_net_mappings
)
sync.start()
LOG.info("OneView synchronization tool was initialized.")
if not CONF.DEFAULT.developer_mode:
sync = synchronization.Synchronization(
oneview_client=self.oneview_client,
neutron_oneview_client=self.neutron_oneview_client,
connection=CONF.database.connection,
flat_net_mappings=self.flat_net_mappings
)
sync.start()
LOG.debug("OneView synchronization tool was initialized.")
else:
LOG.warning(
"OneView synchronization tool will "
"not be initialized due developer_mode.")

@common.oneview_reauth
def bind_port(self, context):
Expand Down
3 changes: 1 addition & 2 deletions networking_oneview/ml2/drivers/oneview/synchronization.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,10 @@

class Synchronization(object):
def __init__(self, oneview_client, neutron_oneview_client, connection,
uplinkset_mappings, flat_net_mappings):
flat_net_mappings):
self.oneview_client = oneview_client
self.neutron_client = neutron_oneview_client
self.connection = connection
self.uplinkset_mappings = uplinkset_mappings
self.flat_net_mappings = flat_net_mappings

def start(self):
Expand Down
106 changes: 100 additions & 6 deletions networking_oneview/tests/unit/ml2/drivers/oneview/test_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@
# License for the specific language governing permissions and limitations
# under the License.

import copy
import mock

from neutron.tests.unit.plugins.ml2 import _test_mech_agent as base
from oslo_utils import importutils

from networking_oneview.conf import CONF
from networking_oneview.ml2.drivers.oneview import common
from networking_oneview.ml2.drivers.oneview import database_manager
from networking_oneview.ml2.drivers.oneview import exceptions
from networking_oneview.tests.unit.ml2.drivers.oneview\
import test_oneview_mech_driver
Expand Down Expand Up @@ -75,6 +77,96 @@ def test_get_oneview_client_insecure_false(self, mock_oneview_client):
self.assertRaises(
oneview_exceptions.HPOneViewException, common.get_oneview_client)

@mock.patch.object(common, 'OneViewClient', autospec=True)
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview(
self, mock_get_network, mock_oneview_client):
local_link_information = (
test_oneview_mech_driver.FAKE_PORT.get("binding:profile")
.get("local_link_information"))
self.assertTrue(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), test_oneview_mech_driver.FAKE_PORT,
local_link_information))

@mock.patch.object(common, "get_oneview_client")
def test_is_port_valid_to_reflect_on_oneview_not_baremetal(
self, mock_oneview_client):
port = copy.deepcopy(test_oneview_mech_driver.FAKE_PORT)
port["binding:vnic_type"] = "not_baremetal"
lli = port.get("binding:profile").get("local_link_information")
self.assertFalse(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), port, lli))

@mock.patch.object(common, "get_oneview_client")
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview_not_in_database(
self, mock_get_network, mock_oneview_client):
mock_get_network.return_value = None

local_link_information = (
test_oneview_mech_driver.FAKE_PORT.get("binding:profile")
.get("local_link_information"))
self.assertFalse(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), test_oneview_mech_driver.FAKE_PORT,
local_link_information))

@mock.patch.object(common, "get_oneview_client")
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview_no_lli(
self, mock_get_network, mock_oneview_client):
lli = []
self.assertFalse(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), test_oneview_mech_driver.FAKE_PORT, lli))

@mock.patch.object(common, "get_oneview_client")
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview_multiple_llis(
self, mock_get_network, mock_oneview_client):
lli = [{}, {}]
self.assertFalse(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), test_oneview_mech_driver.FAKE_PORT, lli))

@mock.patch.object(common, "get_oneview_client")
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview_lli_no_switch_info(
self, mock_get_network, mock_oneview_client):
port = copy.deepcopy(test_oneview_mech_driver.FAKE_PORT)
lli = port['binding:profile']['local_link_information']
del lli[0]['switch_info']

self.assertFalse(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), port, lli))

@mock.patch.object(common, 'OneViewClient', autospec=True)
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview_lli_invalid_bootable(
self, mock_get_network, mock_oneview_client):
port = copy.deepcopy(test_oneview_mech_driver.FAKE_PORT)
lli = port['binding:profile']['local_link_information']
lli[0]['switch_info']['bootable'] = "invalid"

self.assertFalse(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), port, lli))

@mock.patch.object(common, 'OneViewClient', autospec=True)
@mock.patch.object(database_manager, "get_neutron_oneview_network")
def test_is_port_valid_to_reflect_on_oneview_not_bootable(
self, mock_get_network, mock_oneview_client):
port = copy.deepcopy(test_oneview_mech_driver.FAKE_PORT)
lli = port['binding:profile']['local_link_information']
lli[0]['switch_info']['bootable'] = False

self.assertTrue(
common.is_port_valid_to_reflect_on_oneview(
mock.MagicMock(), port, lli))

@mock.patch.object(common, 'OneViewClient', autospec=True)
def test_get_oneview_client_insecure_cafile(self, mock_oneview_client):
self.conf.oneview.allow_insecure_connections = True
Expand Down Expand Up @@ -226,12 +318,14 @@ def test_check_unique_lig_per_provider_constraint_fails(

@mock.patch.object(common, "get_oneview_client")
def test_check_uplinkset_types_constraint(self, mock_oneview_client):
client = mock_oneview_client()
common.check_unique_lig_per_provider_constraint(
test_oneview_mech_driver.UPLINKSET_MAPPINGS)
client.logical_interconnect_groups.get.assert_called_with = (
'lig_123'
)
success = True
try:
common.check_unique_lig_per_provider_constraint(
test_oneview_mech_driver.UPLINKSET_MAPPINGS)
except Exception:
success = False

self.assertTrue(success)

@mock.patch.object(common, "get_oneview_client")
def test_check_uplinkset_types_constraint_fails(self, mock_oneview_client):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,12 @@ def setUp(self):
super(SynchronizationTestCase, self).setUp()
oneview_client = mock.MagicMock()
neutron_oneview_client = mock.MagicMock()
uplinkset_mappings = mech_test.UPLINKSET_MAPPINGS
flat_net_mappings = mech_test.FLAT_NET_MAPPINGS
self.sync = sync(oneview_client, neutron_oneview_client, mock.Mock(),
uplinkset_mappings, flat_net_mappings)
self.sync = sync(
oneview_client=oneview_client,
neutron_oneview_client=neutron_oneview_client,
connection=mock.Mock(),
flat_net_mappings=flat_net_mappings)

@mock.patch.object(loopingcall, 'FixedIntervalLoopingCall')
def test_start(self, mock_loop):
Expand Down
3 changes: 1 addition & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ deps = pylint
# C0103: Invalid (method, variable, constant) name
# E0401: Unable to import
# R0914: Too many local variables: need refactor
# R0913: Too many arguments: remove this in feature/5298
commands =
pylint -f parseable -d C0111,C0103,E0401,R0914,R0913 networking_oneview --ignore=tests,db
pylint -f parseable -d C0111,C0103,E0401,R0914 networking_oneview --ignore=tests,db

[testenv:venv]
commands = {posargs}
Expand Down

0 comments on commit dbea007

Please sign in to comment.