Refactor network info with nics format
Change-Id: I8db4ea95833c36546417e4021fc3cec0adcbf11e Depends-On: Ie38e50287a2a602e030d19c8b45196ed8337d677
This commit is contained in:
parent
eebca27f08
commit
0badcece6c
@ -284,11 +284,11 @@ class ListServer(command.Lister):
|
||||
return parser
|
||||
|
||||
@staticmethod
|
||||
def _networks_formatter(network_info):
|
||||
def _nics_formatter(nics):
|
||||
return_info = []
|
||||
for port_uuid in network_info:
|
||||
for nics in nics:
|
||||
port_ips = []
|
||||
for fixed_ip in network_info[port_uuid]['fixed_ips']:
|
||||
for fixed_ip in nics['fixed_ips']:
|
||||
port_ips.append(fixed_ip['ip_address'])
|
||||
return_info.append(', '.join(port_ips))
|
||||
return '; '.join(return_info)
|
||||
@ -314,7 +314,7 @@ class ListServer(command.Lister):
|
||||
"name",
|
||||
"status",
|
||||
"power_state",
|
||||
"network_info",
|
||||
"nics",
|
||||
"image_uuid",
|
||||
"flavor_uuid",
|
||||
"availability_zone",
|
||||
@ -332,13 +332,13 @@ class ListServer(command.Lister):
|
||||
"uuid",
|
||||
"name",
|
||||
"status",
|
||||
"network_info",
|
||||
"nics",
|
||||
"image_uuid",
|
||||
)
|
||||
|
||||
data = bc_client.server.list(detailed=True,
|
||||
all_projects=parsed_args.all_projects)
|
||||
formatters = {'network_info': self._networks_formatter,
|
||||
formatters = {'nics': self._nics_formatter,
|
||||
'extra': utils.format_dict}
|
||||
return (column_headers,
|
||||
(utils.get_item_properties(
|
||||
@ -530,16 +530,10 @@ class ShowServerNetworkInfo(command.Lister):
|
||||
bc_client.server,
|
||||
parsed_args.server,
|
||||
)
|
||||
data = bc_client.server.get_network_info(server.uuid)
|
||||
info = data._info
|
||||
nics = []
|
||||
for port_id in list(info):
|
||||
nic = {'port_id': port_id}
|
||||
nic.update(info[port_id])
|
||||
nics.append(nic)
|
||||
columns = ('network', 'port_id', 'mac_address', 'fixed_ips',
|
||||
data = bc_client.server.get_server_nics(server.uuid)
|
||||
columns = ('network_id', 'port_id', 'mac_address', 'fixed_ips',
|
||||
'floatingip', 'port_type')
|
||||
formatters = {'fixed_ips': lambda s: json.dumps(s, indent=4)}
|
||||
return (columns,
|
||||
(utils.get_dict_properties(
|
||||
s, columns, formatters=formatters) for s in nics))
|
||||
(utils.get_item_properties(
|
||||
nic, columns, formatters=formatters) for nic in data))
|
||||
|
@ -238,10 +238,11 @@ class FakeServer(object):
|
||||
attrs = attrs or {}
|
||||
attrs_data = copy.deepcopy(attrs)
|
||||
networks = attrs_data.pop('networks', [])
|
||||
network_info = {}
|
||||
nics = []
|
||||
for network in networks:
|
||||
network_info[network.get('uuid')] = {}
|
||||
attrs_data["network_info"] = network_info
|
||||
nics.append({'netowrk_id': network.get('uuid'),
|
||||
'port_id': uuidutils.generate_uuid()})
|
||||
attrs_data["nics"] = nics
|
||||
|
||||
# Set default attribute
|
||||
server_info = {
|
||||
@ -253,8 +254,20 @@ class FakeServer(object):
|
||||
"links": [],
|
||||
"name": "server-name-" + uuidutils.generate_uuid(
|
||||
dashed=False),
|
||||
"network_info": {"net-id-" + uuidutils.generate_uuid(
|
||||
dashed=False): {}},
|
||||
"nics": [{
|
||||
"network_id": uuidutils.generate_uuid(),
|
||||
"port_id": uuidutils.generate_uuid(),
|
||||
"floating_ip": '',
|
||||
"port_type": '',
|
||||
"mac_address": "52:54:00:cc:ed:87",
|
||||
"fixed_ips": [{
|
||||
"subnet_id": uuidutils.generate_uuid(),
|
||||
"ip_address": "11.0.0.6"
|
||||
}, {
|
||||
"subnet_id": uuidutils.generate_uuid(),
|
||||
"ip_address": "fdaa:67c7:e09e:0:5054:ff:fecc:ed87"
|
||||
}]
|
||||
}],
|
||||
"updated_at": None,
|
||||
"uuid": "server-id-" + uuidutils.generate_uuid(
|
||||
dashed=False),
|
||||
|
@ -40,7 +40,7 @@ class TestServer(test_base.TestBaremetalComputeV1):
|
||||
'max_count',
|
||||
'min_count',
|
||||
'name',
|
||||
'network_info',
|
||||
'nics',
|
||||
'updated_at',
|
||||
'uuid')
|
||||
|
||||
@ -54,7 +54,7 @@ class TestServer(test_base.TestBaremetalComputeV1):
|
||||
1,
|
||||
1,
|
||||
fake_server.name,
|
||||
fake_server.network_info,
|
||||
fake_server.nics,
|
||||
fake_server.updated_at,
|
||||
fake_server.uuid)
|
||||
|
||||
@ -143,7 +143,7 @@ class TestServerCreate(TestServer):
|
||||
1,
|
||||
1,
|
||||
fk_server.name,
|
||||
fk_server.network_info,
|
||||
fk_server.nics,
|
||||
fk_server.updated_at,
|
||||
fk_server.uuid)
|
||||
self.assertEqual(expected_data, data)
|
||||
@ -293,26 +293,24 @@ class TestServerList(test_base.TestBaremetalComputeV1):
|
||||
def setUp(self):
|
||||
super(TestServerList, self).setUp()
|
||||
self.cmd = server.ListServer(self.app, None)
|
||||
fake_return_net = {
|
||||
"12cffc4a-b845-409e-b589-7c84be4b10d9": {
|
||||
"fixed_ips": [
|
||||
{
|
||||
"ip_address": "172.24.4.4",
|
||||
"subnet_id": "a9d47430-f90b-4513-af5f-6315af54de7d"
|
||||
},
|
||||
{
|
||||
"ip_address": "2001:db8::a",
|
||||
"subnet_id": "5e7b3e2d-f36f-4e30-874c-16c2d126fe53"
|
||||
}
|
||||
],
|
||||
"mac_address": "52:54:00:6c:c4:17",
|
||||
"network": "ade2b658-929b-439f-9528-c47057960942"
|
||||
}
|
||||
}
|
||||
fake_return_net = [{
|
||||
"network_id": "f31af5a2-f14d-4007-b2e5-abeb82429b87",
|
||||
"port_id": "99845c22-6268-46c1-b068-1dbcb8adaf68",
|
||||
"floating_ip": '',
|
||||
"port_type": '',
|
||||
"mac_address": "52:54:00:cc:ed:87",
|
||||
"fixed_ips": [{
|
||||
"subnet_id": "5a324b29-9aca-43d8-a6c3-31986dda95b5",
|
||||
"ip_address": "172.24.4.4"
|
||||
}, {
|
||||
"subnet_id": "9baceab1-40ec-4c53-ad83-530a625bddb1",
|
||||
"ip_address": "2001:db8::a"
|
||||
}]
|
||||
}]
|
||||
self.fake_servers = fakes.FakeServer.create_servers(
|
||||
attrs={'status': 'active', 'power_state': 'power on'}, count=3)
|
||||
for s in self.fake_servers:
|
||||
setattr(s, 'network_info', fake_return_net)
|
||||
setattr(s, 'nics', fake_return_net)
|
||||
self.list_columns = (
|
||||
"UUID",
|
||||
"Name",
|
||||
@ -661,7 +659,7 @@ class TestServerUnLock(TestServerLockActionBase):
|
||||
mock_update_all, mock_find)
|
||||
|
||||
|
||||
@mock.patch.object(server_mgr.ServerManager, 'get_network_info')
|
||||
@mock.patch.object(server_mgr.ServerManager, 'get_server_nics')
|
||||
@mock.patch.object(server_mgr.ServerManager, 'get')
|
||||
class TestServerShowNetInfo(TestServer):
|
||||
def setUp(self):
|
||||
|
@ -123,6 +123,6 @@ class ServerManager(base.ManagerWithFind):
|
||||
url = '/servers/%s/states/lock' % base.getid(server_id)
|
||||
return self._update_all(url, data={'target': lock_state})
|
||||
|
||||
def get_network_info(self, server_id):
|
||||
def get_server_nics(self, server_id):
|
||||
url = '/servers/%s/networks' % base.getid(server_id)
|
||||
return self._get(url, response_key='ports')
|
||||
return self._list(url, response_key='nics')
|
||||
|
Loading…
x
Reference in New Issue
Block a user