The port is in most cases disabled, so to use it, we should first enable it, and it means that we should still rely on ovs-vsctl for that initial call. Closes-Bug: #1468259 Change-Id: I097b1c441df1f7f1785b8744f27809617bb21c14changes/13/194713/6
parent
6b9fd15072
commit
2e1b0ea403
@ -0,0 +1,29 @@
|
||||
# Copyright (c) 2015 Red Hat, Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
from neutron.agent.common import utils
|
||||
|
||||
|
||||
def _connection_to_manager_uri(conn_uri):
|
||||
proto, addr = conn_uri.split(':', 1)
|
||||
if ':' in addr:
|
||||
ip, port = addr.split(':', 1)
|
||||
return 'p%s:%s:%s' % (proto, port, ip)
|
||||
else:
|
||||
return 'p%s:%s' % (proto, addr)
|
||||
|
||||
|
||||
def enable_connection_uri(conn_uri):
|
||||
manager_uri = _connection_to_manager_uri(conn_uri)
|
||||
utils.execute(['ovs-vsctl', 'set-manager', manager_uri], run_as_root=True)
|
@ -0,0 +1,43 @@
|
||||
# Copyright 2015, Red Hat, Inc.
|
||||
#
|
||||
# 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 mock
|
||||
|
||||
from neutron.agent.ovsdb.native import helpers
|
||||
from neutron.tests import base
|
||||
|
||||
|
||||
CONNECTION_TO_MANAGER_URI_MAP = (
|
||||
('unix:/path/to/file', 'punix:/path/to/file'),
|
||||
('tcp:127.0.0.1:6640', 'ptcp:6640:127.0.0.1'),
|
||||
('ssl:192.168.1.1:8080', 'pssl:8080:192.168.1.1'))
|
||||
|
||||
|
||||
class TestOVSNativeHelpers(base.BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestOVSNativeHelpers, self).setUp()
|
||||
self.execute = mock.patch('neutron.agent.common.utils.execute').start()
|
||||
|
||||
def test__connection_to_manager_uri(self):
|
||||
for conn_uri, expected in CONNECTION_TO_MANAGER_URI_MAP:
|
||||
self.assertEqual(expected,
|
||||
helpers._connection_to_manager_uri(conn_uri))
|
||||
|
||||
def test_enable_connection_uri(self):
|
||||
for conn_uri, manager_uri in CONNECTION_TO_MANAGER_URI_MAP:
|
||||
helpers.enable_connection_uri(conn_uri)
|
||||
self.execute.assert_called_with(
|
||||
['ovs-vsctl', 'set-manager', manager_uri],
|
||||
run_as_root=True)
|
Loading…
Reference in new issue