Hi Martin Okay, some progress which is great!
But, to help you further, a few more details: 1. Which Linux OS are you using? 2. Is the LXD snap installed? - if so, which version is it? "lxc --version" will give the answer. 3. Have you configured a storage pool for LXD? (e.g. have you done "sudo lxd init" and created a default storage pool). What kind of storage pool is it? (e.g. dir, btrfs, zfs, etc.) 4. It looks like your using master version of nova-lxd (i.e. via devstack and the plugin)? I think it's also going to use ZFS? If so, there's a bug in nova-lxd (that I will fix in the not too distant future) where unless the ZFS pool is the same string as the LXD pool for it, then nova-lxd can't find the storage pool. So, if you run the following commands: lxc storage list zpool list That should show the current configuration. Hope that this helps. Cheers Alex. On Wed, Sep 19, 2018 at 2:48 PM, Martin Bobák <martin.bo...@savba.sk> wrote: > Hi Alex, > > first off, thank you for your kind reply. I followed your advices. > However, I still have a problem which looks like an incorrect setting up of > a storage pool for lxd. I configured the /etc/nova-compute.conf as you > suggested, but it didn't help. > > In my case those lines look like: > > [DEFAULT] > compute_driver = nova_lxd.nova.virt.lxd.LXDDriver > > [lxd] > allow_live_migration = True > pool = lxd > But the error is following (relevant parts from syslog --> it looks like > lxd variables from the /etc/nova-compute.conf aren't delivered to the > driver, or recognized by it, I tried to use different names for > compute_driver e.g. lxd.LXDDriver, nova-lxd.nova.virt.lxd.(driver).LXDDriver > -> however, it didn't help): > > Sep 19 09:15:08 localhost nova-conductor[1956]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-5cda2246-8087-4f49-b9b3-463d29fd7bf8 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=1956) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:08 localhost nova-consoleauth[1984]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-2a9399e1-996d-42f4-899b-62db8d8e5afd > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=1984) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:10 localhost nova-scheduler[2000]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-3d23848b-270b-4718-91dd-3b0417d27d21 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=2000) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:11 localhost devstack@placement-api.service[2030]: > #033[00;32mDEBUG nova.api.openstack.placement.wsgi > [#033[00;36m-#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=2294) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:12 localhost devstack@n-api.service[1999]: #033[00;32mDEBUG > nova.api.openstack.wsgi_app [#033[01;36mNone > req-1e20e359-2bcc-44e6-9c75-7422c5837c03 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=2181) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:14 localhost devstack@placement-api.service[2030]: > #033[00;32mDEBUG nova.api.openstack.placement.wsgi > [#033[00;36m-#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=2292) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:15 localhost devstack@n-api.service[1999]: #033[00;32mDEBUG > nova.api.openstack.wsgi_app [#033[01;36mNone > req-6d5745e7-3784-4b8e-8210-e7bf74fd9655 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = nova_lxd.nova.virt.lxd.LXDDriver#033[00m #033[00;33m{{(pid=2182) > log_opt_values /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py: > 2890}}#033[00m > Sep 19 09:15:20 localhost nova-compute[1968]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-1bc67100-ffbe-4d22-be1f-42133eb60611 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mcompute_driver > = lxd.LXDDriver#033[00m #033[00;33m{{(pid=1968) log_opt_values > /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py:2890}}#033[00m > ep 19 09:15:20 localhost nova-compute[1968]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-1bc67100-ffbe-4d22-be1f-42133eb60611 > #033[00;36mNone None#033[00;32m] > #033[01;35m#033[00;32mlxd.allow_live_migration > = False#033[00m #033[00;33m{{(pid=1968) log_opt_values > /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py:2898}}#033[00m > Sep 19 09:15:20 localhost nova-compute[1968]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-1bc67100-ffbe-4d22-be1f-42133eb60611 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mlxd.pool > = None#033[00m #033[00;33m{{(pid=1968) log_opt_values > /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py:2898}}#033[00m > Sep 19 09:15:20 localhost nova-compute[1968]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-1bc67100-ffbe-4d22-be1f-42133eb60611 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mlxd.root_dir > = /var/lib/lxd/#033[00m #033[00;33m{{(pid=1968) log_opt_values > /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py:2898}}#033[00m > Sep 19 09:15:20 localhost nova-compute[1968]: #033[00;32mDEBUG > oslo_service.service [#033[01;36mNone req-1bc67100-ffbe-4d22-be1f-42133eb60611 > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mlxd.timeout > = -1#033[00m #033[00;33m{{(pid=1968) log_opt_values > /usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py:2898}}#033[00m > ......... > ......... > Sep 19 09:15:21 localhost nova-compute[1968]: #033[00;32mDEBUG > oslo_concurrency.processutils [#033[01;36mNone > req-87a543da-84db-4fe1-a743-75ca6525ac2a > #033[00;36mNone None#033[00;32m] #033[01;35m#033[00;32mu'sudo nova-rootwrap > /etc/nova/rootwrap.conf zpool list -o size -H None' failed. Not > Retrying.#033[00m #033[00;33m{{(pid=1968) execute > /usr/local/lib/python2.7/dist-packages/oslo_concurrency/ > processutils.py:457}}#033[00m > Sep 19 09:15:21 localhost nova-compute[1968]: #033[01;31mERROR > nova.compute.manager [#033[01;36mNone req-87a543da-84db-4fe1-a743-75ca6525ac2a > #033[00;36mNone None#033[01;31m] #033[01;35m#033[01;31mError updating > resources for node ubuntu.#033[00m: ProcessExecutionError: Unexpected error > while running command. > Sep 19 09:15:21 localhost nova-compute[1968]: Command: sudo nova-rootwrap > /etc/nova/rootwrap.conf zpool list -o size -H None > Sep 19 09:15:21 localhost nova-compute[1968]: Exit code: 1 > Sep 19 09:15:21 localhost nova-compute[1968]: Stdout: u'' > Sep 19 09:15:21 localhost nova-compute[1968]: Stderr: u"cannot open > 'None': no such pool\n" > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00mTraceback (most recent call last): > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova/nova/compute/manager.py", line > 7344, in update_available_resource_for_node > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m rt.update_available_resource(context, nodename) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova/nova/compute/resource_tracker.py", > line 673, in update_available_resource > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m resources = self.driver.get_available_ > resource(nodename) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova-lxd/nova/virt/lxd/driver.py", > line 1031, in get_available_resource > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m local_disk_info = _get_zpool_info(pool_name) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova-lxd/nova/virt/lxd/driver.py", > line 209, in _get_zpool_info > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m total = _get_zpool_attribute('size') > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova-lxd/nova/virt/lxd/driver.py", > line 201, in _get_zpool_attribute > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m run_as_root=True) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova/nova/utils.py", line 230, in > execute > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m return RootwrapProcessHelper().execute(*cmd, > **kwargs) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File "/opt/stack/nova/nova/utils.py", line 113, in > execute > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m return processutils.execute(*cmd, **kwargs) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m File > "/usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py", > line 424, in execute > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m cmd=sanitized_cmd) > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00mProcessExecutionError: Unexpected error while running > command. > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00mCommand: sudo nova-rootwrap /etc/nova/rootwrap.conf > zpool list -o size -H None > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00mExit code: 1 > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00mStdout: u'' > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00mStderr: u"cannot open 'None': no such pool\n" > Sep 19 09:15:21 localhost nova-compute[1968]: ERROR nova.compute.manager > #033[01;35m#033[00m > > The local.conf used by devstack is looks like: > > [[local|localrc]] > ############################################################ > # Customize the following HOST_IP based on your installation > ############################################################ > HOST_IP=127.0.0.1 > > ADMIN_PASSWORD=devstack > MYSQL_PASSWORD=devstack > RABBIT_PASSWORD=devstack > SERVICE_PASSWORD=$ADMIN_PASSWORD > SERVICE_TOKEN=devstack > > # run the services you want to use > ENABLED_SERVICES=rabbit,mysql,key > ENABLED_SERVICES+=,g-api,g-reg > ENABLED_SERVICES+=,n-cpu,n-api,n-crt,n-obj,n-cond,n-sch, > n-novnc,n-cauth,placement-api,placement-client > ENABLED_SERVICES+=,neutron,q-svc,q-agt,q-dhcp,q-meta,q-l3 > ENABLED_SERVICES+=,cinder,c-sch,c-api,c-vol > ENABLED_SERVICES+=,horizon > > # disabled services > disable_service n-net > > # enable nova-lxd > enable_plugin nova-lxd https://git.openstack.org/openstack/nova-lxd > stable/queens > > Best regards, > Martin. > > > On 17.09.2018 15:29, Alex Kavanagh wrote: > > Hi Martin > > On Sun, Sep 16, 2018 at 8:46 PM, Martin Bobák <martin.bo...@savba.sk> > wrote: > >> Hi all, >> >> what is the recommended way of nova-lxd plugin installation on a fresh >> xenial host running a pure OpenStack devstack (Queens) installation? I have >> tried to install the nova-lxd plugin by pip install, or allowing it during >> OpenStack devstack installation, but each attempt lead to the same result. >> The plugin is either not recognized or the installation doesn't finish >> successfully. I went through the nova-lxd homepage as well as its github >> repo, but I wasn't able to solve the whole installation problem (e.g. I >> found out that the installation of the newest version of pylxd helps with >> installation of the plugin, however, the plugin isn't still recognized. So >> additional configuration is needed...). >> >> Do you have any thoughts about it? >> > > I'm one of the maintainers for nova-lxd, so hopefully can get you up and > running. > > In order for nova-lxd to be configured in nova, the /etc/nova-compute.conf > needs to contain the lines: > > [DEFAULT] > compute_driver = nova_lxd.nova.virt.lxd.LXDDriver > > This little 'fact' is hidden away in the "nova-compute-lxd" debian > package, unfortunately. > > You'll also need to configure an [lxd] section in nova.conf to control the > storage pool in LXD for containers to use when launching instances. > > [lxd] > allow_live_migration = True > pool = {{ storage_pool }} > > The storage pool will need to be set up separately in lxd. > -- > > However, an 'easy' way to test OpenStack with nova-lxd, is to use charms. > We have a number of bundles that work with Juju. For example we have a > deployable bundle for xenial and queens at https://github.com/openstac > k-charmers/openstack-bundles/tree/master/development/ > openstack-lxd-xenial-queens which also has some (hopefully) useful > instructions on how to get it going. > > Note the instructions say you have to use MaaS, but you should be able to > adjust using it to the hardware you are using. > > As an alternative, the openstack-ansible project also supports nova-lxd, > but I don't have any experience with that. > > Do come back if you have any further questions; do let me know how you get > on. > > Best regards > Alex. > > >> Best, >> Martin. >> >> -- >> Martin Bobák, PhD. >> Researcher >> Institute of Informatics >> Slovak Academy of Sciences >> Dubravska cesta 9 >> <https://maps.google.com/?q=Dubravska+cesta+9&entry=gmail&source=g>, >> SK-845 07 Bratislava, Slovakia >> Room: 311, Phone: +421 (0)2 5941-1278 >> E-mail: martin.bo...@savba.sk >> URL: http://www.ui.sav.sk/w/odd/pdip/ >> LinkedIn: https://www.linkedin.com/in/martin-bobak/ >> >> _______________________________________________ >> lxc-users mailing list >> lxc-users@lists.linuxcontainers.org >> http://lists.linuxcontainers.org/listinfo/lxc-users > > > > > -- > Alex Kavanagh - Software Engineer > Cloud Dev Ops - Solutions & Product Engineering - Canonical Ltd > > > _______________________________________________ > lxc-users mailing > listlxc-users@lists.linuxcontainers.orghttp://lists.linuxcontainers.org/listinfo/lxc-users > > -- Alex Kavanagh - Software Engineer Cloud Dev Ops - Solutions & Product Engineering - Canonical Ltd
_______________________________________________ lxc-users mailing list lxc-users@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-users