Merge "metalsmith list handle missing port"
This commit is contained in:
commit
4f3b968844
|
@ -14,10 +14,15 @@
|
|||
# limitations under the License.
|
||||
|
||||
import enum
|
||||
import logging
|
||||
|
||||
from openstack import exceptions as os_exc
|
||||
|
||||
from metalsmith import _utils
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_PROGRESS_STATES = frozenset(['deploying', 'wait call-back',
|
||||
'deploy complete'])
|
||||
_ACTIVE_STATES = frozenset(['active'])
|
||||
|
@ -117,10 +122,13 @@ class Instance(object):
|
|||
result = []
|
||||
vifs = self._connection.baremetal.list_node_vifs(self.node)
|
||||
for vif in vifs:
|
||||
port = self._connection.network.get_port(vif)
|
||||
port.network = self._connection.network.get_network(
|
||||
port.network_id)
|
||||
result.append(port)
|
||||
try:
|
||||
port = self._connection.network.get_port(vif)
|
||||
port.network = self._connection.network.get_network(
|
||||
port.network_id)
|
||||
result.append(port)
|
||||
except os_exc.ResourceNotFound:
|
||||
LOG.warning('vif has missing port: %s', vif)
|
||||
return result
|
||||
|
||||
@property
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
|
||||
from unittest import mock
|
||||
|
||||
from openstack import exceptions as os_exc
|
||||
|
||||
from metalsmith import _instance
|
||||
from metalsmith.test import test_provisioner
|
||||
|
||||
|
@ -49,6 +51,17 @@ class TestInstanceIPAddresses(test_provisioner.Base):
|
|||
self.assertEqual({'name-0': [],
|
||||
'name-1': ['10.0.0.2']}, ips)
|
||||
|
||||
def test_missing_port(self):
|
||||
self.ports = [
|
||||
mock.Mock(spec=['network_id', 'fixed_ips', 'network'],
|
||||
network_id='0',
|
||||
fixed_ips=[{'ip_address': '192.168.0.1'}]),
|
||||
os_exc.ResourceNotFound(),
|
||||
]
|
||||
self.api.network.get_port.side_effect = self.ports
|
||||
ips = self.instance.ip_addresses()
|
||||
self.assertEqual({'name-0': ['192.168.0.1']}, ips)
|
||||
|
||||
|
||||
class TestInstanceStates(test_provisioner.Base):
|
||||
def setUp(self):
|
||||
|
|
Loading…
Reference in New Issue