Skip to content

LCOW healthcheck fails #38577

@dmitriykanarskiy

Description

@dmitriykanarskiy

Description

When running linux container with a LCOW support enabled on a windows healthchecks fail. It seams that CMD command incorrectly picks up cmd.exe over sh/bash for linux OS.

Steps to reproduce the issue:

  1. docker run --name=test -d -e "ZOOKEEPER_SYNC_LIMIT=2" -e "ZOOKEEPER_TICK_TIME=2000" -e "ZOO_MAX_CLIENT_CNXNS=3000" -e "ZOOKEEPER_CLIENT_PORT=2181" -e "ZOOKEEPER_SERVER_ID=1" --platform
    =linux --health-cmd="echo 'ruok' | nc -w 2 -q 2 localhost 2181 | grep 'imok'" confluentinc/cp-zookeeper:3.2.4
  2. docker inspect --format "{{json .State.Health }}" <containerId>

Describe the results you received:
{"Status":"starting","FailingStreak":1,"Log":[{"Start":"2019-01-15T05:02:55.8202577-08:00","End":"2019-01-15T05:02:56.712615-08:00","ExitCode":-1,"Output":"container 94291df1b6482abdb091ddda53bce7b492703522223bb430445b3f761de8f871 encountered an error during CreateProcess: failure in a Windows system call: Unspecified error (0x80004005)\n[Event Detail: failed to run runc create/exec call for container 94291df1b6482abdb091ddda53bce7b492703522223bb430445b3f761de8f871: exit status 1 Stack Trace: \ngithub.com/Microsoft/opengcs/service/gcs/runtime/runc.(*container).startProcess\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/runtime/runc/runc.go:550\ngithub.com/Microsoft/opengcs/service/gcs/runtime/runc.(*container).runExecCommand\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/runtime/runc/runc.go:492\ngithub.com/Microsoft/opengcs/service/gcs/runtime/runc.(*container).ExecProcess\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/runtime/runc/runc.go:127\ngithub.com/Microsoft/opengcs/service/gcs/core/gcs.(*gcsCore).ExecProcess\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/core/gcs/gcs.go:276\ngithub.com/Microsoft/opengcs/service/gcs/bridge.(*Bridge).execProcess\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/bridge/bridge.go:391\ngithub.com/Microsoft/opengcs/service/gcs/bridge.(*Bridge).(github.com/Microsoft/opengcs/service/gcs/bridge.execProcess)-fm\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/bridge/bridge.go:199\ngithub.com/Microsoft/opengcs/service/gcs/bridge.HandlerFunc.ServeMsg\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/bridge/bridge.go:45\ngithub.com/Microsoft/opengcs/service/gcs/bridge.(*Mux).ServeMsg\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/bridge/bridge.go:107\ngithub.com/Microsoft/opengcs/service/gcs/bridge.(*Bridge).ListenAndServe.func2.1\n\t/go/src/github.com/Microsoft/opengcs/service/gcs/bridge/bridge.go:262\nruntime.goexit\n\t/usr/lib/go/src/runtime/asm_amd64.s:2197 Provider: 00000000-0000-0000-0000-000000000000] extra info: {"CommandArgs":["cmd","/S","/C","echo 'ruok' | nc -w 2 -q 2 localhost 2181 | grep 'imok'"],"WorkingDirectory":"/","Environment":{"APT_ALLOW_UNAUTHENTICATED":"false","COMPONENT":"zookeeper","CONFLUENT_DEB_VERSION":"1","CONFLUENT_MAJOR_VERSION":"3","CONFLUENT_MINOR_VERSION":"2","CONFLUENT_PATCH_VERSION":"1","CONFLUENT_VERSION":"3.2.1","HOSTNAME":"94291df1b648","KAFKA_VERSION":"0.10.2.2","LANG":"C.UTF-8","PATH":"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","PYTHON_PIP_VERSION":"8.1.2","PYTHON_VERSION":"2.7.9-1","SCALA_VERSION":"2.11","ZOOKEEPER_CLIENT_PORT":"2181","ZOOKEEPER_SERVER_ID":"1","ZOOKEEPER_SYNC_LIMIT":"2","ZOOKEEPER_TICK_TIME":"2000","ZOO_MAX_CLIENT_CNXNS":"3000","ZULU_OPENJDK_VERSION":"8=8.17.0.3"},"CreateStdInPipe":true,"CreateStdOutPipe":true,"CreateStdErrPipe":true,"ConsoleSize":[0,0]}"}]}

Describe the results you expected:
Health check passes

Additional information you deem important (e.g. issue happens only occasionally):

Output of docker version:

Client:
 Version:           master-dockerproject-2019-01-14
 API version:       1.40
 Go version:        go1.11.4
 Git commit:        a6e37bd6
 Built:             Mon Jan 14 23:50:55 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server:
 Engine:
  Version:          master-dockerproject-2019-01-14
  API version:      1.40 (minimum version 1.24)
  Go version:       go1.11.4
  Git commit:       beef00c
  Built:            Mon Jan 14 23:58:53 2019
  OS/Arch:          windows/amd64
  Experimental:     true

Output of docker info:

Containers: 10
 Running: 5
 Paused: 0
 Stopped: 5
Images: 11
Server Version: master-dockerproject-2019-01-14
Storage Driver: windowsfilter (windows) lcow (linux)
 Windows:
 LCOW:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 16299 (16299.637.amd64fre.rs3_release_svc.180808-1748)
Operating System: Windows Server Datacenter Version 1709 (OS Build 16299.847)
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 16GiB
Name: test
ID: POXD:2BDL:BQAZ:2ZFO:S76H:DPWU:O4BU:M7IO:GC5M:RZZD:3UHW:7DPM
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):

VMWare virtual machine

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/lcowIssues and PR's related to the experimental LCOW featurekind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.kind/experimentalplatform/windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions