Bug 1223662 - Fail to create hello-openshift pod
Summary: Fail to create hello-openshift pod
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OKD
Classification: Red Hat
Component: Image
Version: 3.x
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Ben Parees
QA Contact: Wenjing Zheng
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-21 07:42 UTC by Johnny Liu
Modified: 2015-07-07 23:47 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-07 23:47:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Johnny Liu 2015-05-21 07:42:34 UTC
Description of problem:
# osc create -f hello-pod.json
pods/hello-openshift

# osc get po
POD                       IP            CONTAINER(S)      IMAGE(S)                                  HOST                               LABELS                                                                                  STATUS    CREATED         MESSAGE
hello-openshift           172.17.0.17                                                               ip-10-153-254-104/10.153.254.104   name=hello-openshift                                                                    Pending   16 seconds      
                                        hello-openshift   openshift/hello-openshift                                                                                                                                            Waiting                   API error (404): Cannot start container bfd360cac05a9ae771371dc023095358de1981c68b432927ab1e8e7c47de8692: [8] System error: no such file or directory

Checking from "docker ps -a", openshift is trying to create docker container again and again.

[root@ip-10-153-254-104 hello-openshift]# docker ps -a|grep hello
e0e17c7209b4        openshift/hello-openshift:latest                                                                                         "/hello-openshift"     10 seconds ago                                                                 k8s_hello-openshift.596f3a5e_hello-openshift_default_2480bf3b-ff87-11e4-8ce7-22000b628597_64707efa              
0dc63c704ac5        openshift/hello-openshift:latest                                                                                         "/hello-openshift"     20 seconds ago                                                                 k8s_hello-openshift.596f3a5e_hello-openshift_default_2480bf3b-ff87-11e4-8ce7-22000b628597_660abb1a              
0ef58d63ced7        openshift/hello-openshift:latest                                                                                         "/hello-openshift"     30 seconds ago                                                                 k8s_hello-openshift.596f3a5e_hello-openshift_default_2480bf3b-ff87-11e4-8ce7-22000b628597_c329ca80              
3ce77b7f73e9        openshift/hello-openshift:latest                                                                                         "/hello-openshift"     39 seconds ago                                                                 k8s_hello-openshift.596f3a5e_hello-openshift_default_2480bf3b-ff87-11e4-8ce7-22000b628597_f8675545              
bfd360cac05a        openshift/hello-openshift:latest                                                                                         "/hello-openshift"     50 seconds ago                                                                 k8s_hello-openshift.596f3a5e_hello-openshift_default_2480bf3b-ff87-11e4-8ce7-22000b628597_87ce19ce              
9700c7620ca9        openshift/hello-openshift:latest                                                                                         "/hello-openshift"     59 seconds ago   

docker-registry pod could be created successfully.  


