LXD Power8 container hangs and slow creation

Bug #1547190 reported by Douglas Sikora
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
lxd (Ubuntu)
Fix Released
High
Stéphane Graber

Bug Description

system is a new fresh clean install of Ubuntu Wily ppc64le. Issues below are able to be duplicated 100% of the time.

yjetbq@sovmp151:~$ uname -a
Linux sovmp151 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:48:03 UTC 2016 ppc64le ppc64le ppc64le GNU/Linux

yjetbq@sovmp151:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"
yjetbq@sovmp151:~$

Following instructions at https://linuxcontainers.org/lxd/getting-started-cli/ I ran into 3 issues as below:

1st issue: running newgrp lxd does not work:

running newgrp lxd as user prompts for a password, enter password and nothing happens, no output from command and user is not added to LXD group

Manually added user to LXD group and rebooted.

2nd issue: container creation takes upward of 3 minutes ., after container is created prompt never comes back when trying to get a shell via lxc exec <containername> -- /bin/bash . I waited as long as 30 minutes no prompt comes back however lxc list shows container running with an IP.

steps below
yjetbq@sovmp151:~$ lxc image list images:
+--------------------------------+--------------+--------+------------------------------------------+---------+----------+------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | SIZE | UPLOAD DATE |
+--------------------------------+--------------+--------+------------------------------------------+---------+----------+------------------------------+
| centos/6/amd64 (1 more) | bc1b6c71b6ed | yes | Centos 6 (amd64) (20160218_02:16) | x86_64 | 49.23MB | Jan 1, 1970 at 12:00am (UTC) |
| centos/6/i386 (1 more) | ec65cfd4be93 | yes | Centos 6 (i386) (20160218_02:16) | i686 | 49.71MB | Jan 1, 1970 at 12:00am (UTC) |
| centos/7/amd64 (1 more) | 4dfde108d4e0 | yes | Centos 7 (amd64) (20160218_02:16) | x86_64 | 59.08MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/jessie/amd64 (1 more) | 0d07f11f3f2a | yes | Debian jessie (amd64) (20160217_22:42) | x86_64 | 96.88MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/jessie/armel (1 more) | f9e3a6c02f0b | yes | Debian jessie (armel) (20160111_22:42) | armv7l | 91.92MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/jessie/armhf (1 more) | 5dad30f84459 | yes | Debian jessie (armhf) (20160111_22:42) | armv7l | 92.17MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/jessie/i386 (1 more) | 7020ebc24eb5 | yes | Debian jessie (i386) (20160217_22:42) | i686 | 98.36MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/sid/amd64 (1 more) | 12e4d47e3751 | yes | Debian sid (amd64) (20160217_22:42) | x86_64 | 100.76MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/sid/armel (1 more) | 8546e65f55e7 | yes | Debian sid (armel) (20160111_22:42) | armv7l | 93.71MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/sid/armhf (1 more) | 7fa1020546f1 | yes | Debian sid (armhf) (20160111_22:42) | armv7l | 94.77MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/sid/i386 (1 more) | 0d53989306a4 | yes | Debian sid (i386) (20160217_22:42) | i686 | 103.20MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/squeeze/amd64 (1 more) | 99ded928ccfd | yes | Debian squeeze (amd64) (20160217_22:42) | x86_64 | 90.15MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/squeeze/armel (1 more) | 63a903b6ee5e | yes | Debian squeeze (armel) (20150826_22:42) | armv7l | 86.28MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/squeeze/i386 (1 more) | b263e5b7e5c2 | yes | Debian squeeze (i386) (20160217_22:42) | i686 | 89.68MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/wheezy/amd64 (1 more) | 79f641e0a6a8 | yes | Debian wheezy (amd64) (20160217_22:42) | x86_64 | 91.88MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/wheezy/armel (1 more) | 888627d08642 | yes | Debian wheezy (armel) (20160111_22:42) | armv7l | 88.59MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/wheezy/armhf (1 more) | 56c1c1907f4f | yes | Debian wheezy (armhf) (20160111_22:42) | armv7l | 87.02MB | Jan 1, 1970 at 12:00am (UTC) |
| debian/wheezy/i386 (1 more) | 6a28c6df23c9 | yes | Debian wheezy (i386) (20160217_22:42) | i686 | 92.10MB | Jan 1, 1970 at 12:00am (UTC) |
| gentoo/current/amd64 (1 more) | 6e164999b9ee | yes | Gentoo current (amd64) (20160217_14:12) | x86_64 | 215.09MB | Jan 1, 1970 at 12:00am (UTC) |
| gentoo/current/armhf (1 more) | bdaf90508b84 | yes | Gentoo current (armhf) (20160111_14:12) | armv7l | 183.76MB | Jan 1, 1970 at 12:00am (UTC) |
| gentoo/current/i386 (1 more) | b1b13c2939fe | yes | Gentoo current (i386) (20160217_14:12) | i686 | 212.63MB | Jan 1, 1970 at 12:00am (UTC) |
| oracle/6.5/amd64 (1 more) | 71f64d86ae69 | yes | Oracle 6.5 (amd64) (20160217_11:40) | x86_64 | 141.76MB | Jan 1, 1970 at 12:00am (UTC) |
| oracle/6.5/i386 (1 more) | 21ce6b9492e2 | yes | Oracle 6.5 (i386) (20160217_11:40) | i686 | 135.21MB | Jan 1, 1970 at 12:00am (UTC) |
| plamo/5.x/amd64 (1 more) | 20c62d4f98fd | yes | Plamo 5.x (amd64) (20160217_21:36) | x86_64 | 241.17MB | Jan 1, 1970 at 12:00am (UTC) |
| plamo/5.x/amd64/mini | 1a4f268fcb93 | yes | Plamo 5.x amd64 (mini) (20160217_21:36) | x86_64 | 482.98MB | Jan 1, 1970 at 12:00am (UTC) |
| plamo/5.x/i386 (1 more) | 7c9e03a16794 | yes | Plamo 5.x (i386) (20160217_21:36) | i686 | 236.68MB | Jan 1, 1970 at 12:00am (UTC) |
| plamo/5.x/i386/mini | 13485a47f459 | yes | Plamo 5.x i386 (mini) (20160217_21:36) | i686 | 474.19MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/precise/amd64 (1 more) | e1df82e59256 | yes | Ubuntu precise (amd64) (20160218_03:49) | x86_64 | 63.49MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/precise/armel (1 more) | ff4665f8667a | yes | Ubuntu precise (armel) (20160112_03:49) | armv7l | 49.21MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/precise/armhf (1 more) | 8eabfeb4558a | yes | Ubuntu precise (armhf) (20160216_03:49) | armv7l | 48.88MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/precise/i386 (1 more) | 63df08d0a0d4 | yes | Ubuntu precise (i386) (20160218_03:49) | i686 | 50.97MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/trusty/amd64 (1 more) | 7c0b8de47a5b | yes | Ubuntu trusty (amd64) (20160218_03:49) | x86_64 | 63.67MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/trusty/arm64 (1 more) | 87275c954b84 | yes | Ubuntu trusty (arm64) (20150604_03:49) | aarch64 | 60.78MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/trusty/armhf (1 more) | 5bcdbbfe4e4b | yes | Ubuntu trusty (armhf) (20160216_03:49) | armv7l | 59.84MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/trusty/i386 (1 more) | 505f1a4ed054 | yes | Ubuntu trusty (i386) (20160218_03:49) | i686 | 62.03MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/trusty/ppc64el (1 more) | ff7e0fb34d26 | yes | Ubuntu trusty (ppc64el) (20160201_03:49) | ppc64le | 62.65MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/vivid/amd64 (1 more) | ae7db5904dad | yes | Ubuntu vivid (amd64) (20160218_03:49) | x86_64 | 64.04MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/vivid/arm64 (1 more) | 4f4129a1a9aa | yes | Ubuntu vivid (arm64) (20150604_03:49) | aarch64 | 60.84MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/vivid/armhf (1 more) | c90ec07aa250 | yes | Ubuntu vivid (armhf) (20160216_03:49) | armv7l | 62.68MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/vivid/i386 (1 more) | 0272f8af8a2f | yes | Ubuntu vivid (i386) (20160218_03:49) | i686 | 64.08MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/vivid/ppc64el (1 more) | bce4776c3ebc | yes | Ubuntu vivid (ppc64el) (20160201_03:49) | ppc64le | 64.03MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/wily/amd64 (1 more) | b03f56d3075a | yes | Ubuntu wily (amd64) (20160218_03:49) | x86_64 | 72.40MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/wily/arm64 (1 more) | ebb96aeaaff0 | yes | Ubuntu wily (arm64) (20150604_03:49) | aarch64 | 61.05MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/wily/armhf (1 more) | 8c2bd13b8675 | yes | Ubuntu wily (armhf) (20160216_03:49) | armv7l | 67.37MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/wily/i386 (1 more) | 57fec1f071fe | yes | Ubuntu wily (i386) (20160218_03:49) | i686 | 71.70MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/wily/ppc64el (1 more) | baacad0fb914 | yes | Ubuntu wily (ppc64el) (20160201_03:49) | ppc64le | 72.77MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/xenial/amd64 (1 more) | 0594dbb54ade | yes | Ubuntu xenial (amd64) (20160218_03:49) | x86_64 | 64.87MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/xenial/armhf (1 more) | 5e17b32651c3 | yes | Ubuntu xenial (armhf) (20160216_03:49) | armv7l | 66.32MB | Jan 1, 1970 at 12:00am (UTC) |
| ubuntu/xenial/i386 (1 more) | 714086967c74 | yes | Ubuntu xenial (i386) (20160218_03:49) | i686 | 65.33MB | Jan 1, 1970 at 12:00am (UTC) |
| | 699842bd5864 | yes | Plamo 5.x (i386) (20160215_21:36) | i686 | 236.66MB | Jan 1, 1970 at 12:00am (UTC) |
##########################truncated for brevity########################################|
+--------------------------------+--------------+--------+------------------------------------------+---------+----------+------------------------------+
yjetbq@sovmp151:~$ lxd-images import ubuntu wily ppc64el --alias ubuntu-wily
Downloading the GPG key for http://cloud-images.ubuntu.com
Validating the GPG signature of /tmp/tmpyorywlse/download.json.asc
Downloading the image.
Image manifest: http://cloud-images.ubuntu.com/server/releases/wily/release-20160217.1/ubuntu-15.10-server-cloudimg-ppc64el.manifest
Image imported as: 695fa9e0d0d5f40d3593c7a836813739a7bc99cd2efad30603d3f0b7506725f7
Setup alias: ubuntu-wily
yjetbq@sovmp151:~$ lxd-images import ubuntu trusty ppc64el --alias ubuntu-trusty
Downloading the GPG key for http://cloud-images.ubuntu.com
Validating the GPG signature of /tmp/tmpyvvgpm4g/download.json.asc
Downloading the image.
Image manifest: http://cloud-images.ubuntu.com/server/releases/trusty/release-20160217.1/ubuntu-14.04-server-cloudimg-ppc64el.manifest
Image imported as: cea72328430e7ff06278b43aca5b4fbfda16205bb1e86002c4c4a99049f29ec5
Setup alias: ubuntu-trusty
yjetbq@sovmp151:~$ lxc launch ubuntu-wily ubwilytest
Creating ubwilytest done.
Starting ubwilytest done.
yjetbq@sovmp151:~$ lxc exec ubwilytest -- /bin/bash

