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
- 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)
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.