← Back to team overview

openstack team mailing list archive

Re: Nova is considering Xen Domain-0 as instance

 

I really need some help in getting this to work. This seems pretty simple,
just tell nova-compute to ignore any instance named Domain-0 (actually it
could ignore any instance not named 'instance-XXXXXXXX'). As there is a
libvirt type to connect to xen, it is in openstack interest to fix this. As
I did make it work with a flawed old libvirt in Ubuntu 10.04, this seems
close to working.

Could anyone help me in this? I will be happy to test it. If I try to find
how to do it myself in my spare time it could take a lot more time than I
have in my hands for this. Even some kind of advice of where I could put
this ignore code would help and I could contribute with the project with
the resulting code.

Thanks.

Em 11 de janeiro de 2012 15:13, Rogério Vinhal Nunes
<rogervn@xxxxxxxxxxx>escreveu:

> I don't quite follow your question, nova-compute should run in the VM host
> (dom0), not in the guest VM (domU), right? Otherwise how could nova-compute
> have access to all dom0 privileges to start and manipulate vms?
>
> This is my nova.conf:
>
> --dhcpbridge_flagfile=/etc/nova/nova.conf
> --dhcpbridge=/usr/bin/nova-dhcpbridge
> --logdir=/var/log/nova
> --state_path=/var/lib/nova
> --lock_path=/var/lock/nova
> --verbose
> --s3_host=10.0.254.9
> --rabbit_host=10.0.254.9
> --cc_host=10.0.254.9
> --ec2_url=http://10.0.254.9:8773/services/Cloud
> --sql_connection=mysql://novadbadmin:root@10.0.254.9/nova
> --network_manager=nova.network.manager.FlatDHCPManager
> --network_host=10.0.254.9
> --flat_network_bridge=xenbr0
> --libvirt_type=xen
> --xenapi_remap_vbd_dev=true
> --glance_api_servers=10.0.254.9:9292
> --image_service=nova.image.glance.GlanceImageService
> --nouse_cow_images
>
> Em 11 de janeiro de 2012 12:06, jeffrey coho <jeffreycohobupt@xxxxxxxxx>escreveu:
>
> Hi,
>>    where did u install ur nova-compute? u should put it on a domU(PV
>> mode). what's more,
>> can u screenshot ur nova.conf here plz?
>>
>>
>> 2012/1/11 Rogério Vinhal Nunes <rogervn@xxxxxxxxxxx>
>>
>>> I've installed nova-compute along with xen and libvirt in a fresh Ubuntu
>>> 11.10 install. But I'm experiencing some problems to get it running.
>>>
>>> nova-compute service fails to start and nova-compute.log shows this
>>> error message:
>>>
>>> 2011-12-26 09:36:03,679 CRITICAL nova [-] [Errno 2] No such file or
>>> directory: '/var/lib/nova/instances/Domain-0/console.ring'
>>> (nova): TRACE: Traceback (most recent call last):
>>> (nova): TRACE: File "/usr/bin/nova-compute", line 49, in <module>
>>> (nova): TRACE: service.wait()
>>> (nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/service.py",
>>> line 357, in wait
>>> (nova): TRACE: _launcher.wait()
>>> (nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/service.py",
>>> line 107, in wait
>>> (nova): TRACE: service.wait()
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in
>>> wait
>>> (nova): TRACE: return self._exit_event.wait()
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
>>> (nova): TRACE: return hubs.get_hub().switch()
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
>>> (nova): TRACE: return self.greenlet.switch()
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in
>>> main
>>> (nova): TRACE: result = function(*args, **kwargs)
>>> (nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/service.py",
>>> line 77, in run_server
>>> (nova): TRACE: server.start()
>>> (nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/service.py",
>>> line 137, in start
>>> (nova): TRACE: self.manager.init_host()
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 157, in
>>> init_host
>>> (nova): TRACE: self.driver.init_host(host=self.host)
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line
>>> 253, in init_host
>>> (nova): TRACE: self._start_console_logger(name, fifo_path,
>>> ringbuffer_path)
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line
>>> 297, in _start_console_logger
>>> (nova): TRACE: self.console_loggers[name] = ConsoleLogger(fifo_path,
>>> ringbuffer_path)
>>> (nova): TRACE: File
>>> "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line
>>> 186, in __init__
>>> (nova): TRACE: FLAGS.libvirt_console_log_size)
>>> (nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/utils.py",
>>> line 932, in __init__
>>> (nova): TRACE: self.f = self._open(backing_file)
>>> (nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/utils.py",
>>> line 970, in _open
>>> (nova): TRACE: fd = os.open(filename, os.O_RDWR | os.O_CREAT, 0666)
>>> (nova): TRACE: OSError: [Errno 2] No such file or directory:
>>> '/var/lib/nova/instances/Domain-0/console.ring'
>>>
>>> Is there anything else I need to do to make Diablo work with Xen? It
>>> seems that openstack is considering Domain-0 an instance. I have a Ubuntu
>>> 10.04 configuration that works fine, I've found out that in this
>>> configuration "virsh list" doesn't show Domain-0, so that may be the
>>> problem. But for libvirt showing the Domain-0 vm seems like the correct
>>> behaviour, nova-compute is the one that should ignore it.
>>>
>>> I've filed a bug ( https://bugs.launchpad.net/bugs/912701 ) and also a
>>> question ( https://answers.launchpad.net/nova/+question/182917 ), but
>>> I've got no answer yet. This is pretty critical, is there something I can
>>> do to workaround it? I would want to avoid using xenapi directly.
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> Sincerely yours,
>> Jeff
>>
>>
>

Follow ups

References