← Back to team overview

openstack team mailing list archive

Fwd: Associating VM to a quantum network

 

I have os-create-server but nova-client management does not accept the "--nic"
option, as you said, Dan.

When I instantiate a vm, it is created but no IP is assigned to it, thus,
it does not change status to ACTIVE. Though I can't access the vm, I can
attach the vm vif to a network port (using bin/cli plug_iface).

Quantum should give an IP to the vm just while it is being created or IP
must be only assigned to the vif afterward? If afterwad, how to do this?

Best regards,

2012/1/17 Dan Wendlandt <dan@xxxxxxxxxx>

>
>
> On Tue, Jan 17, 2012 at 3:03 AM, Alisson Soares Limeira Pontes <
> apontes@xxxxxxxxxxx> wrote:
>
>> Yes Dan, you are right.
>> I am using the stackOps distro, and the network 1 was created before
>> quantum instalation, i don't know how neather why.
>
>
>> Now I have these two networks
>>
>> root@nova-controller:~/quantum-2011.3# nova-manage network list
>>
>> id       IPv4                  IPv6               start address
>> DNS1               DNS2               VlanID             project
>> uuid
>> 3        192.168.1.160/27      None               192.168.1.162
>> 8.8.4.4            None               None               None
>> 85b629fc-7fec-4fdd-b842-76a3711e83d9
>> 4        192.168.1.128/27      None               192.168.1.130
>> 8.8.4.4            None               None               None
>> a52b0d7b-791a-4e81-8772-8df04b9ccd70
>>
>> Anyone knows how can i instantiate a vm and associate it to one of these
>> networks?
>
>
> You can use the os-create-server extension to do this.  We recently added
> support for this extension to the nova client utility using the "--nic"
> option, though I believe it only went in during Essex-2, so I'm not sure if
> it would be in a distro like StackOps yet.  The following command would
> create a VM connected to quantum network
> 0c02f3d3-204a-4e37-b820-5d15e6d74a9f. :
>
> nova boot --flavor 1 --image 07f3c46c-5062-4837-b43d-ec1a93b894dc --nic
> net-id=0c02f3d3-204a-4e37-b820-5d15e6d74a9f test1
>
> Dan
>
>
>
>>
>>
>> 2012/1/12 Dan Wendlandt <dan@xxxxxxxxxx>
>>
>>> Hi Alisson,
>>>
>>>  I assume you are following the directions as described at:
>>> http://docs.openstack.org/incubation/openstack-network/admin/content/index.html?
>>>
>>>
>>> If so, then you have QuantumManager enabled in Nova and when you ran
>>> "nova-manage create network", this should have reached out to quantum to
>>> create a network, then stash that quantum network uuid in the nova db for
>>> future use.
>>>
>>> Can you try accessing quantum directly to see if that networks exist?
>>>  Since you did not specify a "--project" when creating the network with
>>> nova-manage, QuantumManager will create the network with a quantum
>>> tenant-id set to the --quantum_default_tenant_id flag (defaults to
>>> "default").
>>>
>>> So assuming the default, try running:
>>>
>>> bin/cli list_nets default
>>>
>>> What networks does this show?
>>>
>>> My best guess is that it will show only a single network:
>>> cbbbf92d-26d3-4a8d-8394-bb173fc35cbb, meaning one of your two nova
>>> networks show above was not created on Quantum.  Is it possible that you
>>> created that network before enabling QuantumManager using the
>>> --network_manager flag?  If so, you would need to delete that old network,
>>> and recreate it while Nova is using Quantum Manager.  If both were created
>>> with QuantumManager enabled, then it is possible one of them failed.  Can
>>> you find the network manager logs from the period when you ran the
>>> 'nova-manage create network' commands?
>>>
>>> Thanks,
>>>
>>> Dan
>>>
>>>
>>> On Thu, Jan 12, 2012 at 7:18 AM, Alisson Soares Limeira Pontes <
>>> apontes@xxxxxxxxxxx> wrote:
>>>
>>>> Hello everyone,
>>>>
>>>> I need some help to instantiate an image and associate it to a quantum
>>>> network.
>>>>
>>>> I installed a dual node OpenStack.diablo setup (controller and
>>>> compute), which worked fine for instantiate a vm.
>>>> Then, I installed OVS and Quantum. It seems that Quantum is working
>>>> because I can create a network and attach an interface to it using $ python
>>>> quantum/bin/cli:
>>>>
>>>> $ python bin/cli plug_iface $TENANT $NETWORK $PORT $VIF_UUID
>>>> Plugged interface "foo" to port:5a1e121b-ccc8-471d-9445-24f15f9f854c on
>>>> network:e754e7c0-a8eb-40e5-861a-b182d30c3441
>>>>
>>>> I also can create a network using nova-manage:
>>>>
>>>> root@nova-controller:~/quantum-2011.3# /var/lib/nova/bin/nova-manage
>>>> network create --label=public --fixed_range_v4=192.168.1.144/28
>>>>
>>>> root@nova-controller:~/quantum-2011.3# /var/lib/nova/bin/nova-manage
>>>> network list
>>>> id       IPv4                  IPv6               start address
>>>> DNS1               DNS2               VlanID         project
>>>> uuid
>>>> 1        192.168.1.128/28      None               192.168.1.130
>>>> 8.8.8.8            8.8.4.4            None           None
>>>> None
>>>> 3        192.168.1.144/28      None               192.168.1.146
>>>> 8.8.4.4            None               None           None
>>>> cbbbf92d-26d3-4a8d-8394-bb173fc35cbb
>>>>
>>>> But when I try to boot a vm it remains in build status forever.
>>>> The nova-network.log and nova-compute.log are below.
>>>> It seems that the image cannot run because I did not assign a network
>>>> to it, isn't it?
>>>> How can I do this, I looked at the Quantum API (PUT, GET, POST...) but
>>>> i can't use it, is it a user API or an API for communication between nova
>>>> and quantum? I also did not see how to associate a vm to a network using
>>>> nova-manage.
>>>>
>>>> NOVA-NETWORK.LOG
>>>> 2012-01-12 12:15:51,424 DEBUG nova.network.quantum.quantum_connection
>>>> [-] Quantum Client Reply (code = 420) :
>>>>  {"networkNotFound": {"message": "Unable to find a network with the
>>>> specified identifier.", "code": 420, "detail": "Network None could not be
>>>> found"}} from (pid=933) do_request
>>>> /var/lib/nova/nova/network/quantum/client.py:187
>>>> 2012-01-12 12:15:51,424 ERROR nova.rpc [-] Exception during message
>>>> handling
>>>> (nova.rpc): TRACE: Traceback (most recent call last):
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/rpc/impl_kombu.py", line
>>>> 620, in _process_data
>>>> (nova.rpc): TRACE:     rval = node_func(context=ctxt, **node_args)
>>>> (nova.rpc): TRACE:   File
>>>> "/var/lib/nova/nova/network/quantum/manager.py", line 175, in
>>>> allocate_for_instance
>>>> (nova.rpc): TRACE:     vif_rec['uuid'])
>>>> (nova.rpc): TRACE:   File
>>>> "/var/lib/nova/nova/network/quantum/quantum_connection.py", line 86, in
>>>> create_and_attach_port
>>>> (nova.rpc): TRACE:     resdict = self.client.create_port(net_id,
>>>> port_data, tenant=tenant_id)
>>>> (nova.rpc): TRACE:   File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 81, in with_params
>>>> (nova.rpc): TRACE:     ret = self.func(instance, *args)
>>>> (nova.rpc): TRACE:   File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 277, in create_port
>>>> (nova.rpc): TRACE:     return self.do_request("POST", self.ports_path %
>>>> (network), body=body)
>>>> (nova.rpc): TRACE:   File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 202, in do_request
>>>> (nova.rpc): TRACE:     % locals()))
>>>> (nova.rpc): TRACE: QuantumServerException: Server 420 error:
>>>> {"networkNotFound": {"message": "Unable to find a network with the
>>>> specified identifier.", "code": 420, "detail": "Network None could not be
>>>> found"}}
>>>> (nova.rpc): TRACE:
>>>> 2012-01-12 12:15:51,425 ERROR nova.rpc [-] Returning exception Server
>>>> 420 error: {"networkNotFound": {"message": "Unable to find a network with
>>>> the specified identifier.", "code": 420, "detail": "Network None could not
>>>> be found"}} to caller
>>>> 2012-01-12 12:15:51,425 ERROR nova.rpc [-] ['Traceback (most recent
>>>> call last):\n', '  File "/var/lib/nova/nova/rpc/impl_kombu.py", line 620,
>>>> in _process_data\n    rval = node_func(context=ctxt, **node_args)\n', '
>>>> File "/var/lib/nova/nova/network/quantum/manager.py", line 175, in
>>>> allocate_for_instance\n    vif_rec[\'uuid\'])\n', '  File
>>>> "/var/lib/nova/nova/network/quantum/quantum_connection.py", line 86, in
>>>> create_and_attach_port\n    resdict = self.client.create_port(net_id,
>>>> port_data, tenant=tenant_id)\n', '  File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 81, in
>>>> with_params\n    ret = self.func(instance, *args)\n', '  File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 277, in
>>>> create_port\n    return self.do_request("POST", self.ports_path %
>>>> (network), body=body)\n', '  File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 202, in
>>>> do_request\n    % locals()))\n', 'QuantumServerException: Server 420 error:
>>>> {"networkNotFound": {"message": "Unable to find a network with the
>>>> specified identifier.", "code": 420, "detail": "Network None could not be
>>>> found"}}\n']
>>>>
>>>>
>>>>
>>>> NOVA-COMPUTE.LOG
>>>> 2012-01-12 12:15:51,122 AUDIT nova.compute.manager
>>>> [962c3edc-00c4-4c6e-8ba6-bc4deb70e3f3 demo 2] instance 6: starting...
>>>> 2012-01-12 12:15:51,236 DEBUG nova.rpc [-] Making asynchronous call on
>>>> network ... from (pid=1125) multicall
>>>> /var/lib/nova/nova/rpc/impl_kombu.py:721
>>>> 2012-01-12 12:15:51,236 DEBUG nova.rpc [-] MSG_ID is
>>>> 9e30ba1a6d944a21a839e00dde9bc128 from (pid=1125) multicall
>>>> /var/lib/nova/nova/rpc/impl_kombu.py:724
>>>> 2012-01-12 12:15:51,508 ERROR nova.rpc [-] Exception during message
>>>> handling
>>>> (nova.rpc): TRACE: Traceback (most recent call last):
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/rpc/impl_kombu.py", line
>>>> 620, in _process_data
>>>> (nova.rpc): TRACE:     rval = node_func(context=ctxt, **node_args)
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/exception.py", line 98,
>>>> in wrapped
>>>> (nova.rpc): TRACE:     return f(*args, **kw)
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/compute/manager.py", line
>>>> 480, in run_instance
>>>> (nova.rpc): TRACE:     self._run_instance(context, instance_id,
>>>> **kwargs)
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/compute/manager.py", line
>>>> 421, in _run_instance
>>>> (nova.rpc): TRACE:     network_info = _make_network_info()
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/compute/manager.py", line
>>>> 377, in _make_network_info
>>>> (nova.rpc): TRACE:     requested_networks=requested_networks)
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/network/api.py", line
>>>> 162, in allocate_for_instance
>>>> (nova.rpc): TRACE:     'args': args})
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/rpc/__init__.py", line
>>>> 45, in call
>>>> (nova.rpc): TRACE:     return get_impl().call(context, topic, msg)
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/rpc/impl_kombu.py", line
>>>> 739, in call
>>>> (nova.rpc): TRACE:     rv = list(rv)
>>>> (nova.rpc): TRACE:   File "/var/lib/nova/nova/rpc/impl_kombu.py", line
>>>> 703, in __iter__
>>>> (nova.rpc): TRACE:     raise result
>>>> (nova.rpc): TRACE: RemoteError: QuantumServerException Server 420
>>>> error: {"networkNotFound": {"message": "Unable to find a network with the
>>>> specified identifier.", "code": 420, "detail": "Network None could not be
>>>> found"}}
>>>> (nova.rpc): TRACE: [u'Traceback (most recent call last):\n', u'  File
>>>> "/var/lib/nova/nova/rpc/impl_kombu.py", line 620, in _process_data\n
>>>> rval = node_func(context=ctxt, **node_args)\n', u'  File
>>>> "/var/lib/nova/nova/network/quantum/manager.py", line 175, in
>>>> allocate_for_instance\n    vif_rec[\'uuid\'])\n', u'  File
>>>> "/var/lib/nova/nova/network/quantum/quantum_connection.py", line 86, in
>>>> create_and_attach_port\n    resdict = self.client.create_port(net_id,
>>>> port_data, tenant=tenant_id)\n', u'  File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 81, in
>>>> with_params\n    ret = self.func(instance, *args)\n', u'  File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 277, in
>>>> create_port\n    return self.do_request("POST", self.ports_path %
>>>> (network), body=body)\n', u'  File
>>>> "/var/lib/nova/nova/network/quantum/client.py", line 202, in
>>>> do_request\n    % locals()))\n', u'QuantumServerException: Server 420
>>>> error: {"networkNotFound": {"message": "Unable to find a network with the
>>>> specified identifier.", "code": 420, "detail": "Network None could not be
>>>> found"}}\n']
>>>>
>>>>
>>>> Thanks in advance.
>>>>
>>>
>
-- 
Alisson Pontes

References