OSE (openshift-0.5.1.1-0.git.166.a0c9aa0.el7ose) also has such issues, in system's message log file, could see the following error:
May 20 18:09:52 openshift-v3 systemd: Starting docker container 9234ab95a042ca9bc0ee9ad69271905820137400764f92ff009c1f28f94d4462.
May 20 18:09:52 openshift-v3 systemd: Started docker container 9234ab95a042ca9bc0ee9ad69271905820137400764f92ff009c1f28f94d4462.
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/dev-disk-by\x2did-dm\x2dname\x2drhel_dhcp\x2d\x2d128\x2d\x2d79\x2dswap.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/dev-disk-by\x2did-dm\x2dname\x2drhel_dhcp\x2d\x2d128\x2d\x2d79\x2dswap.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dwW10MCkVztKH8LOPbSwFVZr7HR3M224T8EtXR31rSgxndnNPP5W4lC8I669499KT.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dwW10MCkVztKH8LOPbSwFVZr7HR3M224T8EtXR31rSgxndnNPP5W4lC8I669499KT.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/dev-disk-by\x2duuid-8930d808\x2d1d82\x2d4892\x2da74c\x2d629ad14e774c.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/dev-disk-by\x2duuid-8930d808\x2d1d82\x2d4892\x2da74c\x2d629ad14e774c.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/dev-rhel_dhcp\x2d128\x2d79-swap.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/dev-rhel_dhcp\x2d128\x2d79-swap.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/dev-dm\x2d0.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/dev-dm\x2d0.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/system-lvm2\x2dpvscan.slice: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/system-lvm2\x2dpvscan.slice: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/ip6tables.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/ip6tables.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/netconsole.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/netconsole.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/microcode.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/microcode.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/iptables.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/iptables.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/rhel-dmesg.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/rhel-dmesg.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/systemd-user-sessions.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/systemd-user-sessions.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/boot.mount: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/boot.mount: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/-.mount: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/-.mount: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/dev-mapper-rhel_dhcp\x2d\x2d128\x2d\x2d79\x2dswap.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/dev-mapper-rhel_dhcp\x2d\x2d128\x2d\x2d79\x2dswap.swap: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/kdump.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/kdump.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set cpu.shares on /system.slice/cpupower.service: No such file or directory
May 20 18:09:52 openshift-v3 systemd: Failed to set blkio.weight on /system.slice/cpupower.service: No such file or directory


Version-Release number of selected component (if applicable):
openshift v0.5.2-35-g6ff35ee
kubernetes v0.17.0-441-g6b6b47a
openshift/hello-openshift:latest     19d7ab3014d5

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Scott Dodson 2015-05-21 16:05:11 UTC
As far as I can tell something broke between hello-openshift:v0.5 and hello-openshift:v0.5.1 however there's no diff in hello-openshift so it's not the image itself.

Docker logs :

May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=info msg="POST /containers/d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44/start"
May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=info msg="+job start(d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44)"
May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=info msg="+job log(start, d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44, docker.io/openshift/hello-openshift:v0.5.1)"
May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=info msg="-job log(start, d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44, docker.io/openshift/hello-openshift:v0.5.1) = OK (0)"
May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=info msg="GET /containers/d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44/json"
May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=info msg="+job container_inspect(d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44)"
May 21 11:40:26 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:26-04:00" level=warning msg="exit status 1"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=error msg="Error unmounting device d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44: UnmountDevice: device not-mounted id d503d79a4f5b1b1423707ce41652168535ba629ef
13593c1d97c84da75251f44"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="+job log(die, d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44, docker.io/openshift/hello-openshift:v0.5.1)"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="-job log(die, d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44, docker.io/openshift/hello-openshift:v0.5.1) = OK (0)"
May 21 11:40:27 ose3-master.example.com docker[2124]: Cannot start container d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44: [8] System error: exec: "/hello-openshift": permission denied
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="-job start(d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44) = ERR (1)"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=error msg="Handler for POST /containers/{name:.*}/start returned error: Cannot start container d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44: [8] System error: 
exec: \"/hello-openshift\": permission denied"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=error msg="HTTP Error: statusCode=500 Cannot start container d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44: [8] System error: exec: \"/hello-openshift\": permis
sion denied"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="-job container_inspect(d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44) = OK (0)"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="GET /containers/json?all=1"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="+job containers()"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="-job containers() = OK (0)"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="GET /containers/d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44/json"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="+job container_inspect(d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44)"
May 21 11:40:27 ose3-master.example.com docker[2124]: time="2015-05-21T11:40:27-04:00" level=info msg="-job container_inspect(d503d79a4f5b1b1423707ce41652168535ba629ef13593c1d97c84da75251f44) = OK (0)"

pod json
$ cat hello-pod.json 
{
  "apiVersion":"v1beta3",
  "kind": "Pod",
  "metadata": {
    "name": "hello-openshift"
  },
  "labels": {
    "name": "hello-openshift"
  },
  "spec": {
    "containers": [{
      "name": "hello-openshift",
      "image": "openshift/hello-openshift:v0.5.1",
        "resources": {
          "limits": {
            "cpu": "100m",
            "memory": "16Mi"
        },
        "ports": [{
          "name": "hello-openshift",
          "hostPort": 6061,
          "containerPort": 8080,
          "protocol": "TCP"
        }]
      }
    }]
  }
}

