<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi, guys,<br>
<br>
I'm working neutron network stuff in nova V3 API. We will only pass
port ids when create server, and<br>
Nova won't proxy any neutron call in the future. I plan to add new
v3 network extension, that only<br>
accept port ids as parameters. And it will pass those port ids in
the old request_networks parameters.<br>
(line 50 in
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a
href="https://review.openstack.org/#/c/36615/13/nova/api/openstack/compute/plugins/v3/networks.py">https://review.openstack.org/#/c/36615/13/nova/api/openstack/compute/plugins/v3/networks.py</a>)<br>
Then other code path is same with before. In next release or when we
remove nova-network, we<br>
can add neutron specific code path. But v2 and v3 api's behavior is
different. I need change something<br>
before adding new network api. I want to hear you guys' suggestion
first, ensure I'm working on the right<br>
way.<br>
<br>
<br>
1. Disable allocate ports automatically when create server without
any port in v3 api.<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
When user create server without any port, the new server shouldn't
be created with any ports in V3.<br>
But in v2, nova-compute will allocate port from existed networks. I
plan to pass parameter down to<br>
nova-compute, that told nova-compute don't allocate ports for new
server. And also keep old behavior<br>
for v2 api.<br>
<br>
2. Disable delete ports from neutron when remove server in v3 api.<br>
In v2 api, after remove server, the port that attached to that
server is removed by nova-compute.<br>
But in v3 api, we shoudn't proxy any neutron call. Because there are
some periodic tasks will delete<br>
servers, just pass a parameter down to nova-compute from api isn't
enough. So I plan to add a parameter in instance's<br>
metadata when create server. When remove server, it will check the
metadata first. If the server is marked as<br>
created by v3 api, nova-compute won't remove attached neutron ports.<br>
<br>
3. Enable pass port ids when multiple servers creation.<br>
Currently multiple_create didn't support pass port ids. And we won't
allocate ports automatically in v3 api.<br>
So my plan as below:<br>
<br>
When request with max_count=2 and ports=[{'id': 'port_id1'}, {'id':
'port_id2'}, {'id': 'port_id3'}, {'id': 'port_id4}]<br>
The first server create with ports 'port_id1' and 'port_id2', the
second server create with ports 'port_id3' and 'port_id4'<br>
<br>
When request with max_count=2 and ports = [{'id': 'port_id1'}]<br>
The request return fault.<br>
The request must be len(ports) % max_count == 0<br>
<br>
Thanks<br>
Alex<br>
</body>
</html>