##this is where It just hangs forever

for grins here is a list to show it is running:

yjetbq@sovmp151:~$ lxc list
+------------+---------+---------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS |
+------------+---------+---------------------+------+-----------+-----------+
| ubwilytest | RUNNING | 10.0.3.68, 10.0.4.1 | | NO | 0 |
+------------+---------+---------------------+------+-----------+-----------+
yjetbq@sovmp151:~$

Issue 3: sosreport does not operate as x86 defaults. Attempted to add a sosreport: from power node:

^Cyjetbq@sovmp151:~$ sosreport

sosreport (version 3.2.0a1)

no valid plugins were enabled
yjetbq@sovmp151:~$ sudo apt-get install sosreport
[sudo] password for yjetbq:
Reading package lists... Done
Building dependency tree
Reading state information... Done
sosreport is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
yjetbq@sovmp151:~$

Revision history for this message
Douglas Sikora (doug-s1k0ra) wrote :

In case it wasn't clear this is a power 8 system

description: updated
Revision history for this message
Stéphane Graber (stgraber) wrote :

Can you either use xenial or use the ppa:ubuntu-lxc/stable PPA to get a more recent version of LXC and LXD?

Revision history for this message
Stéphane Graber (stgraber) wrote :

The LXD in wily is pretty ancient and not maintained. We do push security fixes to it but that's the extent of the maintenance we provide for it. We mostly focus on LTS releases so have recent LXD in trusty-backports and in xenial, other releases are better off using the PPA.

