I have MAAS+Juju setup ready and was successfully able to deploy some openstack charms on specific machines. Then, I read that its safe and good practice to place these openstack charms in their own containers. I tried
juju deploy --to lxc:14 --repository=/opt/charms local:trusty/keystone
Charm was added successfully but juju stat
shows
"14":
agent-state: started
agent-version: 1.20.10
dns-name: slot13.maas
instance-id: /MAAS/api/1.0/nodes/node-9cf5e120-5625-11e4-b22e-a41f72f16283/
series: trusty
containers:
14/kvm/0:
agent-state-info: 'kvm container creation failed: exit status 1'
instance-id: pending
series: trusty
14/lxc/0:
agent-state-info: container failed to start
instance-id: pending
series: trusty
hardware: arch=amd64 cpu-cores=4 mem=32768M
I tried with kvm containers with the same result ( you can see even that error above. For KVM containers, I did enable Virtualization tech in BIOS ).
juju debug-log
shows
machine-14: 2014-11-05 06:31:12 ERROR juju.container.lxc clonetemplate.go:167 container failed to start: container failed to start
machine-14: 2014-11-05 06:31:12 ERROR juju.provisioner.lxc lxc-broker.go:97 failed to start container: container failed to start
machine-14: 2014-11-05 06:31:12 ERROR juju.provisioner provisioner_task.go:418 cannot start instance for machine "14/lxc/0": container failed to start
There are no service/charm(keystone) specific logs at /var/log/juju on the target node. This is happening with all services that I wish to place in a container, not only keystone or openstack services.
Note: I had a problem with lxc-create
on the target node because of some proxy issues and I think that my earlier post on this solved that issue. But the issue I describe in this question doesn't go away.
EDIT: I found the container failure logs and am pasting the same here-
lxc-start 1415307100.508 INFO lxc_conf - mount points have been setup
lxc-start 1415307100.508 WARN lxc_conf - rootfs specified but no console found at '/usr/lib/x86_64-linux-gnu/lxc/dev/console'
lxc-start 1415307100.508 ERROR lxc_conf - No such file or directory - failed to create symlink for kmsg
lxc-start 1415307100.508 ERROR lxc_conf - failed to setup kmsg for 'juju-machine-14-lxc-1'
lxc-start 1415307100.508 INFO lxc_conf - 0 tty(s) has been setup
lxc-start 1415307100.508 ERROR lxc_conf - No such file or directory - Error creating /usr/lib/x86_64-linux-gnu/lxc/dev/fd
lxc-start 1415307100.508 ERROR lxc_conf - failed to setup /dev symlinks for 'juju-machine-14-lxc-1'
lxc-start 1415307100.508 ERROR lxc_start - failed to setup the container
lxc-start 1415307100.508 ERROR lxc_sync - invalid sequence number 1. expected 2
lxc-start 1415307100.508 WARN lxc_conf - failed to remove interface '(null)'
lxc-start 1415307100.540 ERROR lxc_start - failed to spawn 'juju-machine-14-lxc-1'
lxc-start 1415307100.540 WARN lxc_commands - command get_init_pid failed to receive response
lxc-start 1415307100.540 WARN lxc_cgmanager - do_cgm_get exited with error
lxc-start 1415307105.545 ERROR lxc_start_ui - The container failed to start.
lxc-start 1415307105.545 ERROR lxc_start_ui - To get more details, run the container in foreground mode.
lxc-start 1415307105.545 ERROR lxc_start_ui - Additional information can be obtained by setting the --logfile and --logpriority options.
The first error rootfs specified but no console found at '/usr/lib/x86_64-linux-gnu/lxc/dev/console'
is indeed right in the sense that there is no path '/usr/lib/x86_64-linux-gnu/lxc/dev/console'
. The dir structure ends at '/usr/lib/x86_64-linux-gnu/lxc/`