[Openstack] Associating VM to a quantum network

Dan Wendlandt dan at nicira.com
Tue Jan 17 16:26:32 UTC 2012


On Tue, Jan 17, 2012 at 3:03 AM, Alisson Soares Limeira Pontes <
apontes at cpqd.com.br> 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 at 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 at nicira.com>
>
>> 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 at cpqd.com.br> 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 at nova-controller:~/quantum-2011.3# /var/lib/nova/bin/nova-manage
>>> network create --label=public --fixed_range_v4=192.168.1.144/28
>>>
>>> root at 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
>>> __________________________________________________________
>>> Network Technology Evolution Researcher
>>> CPqD - Center for Research and Development in Telecommunications
>>> Tel.: +55 19 3705-4996
>>> apontes at cpqd.com.br <aponte at cpqd.com.br>
>>> www.cpqd.com.br
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : openstack at lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Dan Wendlandt
>> Nicira Networks: www.nicira.com
>> twitter: danwendlandt
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>>
>
>
> --
> Alisson Pontes
> __________________________________________________________
> Network Technology Evolution Researcher
> CPqD - Center for Research and Development in Telecommunications
> Tel.: +55 19 3705-4996
> apontes at cpqd.com.br <aponte at cpqd.com.br>
> www.cpqd.com.br
>
>
>
>


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt
Nicira Networks: www.nicira.com
twitter: danwendlandt
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120117/f1690e43/attachment.html>


More information about the Openstack mailing list