origin: Cannot build image using openshift-sti-build directly

I’m trying to recreate using s2i to build a docker image, but by passing a Build object to openshift-sti-builder.

The s2i command is: s2i build https://github.com/choldgraf/reproducible_research_2017 jupyterhub/singleuser-builder:v0.1.1 chris-test

The Build object is: https://gist.github.com/yuvipanda/569c7d0c3967732b4d1688ad6ac89172

Version

A version of openshift I built from master as well as openshift 1.4.1

Steps To Reproduce
  1. Run BUILD_LOG_LEVEL=5 KUBERNETES_SERVICE_HOST=localhost KUBERNETES_SERVICE_PORT=8000 BUILD=$(cat build.json) ./openshift-sti-build --loglevel=5
Current Result

On master:

BUILD_LOG_LEVEL=5 KUBERNETES_SERVICE_HOST=localhost KUBERNETES_SERVICE_PORT=8000 BUILD=$(cat build.json) ./openshift-sti-build --loglevel=5
I0419 18:18:59.698804   10351 builder.go:52] $BUILD env var is {
  "kind": "Build",
  "apiVersion": "v1",
  "metadata": {
      "name": "ruby-sample-build",
      "namespace": "test"
  },
    "spec": {
        "triggeredBy": [],
    "source": {
      "type": "Git",
      "git": {
        "uri": "https://github.com/choldgraf/reproducible_research_2017"
      }
    },
    "strategy": {
      "type": "Source",
      "sourceStrategy": {
        "from": {
          "kind": "DockerImage",
          "name": "jupyterhub/singleuser-builder:v0.1.1"
        }
      }
    }
  }
} 
I0419 18:18:59.699131   10351 builder.go:60] Build: &api.Build{TypeMeta:unversioned.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:"ruby-sample-build", GenerateName:"", Namespace:"test", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:unversioned.Time{Time:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*unversioned.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]api.OwnerReference(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:api.BuildSpec{CommonSpec:api.CommonSpec{ServiceAccount:"", Source:api.BuildSource{Binary:(*api.BinaryBuildSource)(nil), Dockerfile:(*string)(nil), Git:(*api.GitBuildSource)(0xc420385240), Images:[]api.ImageSource(nil), ContextDir:"", SourceSecret:(*api.LocalObjectReference)(nil), Secrets:[]api.SecretBuildSource(nil)}, Revision:(*api.SourceRevision)(nil), Strategy:api.BuildStrategy{DockerStrategy:(*api.DockerBuildStrategy)(nil), SourceStrategy:(*api.SourceBuildStrategy)(0xc42103e410), CustomStrategy:(*api.CustomBuildStrategy)(nil), JenkinsPipelineStrategy:(*api.JenkinsPipelineBuildStrategy)(nil)}, Output:api.BuildOutput{To:(*api.ObjectReference)(nil), PushSecret:(*api.LocalObjectReference)(nil), ImageLabels:[]api.ImageLabel(nil)}, Resources:api.ResourceRequirements{Limits:api.ResourceList(nil), Requests:api.ResourceList(nil)}, PostCommit:api.BuildPostCommitSpec{Command:[]string(nil), Args:[]string(nil), Script:""}, CompletionDeadlineSeconds:(*int64)(nil), NodeSelector:map[string]string(nil)}, TriggeredBy:[]api.BuildTriggerCause{}}, Status:api.BuildStatus{Phase:"", Cancelled:false, Reason:"", Message:"", StartTimestamp:(*unversioned.Time)(nil), CompletionTimestamp:(*unversioned.Time)(nil), Duration:0, OutputDockerImageReference:"", Config:(*api.ObjectReference)(nil), Output:api.BuildStatusOutput{To:(*api.BuildStatusOutputTo)(nil)}}}
I0419 18:18:59.699231   10351 builder.go:67] Master version "", Builder version "unknown"
E0419 18:18:59.699272   10351 config.go:275] Expected to load root CA config from /var/run/secrets/kubernetes.io/serviceaccount/ca.crt, but got err: open /var/run/secrets/kubernetes.io/serviceaccount/ca.crt: no such file or directory
I0419 18:18:59.699367   10351 builder.go:158] Running build with cgroup limits: api.CGroupLimits{MemoryLimitBytes:92233720368547, CPUShares:1024, CPUPeriod:100000, CPUQuota:-1, MemorySwap:92233720368547}
Cloning "https://github.com/choldgraf/reproducible_research_2017" ...
I0419 18:18:59.699497   10351 source.go:134] git ls-remote --heads https://github.com/choldgraf/reproducible_research_2017
I0419 18:18:59.699505   10351 repository.go:367] Executing git ls-remote --heads https://github.com/choldgraf/reproducible_research_2017
I0419 18:19:00.341603   10351 source.go:137] 8e56d5dfcfb820b1f913dbec1e5098ff600ea845	refs/heads/master
I0419 18:19:00.341665   10351 source.go:236] Cloning source from https://github.com/choldgraf/reproducible_research_2017
I0419 18:19:00.341687   10351 repository.go:367] Executing git clone --recursive --depth=1 https://github.com/choldgraf/reproducible_research_2017 /tmp/s2i-build492645488/upload/src