Comment 2 Ben Parees 2015-05-21 17:08:18 UTC
the image is broken, it can't even be docker run:
$ docker run openshift/hello-openshift:latest

Timestamp: 2015-05-21 13:07:23.554348602 -0400 EDT
Code: System error

Message: [/usr/bin/tar -cf /var/lib/docker/tmp/3e5aab92457bfe5d00c316335734fa2ba9a190ee360eb23e8c6c49cbd7360a36061423886/_tmp.tar -C /var/lib/docker/devicemapper/mnt/3e5aab92457bfe5d00c316335734fa2ba9a190ee360eb23e8c6c49cbd7360a36/rootfs/tmp .] failed: /usr/bin/tar: /var/lib/docker/devicemapper/mnt/3e5aab92457bfe5d00c316335734fa2ba9a190ee360eb23e8c6c49cbd7360a36/rootfs/tmp: Cannot open: No such file or directory
/usr/bin/tar: Error is not recoverable: exiting now
: exit status 2

Frames:
---
0: setupRootfs
Package: github.com/docker/libcontainer
File: rootfs_linux.go@30
---
1: Init
Package: github.com/docker/libcontainer.(*linuxStandardInit)
File: standard_init_linux.go@52
---
2: StartInitialization
Package: github.com/docker/libcontainer.(*LinuxFactory)
File: factory_linux.go@223
---
3: initializer
Package: github.com/docker/docker/daemon/execdriver/native
File: init.go@35
---
4: Init
Package: github.com/docker/docker/pkg/reexec
File: reexec.go@26
---
5: main
Package: main
File: docker.go@29
---
6: main
Package: runtime
File: proc.go@63
---
7: goexit
Package: runtime
File: asm_amd64.s@2232
FATA[0002] Error response from daemon: : exit status 2

Comment 3 Ben Parees 2015-05-21 18:22:43 UTC
appears to actually be an issue in docker that prevents the image from running.

Comment 4 Scott Dodson 2015-05-21 18:57:57 UTC
The only thing that makes me wonder about that diagnosis is that I get the exact same system error when I `docker run openshift/hello-openshift:v0.5` however it runs fine as a pod, perhaps there's multiple issues here.

Comment 5 Andy Goldstein 2015-05-26 15:30:38 UTC
The hello-openshift binary in openshift/hello-openshift:v0.5 is not dynamically linked. The binary in the latest image is dynamically linked, which is why running fails. I'm not immediately sure why the latest build is dynamic off the top of my head.

Comment 6 Ben Parees 2015-06-02 17:53:02 UTC
https://github.com/openshift/origin/pull/2700

Comment 7 Ben Parees 2015-06-02 19:01:43 UTC
looks like docker 1.6.2 will fix the /tmp requirement issue but i'm going to update the pod to always mount /tmp in anyway so people on older versions will be fixed.

Comment 8 Johnny Liu 2015-06-03 06:09:03 UTC
Re-test this bug with the following version, FAIL.

openshift v0.5.2.2-19-g8dc4a9a
kubernetes v0.17.1-804-g496be63
openshift/hello-openshift:latest (0a10016e3e27)
docker-1.6.2-4.el7.x86_64


$ cat hello-pod.json
{
  "id": "hello-openshift",
  "kind": "Pod",
  "apiVersion":"v1beta2",
  "labels": {
    "name": "hello-openshift"
  },
  "desiredState": {
    "manifest": {
      "version": "v1beta1",
      "id": "hello-openshift",
      "containers": [{
        "name": "hello-openshift",
        "image": "openshift/hello-openshift",
        "ports": [{
          "hostPort": 6061,
          "containerPort": 8080
        }]
      }]
    }
  }
}


