No validation when multiple neutron networks exist - causes VMs to fail booting

Bug #1278850 reported by Joris Roovers
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Rally
Invalid
Medium
Piyush

Bug Description

When running a nova scenario against an Openstack cloud in which multiple neutron networks exists, VMs cannot be properly booted (they reach an ERROR state) as there is no single network to which can be defaulted.

To reproduce:
Use devstack with neutron installed, created 2 networks (neutron net-create test, neutron net-create test2) and run a simple rally task that uses a nova scenario.

Note that this issue is similar to the following bug in tempest/tripleo: https://bugs.launchpad.net/tempest/+bug/1250866

Example:

rally --verbose task start --deploy-id=10a534df-d825-4f70-840f-9f9cd47ce5d6 --task boot-and-delete.json

Output:

(.venv)cisco@devstack:~/rally-setup$ rally --verbose task start --deploy-id=10a534df-d825-4f70-840f-9f9cd47ce5d6 --task boot-and-delete.json
+--------------------------------------+----------------------------+--------+--------+
| uuid | created_at | status | failed |
+--------------------------------------+----------------------------+--------+--------+
| 7fafb5cb-1146-4e10-bb51-521d3dcbd98f | 2014-02-11 12:13:35.346600 | init | False |
+--------------------------------------+----------------------------+--------+--------+
2014-02-11 13:13:35.370 32593 INFO rally.benchmark.engine [-] Task 7fafb5cb-1146-4e10-bb51-521d3dcbd98f | Starting: Benchmark configs validation.
2014-02-11 13:13:35.382 32593 INFO rally.benchmark.engine [-] Task 7fafb5cb-1146-4e10-bb51-521d3dcbd98f | Completed: Benchmark configs validation.
2014-02-11 13:13:35.390 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:35.571 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:35.741 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:35.933 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:36.308 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:36.844 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:36.960 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:37.073 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:37.220 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:37.382 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:37.566 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:37.795 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:38.061 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:38.861 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:38.982 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:39.438 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:39.582 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:40.384 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:40.499 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:41.003 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:41.144 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:42.222 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:42.340 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:43.047 549 INFO rally.benchmark.runner [-] ITER: 0
Traceback (most recent call last):
  File "/home/cisco/rally/.venv/local/lib/python2.7/site-packages/rally/benchmark/scenarios/utils.py", line 139, in func_atomic_actions
    f = func(self, *args, **kwargs)
  File "/home/cisco/rally/.venv/local/lib/python2.7/site-packages/rally/benchmark/scenarios/nova/utils.py", line 91, in _boot_server
    flavor_id, **kwargs)
  File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 852, in create
    **boot_kwargs)
  File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 526, in _boot
    return_raw=return_raw, **kwargs)
  File "/opt/stack/python-novaclient/novaclient/base.py", line 152, in _create
    _resp, body = self.api.client.post(url, body=body)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 257, in post
    return self._cs_request(url, 'POST', **kwargs)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 231, in _cs_request
    **kwargs)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 213, in _time_request
    resp, body = self.request(url, method, **kwargs)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 207, in request
    raise exceptions.from_response(resp, body, url, method)
BadRequest: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-88c9f6b6-fea5-4ef9-9ff2-92cef300c0be)
Traceback (most recent call last):
  File "/home/cisco/rally/.venv/local/lib/python2.7/site-packages/rally/benchmark/runner.py", line 51, in _run_scenario_loop
    scenario_output = getattr(scenario, method_name)(**kwargs)
  File "/home/cisco/rally/.venv/local/lib/python2.7/site-packages/rally/benchmark/scenarios/nova/servers.py", line 45, in boot_and_delete_server
    server = self._boot_server(server_name, image_id, flavor_id, **kwargs)
  File "/home/cisco/rally/.venv/local/lib/python2.7/site-packages/rally/benchmark/scenarios/utils.py", line 139, in func_atomic_actions
    f = func(self, *args, **kwargs)
  File "/home/cisco/rally/.venv/local/lib/python2.7/site-packages/rally/benchmark/scenarios/nova/utils.py", line 91, in _boot_server
    flavor_id, **kwargs)
  File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 852, in create
    **boot_kwargs)
  File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 526, in _boot
    return_raw=return_raw, **kwargs)
  File "/opt/stack/python-novaclient/novaclient/base.py", line 152, in _create
    _resp, body = self.api.client.post(url, body=body)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 257, in post
    return self._cs_request(url, 'POST', **kwargs)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 231, in _cs_request
    **kwargs)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 213, in _time_request
    resp, body = self.request(url, method, **kwargs)
  File "/opt/stack/python-novaclient/novaclient/client.py", line 207, in request
    raise exceptions.from_response(resp, body, url, method)