I0419 18:19:06.112299   10351 repository.go:367] Executing git rev-parse --abbrev-ref HEAD
I0419 18:19:06.116484   10351 repository.go:367] Executing git rev-parse --verify HEAD
I0419 18:19:06.120510   10351 repository.go:367] Executing git --no-pager show -s --format=%an HEAD
I0419 18:19:06.125070   10351 repository.go:367] Executing git --no-pager show -s --format=%ae HEAD
I0419 18:19:06.130930   10351 repository.go:367] Executing git --no-pager show -s --format=%cn HEAD
I0419 18:19:06.136249   10351 repository.go:367] Executing git --no-pager show -s --format=%ce HEAD
I0419 18:19:06.141805   10351 repository.go:367] Executing git --no-pager show -s --format=%ad HEAD
I0419 18:19:06.147689   10351 repository.go:367] Executing git --no-pager show -s --format=%<(80,trunc)%s HEAD
I0419 18:19:06.153530   10351 repository.go:367] Executing git config --get remote.origin.url
	Commit:	8e56d5dfcfb820b1f913dbec1e5098ff600ea845 (updating before second class)
	Author:	Christopher Holdgraf <choldgraf@gmail.com>
	Date:	Tue Apr 18 17:44:58 2017 -0700
I0419 18:19:06.158381   10351 repository.go:367] Executing git rev-parse --abbrev-ref HEAD
I0419 18:19:06.163979   10351 repository.go:367] Executing git rev-parse --verify HEAD
I0419 18:19:06.169331   10351 repository.go:367] Executing git --no-pager show -s --format=%an HEAD
I0419 18:19:06.175338   10351 repository.go:367] Executing git --no-pager show -s --format=%ae HEAD
I0419 18:19:06.180471   10351 repository.go:367] Executing git --no-pager show -s --format=%cn HEAD
I0419 18:19:06.187356   10351 repository.go:367] Executing git --no-pager show -s --format=%ce HEAD
I0419 18:19:06.193878   10351 repository.go:367] Executing git --no-pager show -s --format=%ad HEAD
I0419 18:19:06.200420   10351 repository.go:367] Executing git --no-pager show -s --format=%<(80,trunc)%s HEAD
I0419 18:19:06.206757   10351 repository.go:367] Executing git config --get remote.origin.url
error: Unable to update build status: Get https://localhost:8000/oapi/v1/namespaces/test/builds/ruby-sample-build: http: server gave HTTP response to HTTPS client
I0419 18:19:06.212404   10351 sti.go:219] With force pull false, setting policies to if-not-present
I0419 18:19:06.212418   10351 sti.go:226] The value of ALLOWED_UIDS is []
I0419 18:19:06.212425   10351 sti.go:234] The value of DROP_CAPS is []
I0419 18:19:06.212431   10351 cfg.go:44] Locating docker auth for image jupyterhub/singleuser-builder:v0.1.1 and type PULL_DOCKERCFG_PATH
I0419 18:19:06.212494   10351 cfg.go:112] Using Docker authentication configuration in '/home/yuvipanda/.docker/config.json'
I0419 18:19:06.212604   10351 cfg.go:79] Using yuvipanda user for Docker authentication for image jupyterhub/singleuser-builder:v0.1.1
I0419 18:19:06.212612   10351 cfg.go:44] Locating docker auth for image ruby-sample-build and type PUSH_DOCKERCFG_PATH
I0419 18:19:06.212652   10351 cfg.go:112] Using Docker authentication configuration in '/home/yuvipanda/.docker/config.json'
I0419 18:19:06.212702   10351 cfg.go:79] Using yuvipanda user for Docker authentication for image ruby-sample-build
I0419 18:19:06.214089   10351 docker.go:508] Using locally available image "jupyterhub/singleuser-builder:v0.1.1"
I0419 18:19:06.215242   10351 sti.go:262] Creating a new S2I builder with build config: "Builder Image:\t\t\tjupyterhub/singleuser-builder:v0.1.1\nSource:\t\t\t\t/tmp/s2i-build492645488/upload/src\nOutput Image Tag:\t\ttest/ruby-sample-build:a15bb0a5\nEnvironment:\t\t\tOPENSHIFT_BUILD_NAME=ruby-sample-build,OPENSHIFT_BUILD_NAMESPACE=test,OPENSHIFT_BUILD_SOURCE=https://github.com/choldgraf/reproducible_research_2017,OPENSHIFT_BUILD_COMMIT=8e56d5dfcfb820b1f913dbec1e5098ff600ea845\nLabels:\t\t\t\tio.openshift.build.name=\"ruby-sample-build\",io.openshift.build.namespace=\"test\"\nIncremental Build:\t\tdisabled\nRemove Old Build:\t\tdisabled\nBuilder Pull Policy:\t\tif-not-present\nPrevious Image Pull Policy:\talways\nQuiet:\t\t\t\tdisabled\nLayered Build:\t\t\tdisabled\nWorkdir:\t\t\t/tmp/s2i-build492645488\nDocker NetworkMode:\t\tcontainer:run\nDocker Endpoint:\t\tunix:///var/run/docker.sock\n"
I0419 18:19:06.216415   10351 docker.go:508] Using locally available image "jupyterhub/singleuser-builder:v0.1.1"
I0419 18:19:06.218316   10351 docker.go:508] Using locally available image "jupyterhub/singleuser-builder:v0.1.1"
I0419 18:19:06.218330   10351 docker.go:739] Image sha256:370ab9c5d7de5a306ad4417e36f11e7f7a383ddfb6b7a25f011c5717b6d5ec64 contains io.openshift.s2i.scripts-url set to "image:///usr/libexec/s2i"
I0419 18:19:06.218345   10351 scm.go:21] DownloadForSource /tmp/s2i-build492645488/upload/src
I0419 18:19:06.218449   10351 git.go:213] makePathAbsolute /tmp/s2i-build492645488/upload/src
I0419 18:19:06.218459   10351 scm.go:28] return from ParseFile file exists true proto specified false use copy false
I0419 18:19:06.218467   10351 scm.go:40] new source from parse file /tmp/s2i-build492645488/upload/src
I0419 18:19:06.218492   10351 sti.go:274] Starting S2I build from test/ruby-sample-build BuildConfig ...
I0419 18:19:06.218500   10351 sti.go:206] Preparing to build test/ruby-sample-build:a15bb0a5
I0419 18:19:06.218654   10351 download.go:30] Copying sources from "/tmp/s2i-build492645488/upload/src" to "/tmp/s2i-build492645488/upload/src"
I0419 18:19:06.218694   10351 install.go:249] Using "assemble" installed from "image:///usr/libexec/s2i/assemble"
I0419 18:19:06.218713   10351 install.go:249] Using "run" installed from "image:///usr/libexec/s2i/run"
I0419 18:19:06.218732   10351 install.go:249] Using "save-artifacts" installed from "image:///usr/libexec/s2i/save-artifacts"
I0419 18:19:06.218752   10351 ignore.go:63] .s2iignore file does not exist
I0419 18:19:06.218764   10351 sti.go:215] Clean build will be performed
I0419 18:19:06.218771   10351 sti.go:218] Performing source build from file:///tmp/s2i-build492645488/upload/src
I0419 18:19:06.218784   10351 sti.go:229] Running "assemble" in "test/ruby-sample-build:a15bb0a5"
I0419 18:19:06.218797   10351 sti.go:565] Using image name jupyterhub/singleuser-builder:v0.1.1
I0419 18:19:06.218816   10351 sti.go:453] No user environment provided (no environment file found in application sources)
I0419 18:19:06.218857   10351 sti.go:671] starting the source uploading ...
I0419 18:19:06.218901   10351 tar.go:200] Adding "/tmp/s2i-build492645488/upload" to tar ...
I0419 18:19:06.218991   10351 tar.go:286] Adding to tar: /tmp/s2i-build492645488/upload/src/.git/HEAD as src/.git/HEAD
I0419 18:19:06.220750   10351 docker.go:739] Image sha256:370ab9c5d7de5a306ad4417e36f11e7f7a383ddfb6b7a25f011c5717b6d5ec64 contains io.openshift.s2i.scripts-url set to "image:///usr/libexec/s2i"
I0419 18:19:06.220764   10351 docker.go:814] Base directory for S2I scripts is '/usr/libexec/s2i'. Untarring destination is '/tmp'.
I0419 18:19:06.220780   10351 docker.go:949] Setting "/bin/sh -c tar -C /tmp -xf - && /usr/libexec/s2i/assemble" command for container ...
I0419 18:19:06.220884   10351 docker.go:958] Creating container with options {Name:"s2i_jupyterhub_singleuser_builder_v0_1_1_53c9f8bd" Config:&{Hostname: Domainname: User: AttachStdin:false AttachStdout:true AttachStderr:false ExposedPorts:map[] Tty:false OpenStdin:true StdinOnce:true Env:[OPENSHIFT_BUILD_NAME=ruby-sample-build OPENSHIFT_BUILD_NAMESPACE=test OPENSHIFT_BUILD_SOURCE=https://github.com/choldgraf/reproducible_research_2017 OPENSHIFT_BUILD_COMMIT=8e56d5dfcfb820b1f913dbec1e5098ff600ea845] Cmd:[/bin/sh -c tar -C /tmp -xf - && /usr/libexec/s2i/assemble] ArgsEscaped:false Image:jupyterhub/singleuser-builder:v0.1.1 Volumes:map[] WorkingDir: Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal:} HostConfig:&{Binds:[] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:container:run PortBindings:map[] RestartPolicy:{Name: MaximumRetryCount:0} AutoRemove:false VolumeDriver: VolumesFrom:[] CapAdd:[] CapDrop:[] DNS:[] DNSOptions:[] DNSSearch:[] ExtraHosts:[] GroupAdd:[] IpcMode: Cgroup: Links:[] OomScoreAdj:0 PidMode: Privileged:false PublishAllPorts:false ReadonlyRootfs:false SecurityOpt:[] StorageOpt:map[] Tmpfs:map[] UTSMode: UsernsMode: ShmSize:67108864 Sysctls:map[] ConsoleSize:[0 0] Isolation: Resources:{CPUShares:1024 Memory:92233720368547 CgroupParent: BlkioWeight:0 BlkioWeightDevice:[] BlkioDeviceReadBps:[] BlkioDeviceWriteBps:[] BlkioDeviceReadIOps:[] BlkioDeviceWriteIOps:[] CPUPeriod:100000 CPUQuota:-1 CpusetCpus: CpusetMems: Devices:[] DiskQuota:0 KernelMemory:0 MemoryReservation:0 MemorySwap:92233720368547 MemorySwappiness:<nil> OomKillDisable:<nil> PidsLimit:0 Ulimits:[] CPUCount:0 CPUPercent:0 IOMaximumIOps:0 IOMaximumBandwidth:0 NetworkMaximumBandwidth:0}}} ...
I0419 18:19:06.367338   10351 docker.go:991] Attaching to container "f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529" ...
I0419 18:19:06.367776   10351 docker.go:1002] Starting container "f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529" ...
I0419 18:19:06.410227   10351 docker.go:968] Killing container "f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529" ...
I0419 18:19:06.412882   10351 docker.go:970] warning: Failed to kill container "f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529": Error response from daemon: {"message":"Cannot kill container f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529: Container f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529 is not running"}
I0419 18:19:06.413179   10351 docker.go:975] Removing container "f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529" ...
I0419 18:19:06.426990   10351 docker.go:979] Removed container "f3396432345b5d3b40cc39271eee4e3aa2ac295f02f8bb7cbe7d881b9af00529"

Then it hangs forever.

On 1.4.1: https://gist.github.com/yuvipanda/7fad06da28e16f13fe73633291e4aa1f (too large for here)

Expected Result

Image is built and not pushed. Same as running the s2i command

Additional Information

Am running docker v1.12.6 with overlayfs driver on a Ubuntu 17.04 machine, with git 2.11.0

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 23 (10 by maintainers)

Most upvoted comments

the net of this issue is the binary isn’t intended to be used in this way, but if you do want to use the binary “directly” you can run the image, it works when run in a container.