$ osc create -f ~/training/beta2/hello-pod.json
pods/hello-openshift

$ osc get po
hello-openshift    10.1.0.14                                                                                          minion1.cluster.local/10.14.6.143   name=hello-openshift                                            Pending   4 seconds   
                               hello-openshift            openshift/hello-openshift                                                                                                                                       Waiting               API error (404): Cannot start container 4062de370898b490825c753fdb58f294a9c8e1d00932fc6cf27c7bb2086cd1d0: [8] System error: no such file or directory

Comment 9 Johnny Liu 2015-06-03 06:55:12 UTC
I also tried the latest hello-openshift json file, still fail with the same error.


$ cat hello-pod.json 
{
  "kind": "Pod",
  "apiVersion": "v1beta3",
  "metadata": {
    "name": "hello-openshift",
    "creationTimestamp": null,
    "labels": {
      "name": "hello-openshift"
    }
  },
  "spec": {
    "containers": [
      {
        "name": "hello-openshift",
        "image": "openshift/hello-openshift",
        "ports": [
          {
            "hostPort": 6061,
            "containerPort": 8080,
            "protocol": "TCP"
          }
        ],
        "resources": {},
        "volumeMounts": [
          {
            "name":"tmp",
            "mountPath":"/tmp"
          }
        ],
        "terminationMessagePath": "/dev/termination-log",
        "imagePullPolicy": "IfNotPresent",
        "capabilities": {},
        "securityContext": {
          "capabilities": {},
          "privileged": false
        }
      }
    ],
    "volumes": [
      {
        "name":"tmp",
        "emptyDir": {}
      }
    ],
    "restartPolicy": "Always",
    "dnsPolicy": "ClusterFirst",
    "serviceAccount": ""
  },
  "status": {}
}

$ osc get po
hello-openshift    10.1.0.16                                                                                          minion1.cluster.local/10.14.6.143   name=hello-openshift                                            Pending   5 seconds   
                               hello-openshift            openshift/hello-openshift                                                                                                                                       Waiting               API error (404): Cannot start container ccafb95064ce5038b4c8a9a3da9401ec57b86d01827c13494c8e77500e060475: [8] System error: no such file or directory

Comment 10 Ben Parees 2015-06-03 12:26:28 UTC
it definitely won't work with the beta2 json, you need the updated json that defines the tmp volume.

however it looks like what happened here is i didn't realize we are rebuilding the hello-openshift image as part of the build and it's not being built correctly when that happens, so the regular build overwrite my working version of the image.

i need to update our build process to build it correctly.

Comment 11 Johnny Liu 2015-06-03 15:31:27 UTC
Hi Ben,

According to comment 7, my understanding is the following:
1. old hello-openshift json + docker (>= 1.6.2) + new hello-openshift image - PASS
2. new hello-openshift json + docker (< 1.6.2) +  new hello-openshift image - PASS

That means beta2 json would also work in #1, my understanding is right?

Comment 12 Ben Parees 2015-06-03 16:10:49 UTC
your understanding is correct...with docker 1.6.2 you only need the new image, not the new pod json.

Comment 13 Ben Parees 2015-06-07 03:27:59 UTC
https://github.com/openshift/origin/pull/2904

still requires either docker 1.6.2 or that you use the latest hello-pod.json that mounts a /tmp volume.

Comment 14 Johnny Liu 2015-06-09 07:58:57 UTC
Verified this bug with openshift-0.5.2.2-0.git.26.701be15.el7ose and latest openshift/hello-openshift image (ae47c85b9f17), PASS.

1. new hello-openshift json + docker-1.6.2-6.el7 + new hello-openshift image - PASS
2. old hello-openshift json + docker-1.6.2-6.el7 + new hello-openshift image - PASS
3. new hello-openshift json + docker-1.6.0-11.el7 + new hello-openshift image - PASS
4. old hello-openshift json + docker-1.6.0-11.el7 + new hello-openshift image - PASS


Note You need to log in before you can comment on or make changes to this bug.