BadRequest: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-88c9f6b6-fea5-4ef9-9ff2-92cef300c0be)
2014-02-11 13:13:43.748 32593 WARNING rally.benchmark.runner [-] Unable to fully cleanup the cloud:
409-{u'NeutronError': {u'message': u'Removing default security group not allowed.', u'type': u'SecurityGroupCannotRemoveDefault', u'detail': u''}}
2014-02-11 13:13:43.916 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.073 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.169 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.188 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.218 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.241 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.257 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.282 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.311 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.338 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.352 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.575 32593 WARNING rally.benchmark.runner [-] Unable to fully cleanup the cloud:
409-{u'NeutronError': {u'message': u'Removing default security group not allowed.', u'type': u'SecurityGroupCannotRemoveDefault', u'detail': u''}}
2014-02-11 13:13:44.794 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:44.943 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.007 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.027 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.049 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.068 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.090 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.123 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.155 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.187 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.217 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.505 32593 WARNING rally.benchmark.runner [-] Unable to fully cleanup the cloud:
409-{u'NeutronError': {u'message': u'Removing default security group not allowed.', u'type': u'SecurityGroupCannotRemoveDefault', u'detail': u''}}
2014-02-11 13:13:45.741 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:45.882 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.053 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.091 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.134 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.159 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.175 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.199 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.227 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.252 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.266 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.496 32593 WARNING rally.benchmark.runner [-] Unable to fully cleanup the cloud:
409-{u'NeutronError': {u'message': u'Removing default security group not allowed.', u'type': u'SecurityGroupCannotRemoveDefault', u'detail': u''}}
2014-02-11 13:13:46.733 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.851 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.892 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.911 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.934 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.959 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.973 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:46.986 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.006 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.026 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.039 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.290 32593 WARNING rally.benchmark.runner [-] Unable to fully cleanup the cloud:
409-{u'NeutronError': {u'message': u'Removing default security group not allowed.', u'type': u'SecurityGroupCannotRemoveDefault', u'detail': u''}}
2014-02-11 13:13:47.451 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.594 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.748 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.776 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.798 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.825 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.851 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.879 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.911 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.944 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:47.961 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.213 32593 WARNING rally.benchmark.runner [-] Unable to fully cleanup the cloud:
409-{u'NeutronError': {u'message': u'Removing default security group not allowed.', u'type': u'SecurityGroupCannotRemoveDefault', u'detail': u''}}
2014-02-11 13:13:48.430 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.540 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.575 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.600 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.619 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.638 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.652 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.667 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.685 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.704 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15
2014-02-11 13:13:48.716 32593 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 10.0.2.15

================================================================================
Task 7fafb5cb-1146-4e10-bb51-521d3dcbd98f is finished. Failed: False
--------------------------------------------------------------------------------

test scenario NovaServers.boot_and_delete_server
args position 0
args values:
{u'args': {u'flavor_id': 1,
           u'image_id': u'64153e42-ebb2-4ebf-ba01-4ddd3d26180e'},
 u'config': {u'active_users': 2,
             u'tenants': 3,
             u'times': 1,
             u'users_per_tenant': 2},
 u'execution': u'continuous'}
+-----------+-----------+-----------+---------------+-------------+
| max (sec) | avg (sec) | min (sec) | success/total | total times |
+-----------+-----------+-----------+---------------+-------------+
| n/a | n/a | n/a | 0 | 1 |
+-----------+-----------+-----------+---------------+-------------+

Revision history for this message
Hugh Saunders (hughsaunders) wrote :

Critical line is "BadRequest: Multiple possible networks found, use a Network ID to be more specific."

Changed in rally:
assignee: nobody → Joris Roovers (joris-roovers)
summary: - VMs fail to fully boot in nova scenario when multiple neutron networks
- exist
+ No validation when multiple neutron networks exist - causes VMs to fail
+ booting
Changed in rally:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
li,chen (chen-li) wrote :

@Joris Roovers

Have you fix this bug ???

Here is the strange thing I met:

When I directly run nova client command, I get:

nova boot --flavor 2 --image test_image test_instance

ERROR: Multiple possible networks found, use a Network ID to be more specific. (HTTP 400) (Request-ID: req-915a6a37-91d5-4e0a-90ce-80b60d001873)

But, when I directly run rally task, I get the task success :

rally task start boot-and-list.json
================================================================================
Task 2628d1dd-1236-4ac9-8ddc-e1a3ca0d887c is finished.
--------------------------------------------------------------------------------

test scenario NovaServers.boot_and_list_server
args position 0
args values:
{u'args': {u'detailed': False,
           u'flavor_id': 2,
           u'image_id': u'ccc8fe37-9289-437b-a88c-fc4678656c75'},
 u'context': {u'users': {u'concurrent': 1,
                         u'tenants': 3,
                         u'users_per_tenant': 2}},
 u'runner': {u'active_users': 2, u'times': 1, u'type': u'constant'}}