Revision history for this message
Douglas Sikora (doug-s1k0ra) wrote : Re: [Bug 1547190] Re: LXD functionality on power8
Download full text (12.6 KiB)

will try now

Doug Sikora
Solutions Architect , Canonical Ltd.
+1-848-628-4089

On Thu, Feb 18, 2016 at 3:07 PM, Stéphane Graber <email address hidden>
wrote:

> Can you either use xenial or use the ppa:ubuntu-lxc/stable PPA to get a
> more recent version of LXC and LXD?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1547190
>
> Title:
> LXD functionality on power8
>
> Status in lxc:
> New
>
> Bug description:
> system is a new fresh clean install of Ubuntu Wily ppc64le. Issues
> below are able to be duplicated 100% of the time.
>
> yjetbq@sovmp151:~$ uname -a
> Linux sovmp151 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:48:03 UTC
> 2016 ppc64le ppc64le ppc64le GNU/Linux
>
> yjetbq@sovmp151:~$ cat /etc/lsb-release
> DISTRIB_ID=Ubuntu
> DISTRIB_RELEASE=15.10
> DISTRIB_CODENAME=wily
> DISTRIB_DESCRIPTION="Ubuntu 15.10"
> yjetbq@sovmp151:~$
>
> Following instructions at https://linuxcontainers.org/lxd/getting-
> started-cli/ I ran into 3 issues as below:
>
> 1st issue: running newgrp lxd does not work:
>
> running newgrp lxd as user prompts for a password, enter password
> and nothing happens, no output from command and user is not added to
> LXD group
>
> Manually added user to LXD group and rebooted.
>
> 2nd issue: container creation takes upward of 3 minutes ., after
> container is created prompt never comes back when trying to get a
> shell via lxc exec <containername> -- /bin/bash . I waited as long as
> 30 minutes no prompt comes back however lxc list shows container
> running with an IP.
>
> steps below
> yjetbq@sovmp151:~$ lxc image list images:
>
> +--------------------------------+--------------+--------+------------------------------------------+---------+----------+------------------------------+
> | ALIAS | FINGERPRINT | PUBLIC |
> DESCRIPTION | ARCH | SIZE | UPLOAD DATE
> |
>
> +--------------------------------+--------------+--------+------------------------------------------+---------+----------+------------------------------+
> | centos/6/amd64 (1 more) | bc1b6c71b6ed | yes | Centos 6
> (amd64) (20160218_02:16) | x86_64 | 49.23MB | Jan 1, 1970 at
> 12:00am (UTC) |
> | centos/6/i386 (1 more) | ec65cfd4be93 | yes | Centos 6
> (i386) (20160218_02:16) | i686 | 49.71MB | Jan 1, 1970 at
> 12:00am (UTC) |
> | centos/7/amd64 (1 more) | 4dfde108d4e0 | yes | Centos 7
> (amd64) (20160218_02:16) | x86_64 | 59.08MB | Jan 1, 1970 at
> 12:00am (UTC) |
> | debian/jessie/amd64 (1 more) | 0d07f11f3f2a | yes | Debian jessie
> (amd64) (20160217_22:42) | x86_64 | 96.88MB | Jan 1, 1970 at 12:00am
> (UTC) |
> | debian/jessie/armel (1 more) | f9e3a6c02f0b | yes | Debian jessie
> (armel) (20160111_22:42) | armv7l | 91.92MB | Jan 1, 1970 at 12:00am
> (UTC) |
> | debian/jessie/armhf (1 more) | 5dad30f84459 | yes | Debian jessie
> (armhf) (20160111_22:42) | armv7l | 92.17MB | Jan 1, 1970 at 12:00am
> (UTC) |
> | debian/jessie/i386 (1 more) | 7020ebc24eb...

