<div dir="ltr">I was getting a bit desperate to recover my containers as I had invested a lot of time configuring them.  I had backups of the containers (on ZFS with snapshots and replicas) but that did me no good as long as lxc could not "see" them.<div><br></div><div>It occurred to me maybe I could swap out 'dummy' containers with my real ones.  So I tried the following, which seems to have worked - no issues with the 'recovered' containers as yet.</div><div><br></div><div>I created a dummy template [template] using the same image as my valuable containers. I used the template to create new containers [newName].</div><div><br></div><div>LXC could see and start the new container.  I stopped the container and deleted it, then copied one of my existing containers in its place and renamed it to the new name. I applied the correct profile. Then, whew!, lxc could see and start the container and I had my container back, albeit with a new name.  After tidying up the hostname of the container, it was good to go. I repeated the exercise for all the containers I needed to recover.</div><div><br></div><div>I still have the ghost names of the containers in lxd.db but I am not touching that.</div><div><br></div><div><div><font face="monospace, monospace" size="1">$ lxc launch images:501a7fb84afe [template]</font></div><div><font face="monospace, monospace" size="1">$ lxc stop [template]</font></div><div><font face="monospace, monospace" size="1">$ lxc copy [template] [newName]</font></div><div><font face="monospace, monospace" size="1">$ sudo rm -r /var/lib/lxd/containers/[newName]</font></div><div><font face="monospace, monospace" size="1">$ sudo cp -R --preserve=all /backup/location/containers/[backup] /var/lib/lxd/containers</font></div><div><font face="monospace, monospace" size="1">$ sudo mv /var/lib/lxd/containers/[backup] /var/lib/lxd/containers/[newName]</font></div><div><font face="monospace, monospace" size="1">$ lxc profile apply [newName] [profileName]</font></div><div><font face="monospace, monospace" size="1">$ lxc start [newName]</font></div><div><font face="monospace, monospace" size="1">$ lxc exec [newName] -- /bin/bash</font></div><div><font face="monospace, monospace" size="1"># nano /etc/hosts</font></div><div><font face="monospace, monospace" size="1"># nano /etc/hostname</font></div></div><div><br></div><div>Apologies to <span style="font-size:12.8px">Stéphane and the LXD/LXC team for what must appear an appalling solution.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 19, 2015 at 11:30 PM, Matthew McKennirey <span dir="ltr"><<a href="mailto:mmckennirey@gmail.com" target="_blank">mmckennirey@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="font-size:12.8px">Thanks for the rapid response. I rebooted the server, then tried again. Host is Ubuntu 15.04 fully patched, kernel 3.19.0-25 (with later kernels lxd will not start because of a permission issue with proc)</span></div><div><span style="font-size:12.8px"><br></span></div><div><div><span style="font-size:12.8px">$ sudo uname -a</span></div><div><font face="monospace, monospace" size="1">Linux zeus 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux</font></div></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">lxc is 1.1.5-0ubuntu3~ubuntu</span></div><div><span style="font-size:12.8px">lxd is 0.22-0ubuntu2~ubuntu1 </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I am running all client commands on the host machine</span></div><div><span style="font-size:12.8px">$ lxc --version</span><br></div><div><div><span style="font-size:12.8px">0.22</span></div><div><span style="font-size:12.8px">$ lxd --version</span></div><div><span style="font-size:12.8px">0.22</span></div></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Containers are present on the file system</span></div><div><div><font face="monospace, monospace" size="1">$ ls -l /var/lib/lxd/containers/</font></div><div><font face="monospace, monospace" size="1">-rwxrwxrwx 1 root   root   27854 Nov 14 23:20 lxc-monitord.log<br></font></div><div><font face="monospace, monospace" size="1">drwxrwxrwx 3 100000 100000     5 Feb 14  2015 ub1404_sg</font></div><div><font face="monospace, monospace" size="1">drwx--x--x 3 root   root       3 Aug 16 14:29 ubuntu14-java-utils</font></div><div><font face="monospace, monospace" size="1">drwx--x--x 3 100000 100000     3 Aug 18 23:12 ubuntu-build</font></div><div><font face="monospace, monospace" size="1">drwxr-xr-x 3 root   root       3 Oct 18 17:24 ubuntu-build-clone</font></div><div><font face="monospace, monospace" size="1">drwx--x--x 4 100000 100000     5 Aug 16 14:09 ubuntu-sg</font></div><div><font face="monospace, monospace" size="1">drwx--x--x 3 root   root       3 Aug 16 15:38 ubuntu-sg-base</font></div><div><font face="monospace, monospace" size="1">drwxr-xr-x 3 100000 100000     3 Oct 18 18:25 ubuntu-sg-tst</font></div><div><font face="monospace, monospace" size="1">drwxr-xr-x 3 100000 100000     3 Oct 18 17:30 ubuntu-tst</font></div><div><font face="monospace, monospace" size="1">drwxr-xr-x 3 root   root       3 Oct 18 17:18 ubuntu-web</font></div></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Containers are in lxd.db (see prior message)</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px">After the reboot I had trouble starting lxd</span></div><div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">$ sudo cat /var/log/syslog</span></div><div><font face="monospace, monospace" size="1">kernel: [ 6575.572166] init: lxd main process (5391) terminated with status 1<br></font></div><div><font face="monospace, monospace" size="1">kernel: [ 6575.572179] init: lxd main process ended, respawning</font></div><div><font face="monospace, monospace" size="1">kernel: [ 6575.588459] init: lxd main process (5396) terminated with status 1</font></div><div><font face="monospace, monospace" size="1">kernel: [ 6575.588474] init: lxd main process ended, respawning</font></div><div><font face="monospace, monospace" size="1">kernel: [ 6575.604184] init: lxd main process (5401) terminated with status 1</font></div><div><font face="monospace, monospace" size="1">kernel: [ 6575.604198] init: lxd respawning too fast, stopped</font></div></div><div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">$ sudo cat /var/log/upstart/lxd.log</span></div><div><font face="monospace, monospace" size="1">error: mkdir /var/lib/lxd/images: file exists<br></font></div><div><font face="monospace, monospace" size="1">error: mkdir /var/lib/lxd/images: file exists</font></div><div><font face="monospace, monospace" size="1">error: mkdir /var/lib/lxd/images: file exists</font></div><div><font face="monospace, monospace" size="1">error: mkdir /var/lib/lxd/images: file exists</font></div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><span style="font-size:12.8px">I'm really not sure why lxd was trying to create the images folder at start-up.</span></div><div style="font-size:12.8px"><span style="font-size:12.8px">Anyway I renamed the folder and lxd would start</span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div><div><span style="font-size:12.8px">$ sudo mv /var/lib/lxd/images /var/lib/lxd/images-back</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">$ sudo service lxd start --debug -v</span></div><div><div style="font-size:12.8px">$ lxc list --debug</div><div><div><font face="monospace, monospace" size="1">DBUG[11-19|22:52:29] Fingering the daemon </font></div><div><font face="monospace, monospace" size="1">DBUG[11-19|22:52:29] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"api_compat":1,"auth":"trusted","config":{"images.remote_cache_expiry":"10"},"environment":{"addresses":[],"architectures":[2,1],"driver":"lxc","driver_version":"1.1.5","kernel":"Linux","kernel_architecture":"x86_64","kernel_version":"3.19.0-25-generic","server":"lxd","server_pid":5613,"server_version":"0.22","storage":"dir","storage_version":""}}}</font></div><div><font face="monospace, monospace" size="1"> </font></div><div><font face="monospace, monospace" size="1">DBUG[11-19|22:52:29] Pong received </font></div><div><font face="monospace, monospace" size="1">DBUG[11-19|22:52:29] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":[]}</font></div><span class=""><div><font face="monospace, monospace" size="1"> </font></div><div><font face="monospace, monospace" size="1">+------+-------+------+------+-----------+-----------+</font></div><div><font face="monospace, monospace" size="1">| NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS |</font></div><div><font face="monospace, monospace" size="1">+------+-------+------+------+-----------+-----------+</font></div><div><font face="monospace, monospace" size="1">+------+-------+------+------+-----------+-----------+</font></div><div><span style="font-size:12.8px"><br></span></div></span><div><span style="font-size:12.8px">Still no joy.</span></div><div><span style="font-size:12.8px"><br></span></div><div><div><span style="font-size:12.8px">$ sudo cat /var/log/lxd/lxd.log</span></div><div><span style="font-family:monospace,monospace;font-size:x-small">t=2015-11-19T22:45:51-0500 lvl=info msg="LXD is starting" path=/var/lib/lxd</span><br></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg="Default uid/gid map:"</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg=" - u 0 100000 65536"</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg=" - g 0 100000 65536"</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg=Init driver=storage/dir</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg="Looking for existing certificates" cert=/var/lib/lxd/server.crt key=/var/lib/lxd/server.key</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg="LXD isn't socket activated"</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg="REST API daemon:"</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:45:51-0500 lvl=info msg=" - binding socket" socket=/var/lib/lxd/unix.socket</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:46:09-0500 lvl=info msg=handling method=GET url=/1.0 ip=@</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:46:09-0500 lvl=info msg=handling method=GET url="/1.0/containers?recursion=1" ip=@</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:48:20-0500 lvl=info msg=handling method=GET url=/1.0 ip=@</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:48:20-0500 lvl=info msg=handling method=GET url="/1.0/containers?recursion=1" ip=@</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:49:06-0500 lvl=info msg=handling method=GET url=/1.0 ip=@</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:49:06-0500 lvl=info msg=handling method=GET url="/1.0/containers?recursion=1" ip=@</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:52:29-0500 lvl=info msg=handling ip=@ method=GET url=/1.0</font></div><div><font face="monospace, monospace" size="1">t=2015-11-19T22:52:29-0500 lvl=info msg=handling method=GET url="/1.0/containers?recursion=1" ip=@</font></div></div></div><div style="font-size:12.8px"><br></div></div><div><span style="font-size:12.8px">thanks very much</span></div><div><span style="font-size:12.8px"><br></span></div></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><div style="font-size:12.8px"><span style="font-size:12.8px"><br></span></div><span style="font-size:12.8px">From: "Stéphane Graber" <<a href="mailto:stgraber@ubuntu.com" target="_blank">stgraber@ubuntu.com</a>></span><br style="font-size:12.8px"><span style="font-size:12.8px">To: LXC users mailing-list <<a href="mailto:lxc-users@lists.linuxcontainers.org" target="_blank">lxc-users@lists.linuxcontainers.org</a>></span><br style="font-size:12.8px"><span style="font-size:12.8px">Cc: </span><br style="font-size:12.8px"><span style="font-size:12.8px">Date: Tue, 17 Nov 2015 22:09:17 -0500</span><br style="font-size:12.8px"><span style="font-size:12.8px">Subject: Re: [lxc-users] lxc list fails to show containers after upgrade to lxd 0.22 / lxc 1.1.5</span><br style="font-size:12.8px"><span style="font-size:12.8px">Can you confirm your client and server are running the exact same</span><br style="font-size:12.8px"><span style="font-size:12.8px">version of LXD?</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">The fact that the containers appear to be properly in the database</span><br style="font-size:12.8px"><span style="font-size:12.8px">typically indicates an API mismatch between the client and the server.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Our API isn't stable yet (it will be when we tag LXD 2.0 early next</span><br style="font-size:12.8px"><span style="font-size:12.8px">year), so mismatches can give you random results.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">If "lxc version" and "lxd --version" match, then I'd suggest running</span><br style="font-size:12.8px"><span style="font-size:12.8px">both of them with --debug, that should give us more of an idea of what's</span><br style="font-size:12.8px"><span style="font-size:12.8px">going on.</span><span class=""><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">On Tue, Nov 17, 2015 at 09:57:50PM -0500, Matthew McKennirey wrote:</span><br style="font-size:12.8px"><span style="font-size:12.8px">> I am running LXD/LXC on two hosts, each with multiple containers.</span><br style="font-size:12.8px"><span style="font-size:12.8px">> I upgraded one host to the latest versions of LXD /LXC (had been on lxd</span><br style="font-size:12.8px"><span style="font-size:12.8px">> 0.21 / lxc 1.1.4)</span><br style="font-size:12.8px"><span style="font-size:12.8px">></span><br style="font-size:12.8px"><span style="font-size:12.8px">> After the upgrade. lxc list shows no containers</span><br></span></div>
</blockquote></div><br></div>