+-------------------+-------+-----------------+-----------------+-----------------+-----------------+--------------
---+
| action | count | max (sec) | avg (sec) | min (sec) | 90 percentile | 95 percentil
e |
+-------------------+-------+-----------------+-----------------+-----------------+-----------------+--------------
---+
| nova.list_servers | 1 | 0.0318238735199 | 0.0318238735199 | 0.0318238735199 | 0.0318238735199 | 0.03182387351
99 |
| nova.boot_server | 1 | 6.97565603256 | 6.97565603256 | 6.97565603256 | 6.97565603256 | 6.9756560325
6 |
+-------------------+-------+-----------------+-----------------+-----------------+-----------------+--------------
---+

+---------------+---------------+---------------+---------------+---------------+---------------+-------------+
| max (sec) | avg (sec) | min (sec) | 90 pecentile | 95 percentile | success/total | total times |
+---------------+---------------+---------------+---------------+---------------+---------------+-------------+
| 7.00759911537 | 7.00759911537 | 7.00759911537 | 7.00759911537 | 7.00759911537 | 1.0 | 1 |
+---------------+---------------+---------------+---------------+---------------+---------------+-------------+

HINTS:
* To plot HTML graphics with this data, run:
        rally task plot2html 2628d1dd-1236-4ac9-8ddc-e1a3ca0d887c --out output.html

* To get raw JSON output of task results, run:
        rally task results 2628d1dd-1236-4ac9-8ddc-e1a3ca0d887c

Using task: 2628d1dd-1236-4ac9-8ddc-e1a3ca0d887c

I add sleep code after
https://github.com/stackforge/rally/blob/master/rally/benchmark/scenarios/nova/utils.py#L97,
and directly enter into the instance to check its network.
Then I found there is no virtual network port exist at all.

And I get a warning in compute.log:

2014-04-17 16:34:37.265 15649 WARNING nova.network.neutronv2.api [-] [instance: d971e0af-9af1-4d8b-aa31-b4ebe81bee5f] No network configured!

Revision history for this message
Joris Roovers (joris-roovers) wrote :

@li

You can actually easily circumvent this issue by specifying a net-id of the network you want to use, as shown below.

This bug pertains to the fact that Rally does not detect this until actually running the tests.

{
"NovaServers.boot_and_delete_server": [
        {
            "args": {"flavor_id": "5c41c1c0-dee2-4fa9-89d2-211fb2536733",
                     "image_id": "9510747f-97cf-41df-a1c8-e3cdfe83be96",
      "nics":[{"net-id":"bb0a3e11-0f40-40d7-a82b-c21364aab2c2"}]
     },
            "execution": "continuous",
            "config": {"times": 1, "active_users": 1,"tenants": 1, "users_per_tenant": 10}
        }
]
}

Revision history for this message
Joe Talerico (jtaleric) wrote :

If you don't specify a network Rally should still pick one from the network available (if there are any) -- as Chen Li mentions - when running from Rally, it will choose one network that is available. However, running from the nova cli, if there are multiple networks and the user does not specify, nova will error out stating no networks were chosen.

tags: added: rally task validation
Revision history for this message
Kambiz Aghaiepour (kambiz-e) wrote :

with the current latest version of rally this still seems to be an issue. Creating multiple shared networks (owned by admin) for rally to use, seems insufficient to have the "fixed_network" in the "args" section (using "VMTasks.boot_runcommand_delete"). Adding the "nics" under "args" works around it.

Revision history for this message
Piyush (pirsriva) wrote :

There are 3 cases based on code-
1- If NICS is given in args then use it
2- If NICS not given in args and auto-assign-nic == True then refer to networks created in context and pick one randomly
3- If neither NIC is given nor auto-assign-nic is set to True

The 3rd case is NOT handled by Rally. I think we should be raising an exception (RallyException) in this case, instead of having rally run the scenario and throw errors during scenario run.
If this seems a good option, then let me know I will submit a patch for the same.

Piyush (pirsriva)
Changed in rally:
assignee: Joris Roovers (joris-roovers) → Piyush Raman Srivastava (pirsriva)
Revision history for this message
Alexander Maretskiy (maretskiy) wrote :

If there are more than one network is available, then you can use one of 2 ways to solve this:

We have dedicated argument "auto_assign_nic" for such cases, also concrete network id can be explicitly specified:

1) Using argument auto_assign_nic (cause random network choice for each server):

 {
    "NovaServers.boot_server": [
        {
            "args": {
                ...,
                "auto_assign_nic": true
            },
            ...
        }
    ]
 }

2) Specify explicit network for all servers:

 {
    "NovaServers.boot_server": [
        {
            "args": {
                ...,
                "nics": [{"net-id": "network-uuid-here"}]
            },
            ...
        }
    ]
 }

Changed in rally:
status: Confirmed → Invalid
Revision history for this message
chenhb (chen-haibing1) wrote :

In the first case, the argument "existing_network: {}" should be added into context.

 {
    "NovaServers.boot_server": [
        {
            "args": {
                ...,
                "auto_assign_nic": true
            },
            ...
            "context": {
                "existing_network": {}
             }
        }
    ]
 }

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to rally (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/320180

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.