Revision history for this message
Douglas Sikora (doug-s1k0ra) wrote : Re: LXD functionality on power8

SAME ISSUE, however the container did get created faster, well once it did see note at bottom of this comment:

added stable ppa and upgraded (host is on wily):

yjetbq@sovmp151:~$ dpkg -l | grep lxd
ii lxd 2.0.0~beta2-0ubuntu2~ubuntu15.10.1~ppa1 ppc64el Container hypervisor based on LXC - daemon
ii lxd-client 2.0.0~beta2-0ubuntu2~ubuntu15.10.1~ppa1 ppc64el Container hypervisor based on LXC - client
yjetbq@sovmp151:~$ dpkg -l | grep lxc
ii liblxc1 1.1.5-0ubuntu0.15.10.3 ppc64el Linux Containers userspace tools (library)
ii lxc 1.1.5-0ubuntu0.15.10.3 ppc64el Linux Containers userspace tools
ii lxc-templates 2.0.0~beta2-0ubuntu2~ubuntu15.10.1~ppa1 ppc64el Linux Containers userspace tools (templates)
ii lxcfs 2.0.0~beta1-0ubuntu1~ubuntu15.10.1~ppa1 ppc64el FUSE based filesystem for LXC
ii python3-lxc 1.1.5-0ubuntu0.15.10.3 ppc64el Linux Containers userspace tools (Python 3.x bindings)

