Conjure-up hangs deploying charmed-k8s to LXD

I used conjure-up to deploy charmed-k8s using lxd, however, it hanged.

I used juju status to see why, and I got the status of juju:

Is there any hit to dig why all machines is wating and one is down? Very appreciated.

That’s very strange. Please try executing the following command:

juju relate easyrsa etcd

Pinging @k8s-charmers: have you had any problems with deploying Charmed Kubernetes to LXD?

Thanks for replying.

I’m not familar with juju, is there any log to see the detail informatio of deployment ? Thanks in advance.

Yes, there is:

juju debug-log --replay --include etcd --include easyrsa

Please add the output to http://paste.ubuntu.com/ or similar and we’ll try to provide more advice.

Thanks a lot.

Oh, I just noticed that lxd generated some rules in iptables. Maybe some conflicts with my system. I’m still tracing the issue, howeber, it seems that it’s not the problem of juju itself.
Thanks all the same.

1 Like

LXD add a MASQUERADE rule to the iptables nat table to NAT the lxd local virtual network to my machine. To fix the ruinned iptables rules, I install the LXD from the fresh.
Finally, I update to the latest lxd, v4.0, however, conjure-up failed. According to the hint of conjure-up err log:

cat conjure-up-localhost-22e-bootstrap.err

ERROR profile "default": no network device found with nictype "bridged" or "macvlan"
	the following devices were checked: eth0
Note: juju does not support IPv6.
Reconfigure lxd to use a network of type "bridged" or "macvlan", disabling IPv6.

weird!
After reading the source code of conjure-up, I found these errores came from juju.
So I tried to bootstrap the controller from juju, as I guessed, it cannot create controllers!

juju bootstrap lxd lxd --no-gui

ERROR profile "default": no network device found with nictype "bridged" or "macvlan"
	the following devices were checked: eth0
Note: juju does not support IPv6.
Reconfigure lxd to use a network of type "bridged" or "macvlan", disabling IPv6.

Then I find a bug issue:
https://github.com/juju/juju/pull/11333
It said the lxd updated its network config, however, juju still used the old one.

So I updated the juju to 2.8 beta1:

snap list

Name        Version                    Rev    Tracking       Publisher   Notes
conjure-up  2.6.11-20200331.1903       1059   latest/stable  canonicalâś“  classic
core        16-2.44.1                  8935   latest/stable  canonicalâś“  core
core18      20200311                   1705   latest/stable  canonicalâś“  base
juju        2.8-beta1+develop-f126ba9  11457  latest/edge    canonicalâś“  classic
lxd         4.0.0                      14709  4.0/stable     canonicalâś“  -

Then juju worked with lxd:

juju bootstrap lxd lxd --no-gui

Creating Juju controller "lxd" on lxd/localhost
Looking for packaged Juju agent version 2.8-beta1 for amd64
No packaged binary found, preparing local Juju agent binary
To configure your system to better support LXD containers, please see: https://github.com/lxc/lxd/blob/master/doc/production-setup.md
Launching controller instance(s) on localhost/localhost...
 - juju-eb6ab8-0 (arch=amd64)
Installing Juju agent on bootstrap instance
Juju GUI installation has been disabled
Waiting for address
Attempting to connect to 240.101.0.102:22
Connected to 240.101.0.102
Running machine configuration script...
Bootstrap agent now started
Contacting Juju controller at 240.101.0.102 to verify accessibility...

Bootstrap complete, controller "lxd" is now available
Controller machines are in the "controller" model
Initial model "default" added

I will tyr conjure-up later.

So maybe it’s a bug both from conjure-up and juju, the latest conjure-up uses the latest stable juju, however, the lates stable juju isn’t compatible with the latest stable lxd.

Sorry this is a bit late but hopefully it’ll help the next person at least. conjure-up is no longer the recommended method for deploying Charmed Kubernetes, on LXD or otherwise. For deploying to LXD, please refer to the instructions in our docs: Installing to a local machine | Ubuntu