yjetbq@sovmp151:~$ lxc list
+------------+---------+--------------------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS |
+------------+---------+--------------------------------+------+-----------+-----------+
| ubwilytest | RUNNING | 10.0.3.90 (eth0) | | NO | 0 |
| | | 10.0.4.1 (lxcbr0) | | | |
+------------+---------+--------------------------------+------+-----------+-----------+
yjetbq@sovmp151:~$ lxc stop ubwilytest
yjetbq@sovmp151:~$ lxc delete ubwilytest
yjetbq@sovmp151:~$ time lxc launch ubuntu-wily ubwilytest
Creating ubwilytest
Starting ubwilytest

real 0m47.022s
user 0m0.016s
sys 0m0.004s
yjetbq@sovmp151:~$ lxc exec ubwilytest -- /bin/bash

system hangs here -- no prompt returned

I then created a second container named test - this one took a long time again.

yjetbq@sovmp151:~$ time lxc launch ubuntu-wily test
Creating test
Starting test

real 2m5.821s
user 0m0.008s
sys 0m0.008s
yjetbq@sovmp151:~$

summary: - LXD functionality on power8
+ LXD Power8 container hangs and slow creation
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

affects: lxc → lxd (Ubuntu)
Changed in lxd (Ubuntu):
status: New → Confirmed
Revision history for this message
Stéphane Graber (stgraber) wrote :

Move the bug to the right place.

Trying to replicate on our ppc64el system now.

Revision history for this message
Stéphane Graber (stgraber) wrote :

I can reproduce the hang on a 4.2 kernel with latest LXC and LXD.

By the looks of it, this isn't a LXC bug as lxc-attach with the same container works quite successfully. I'm seeing processes getting stuck on a bunch of locks, so might have to do with golang threads somehow, poking at it some more.

Revision history for this message
Stéphane Graber (stgraber) wrote :

Hmm, so nothing actually hangs, it's just the shell behaving very weirdly.

That is, when it looks like it's hung, type for example: "ls -lh /etc" and press enter, and you'll quite successfully get the expected output.

ubuntu@1ss-ppc64el:~/go/src/github.com/lxc/lxd$ lxc exec test -- bash
ls -lh /
total 64K
drwxr-xr-x 2 root root 4.0K Feb 17 15:03 bin
drwxr-xr-x 3 root root 4.0K Feb 17 15:13 boot
drwxr-xr-x 8 root root 460 Feb 19 03:53 dev
drwxr-xr-x 97 root root 4.0K Feb 19 03:49 etc
drwxr-xr-x 3 root root 4.0K Feb 19 03:49 home
drwxr-xr-x 20 root root 4.0K Feb 17 15:13 lib
drwxr-xr-x 2 root root 4.0K Feb 17 15:01 lib64
drwx------ 2 root root 4.0K Feb 17 15:03 lost+found
drwxr-xr-x 2 root root 4.0K Feb 17 15:00 media
drwxr-xr-x 2 root root 4.0K Oct 19 09:14 mnt
drwxr-xr-x 2 root root 4.0K Feb 17 15:00 opt
dr-xr-xr-x 114 nobody nogroup 0 Feb 19 03:53 proc
drwx------ 4 root root 4.0K Feb 19 03:51 root
drwxr-xr-x 17 root root 580 Feb 19 03:53 run
drwxr-xr-x 2 root root 4.0K Feb 17 15:03 sbin
drwxr-xr-x 2 root root 4.0K Feb 17 15:00 srv
dr-xr-xr-x 12 nobody nogroup 0 Feb 19 03:53 sys
drwxrwxrwt 7 root root 4.0K Feb 19 04:17 tmp
drwxr-xr-x 10 root root 4.0K Feb 17 15:00 usr
drwxr-xr-x 12 root root 4.0K Feb 17 15:03 var

Revision history for this message
Stéphane Graber (stgraber) wrote :

Looking a bit more closely, the problem is that the lxd client thinks it's run in non-interactive mode (like reading from a pipe or file). That's because stdin in fact doesn't seem to behave the way we need it to, got to figure out what's special about it on power now...

Revision history for this message
Stéphane Graber (stgraber) wrote :

Right, so the problem is that the ioctl terminal IO arguments differ on ppc64el from x86 and other arches. The Go module we use to deal with this doesn't know any better and so fails miserably.

Rather than use the pure go implementation we have right now (from go crypto) we should re-implement it ourselves to instead use the C library for this.

Changed in lxd (Ubuntu):
status: New → Triaged
assignee: nobody → Stéphane Graber (stgraber)
Revision history for this message
Stéphane Graber (stgraber) wrote :

The right way to fix this issue will be: https://github.com/lxc/lxd/issues/1621

I'll try to get that done upstream tomorrow then once applied upstream, cherry-pick it back into Ubuntu which will then make its way to the PPAs.

Changed in lxd (Ubuntu):
importance: Undecided → High
Revision history for this message
Stéphane Graber (stgraber) wrote :

Oh and for the slow creation part of this bug, I'm getting container created within 30s on my ppc64el system when using the directory backend which is a normal time.

When enabling btrfs (zfs should be the same), I get a container creation time of ~1s.

Revision history for this message
Stéphane Graber (stgraber) wrote :

ubuntu@1ss-ppc64el:~/go/src/github.com/lxc/lxd$ time lxc launch trusty blah
Starting blah

real 0m0.907s
user 0m0.012s
sys 0m0.000s

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxd - 2.0.0~beta3-0ubuntu2

---------------
lxd (2.0.0~beta3-0ubuntu2) xenial; urgency=medium

  * Cherry-pick fixes from upstream:
    - Fix static analysis tests
    - Re-implement terminal functions through cgo (LP: #1547190)
    - Move i18n under shared
    - Don't stop containers before asking the user
    - Fix Content-Type value for errors
    - Fix container creation from remote image alias

 -- Stéphane Graber <email address hidden> Fri, 19 Feb 2016 16:31:32 -0500

Changed in lxd (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Douglas Sikora (doug-s1k0ra) wrote :

the container no longer hangs, and i can successfully get a prompt. after creation.

 I still get performance issues though and it is spotty, see output from creating 5 machines below. I can provide you access to this node if need be.

For sanity check:
yjetbq@sovmp151:~$ uname -a
Linux sovmp151 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:48:03 UTC 2016 ppc64le ppc64le ppc64le GNU/Linux
yjetbq@sovmp151:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"

yjetbq@sovmp151:~$ dpkg -l | grep lxc || lxd
ii liblxc1 1.1.5-0ubuntu0.15.10.3 ppc64el Linux Containers userspace tools (library)
ii lxc 1.1.5-0ubuntu0.15.10.3 ppc64el Linux Containers userspace tools
ii lxc-templates 2.0.0~beta2-0ubuntu2~ubuntu15.10.1~ppa1 ppc64el Linux Containers userspace tools (templates)
ii lxcfs 2.0.0~beta2-0ubuntu1~ubuntu15.10.1~ppa1 ppc64el FUSE based filesystem for LXC
ii python3-lxc 1.1.5-0ubuntu0.15.10.3 ppc64el Linux Containers userspace tools (Python 3.x bindings)
yjetbq@sovmp151:~$ dpkg -l | grep lxd
ii lxd 2.0.0~beta3-0ubuntu4~ubuntu15.10.1~ppa1 ppc64el Container hypervisor based on LXC - daemon
ii lxd-client 2.0.0~beta3-0ubuntu4~ubuntu15.10.1~ppa1 ppc64el Container hypervisor based on LXC - client

#####################################
Creating machines below as you can see the first 3 machines were OK at less that 58 seconds (not as fast as yours though) then it takes > 2 minutes. I will be kicking off another script and launch a larger number of machines and will share that as well.
######################################

yjetbq@sovmp151:~$ for i in 1 2 3 4 5
> do
> time lxc launch ubuntu-wily ubuntu$i
> done
Creating ubuntu1
Starting ubuntu1

real 0m43.730s
user 0m0.012s
sys 0m0.008s
Creating ubuntu2
Starting ubuntu2

real 0m56.871s
user 0m0.016s
sys 0m0.004s
Creating ubuntu3
Starting ubuntu3

real 0m57.013s
user 0m0.024s
sys 0m0.012s
Creating ubuntu4
Starting ubuntu4

real 2m18.716s
user 0m0.008s
sys 0m0.008s
Creating ubuntu5
Starting ubuntu5

real 2m0.219s
user 0m0.032s
sys 0m0.008s

Revision history for this message
Douglas Sikora (doug-s1k0ra) wrote :

adding that they actually started:

yjetbq@sovmp151:~$ lxc list
+---------+---------+--------------------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | EPHEMERAL | SNAPSHOTS |
+---------+---------+--------------------------------+------+-----------+-----------+
| ubuntu1 | RUNNING | 10.0.3.6 (eth0) | | NO | 0 |
| | | 10.0.4.1 (lxcbr0) | | | |
+---------+---------+--------------------------------+------+-----------+-----------+
| ubuntu2 | RUNNING | 10.0.3.40 (eth0) | | NO | 0 |
| | | 10.0.4.1 (lxcbr0) | | | |
+---------+---------+--------------------------------+------+-----------+-----------+
| ubuntu3 | RUNNING | 10.0.3.51 (eth0) | | NO | 0 |
| | | 10.0.4.1 (lxcbr0) | | | |
+---------+---------+--------------------------------+------+-----------+-----------+
| ubuntu4 | RUNNING | 10.0.3.165 (eth0) | | NO | 0 |
| | | 10.0.4.1 (lxcbr0) | | | |
+---------+---------+--------------------------------+------+-----------+-----------+
| ubuntu5 | RUNNING | 10.0.3.83 (eth0) | | NO | 0 |
| | | 10.0.4.1 (lxcbr0) | | | |
+---------+---------+--------------------------------+------+-----------+-----------+

Revision history for this message
Stéphane Graber (stgraber) wrote :

That's somewhat expected creation time when not using an optimized storage backend.

Setup zfs, btrfs or LVM for better performance.

On xenial, you should be able to just install "zfsutils-linux" and then run "sudo lxd init" to setup zfs. Note that it requires all existing containers and images be removed first.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.