During v2.1.0 testing, I have discovered that while using off-cluster object storage (I'm using S3), the following lines throw an error, which causes the dockerbuilder pod to fail, in turn, the git receive hook on the builder fails.
$ git push deis master
Warning: Permanently added '[deis-builder.krancour2.deis.ninja]:2222,[54.191.146.37]:2222' (RSA) to the list of known hosts.
Counting objects: 78, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (63/63), done.
Writing objects: 100% (78/78), 12.61 KiB | 0 bytes/s, done.
Total 78 (delta 20), reused 27 (delta 4)
Starting build... but first, coffee!
remote: 2016/06/30 02:15:37 Error running git receive hook [watching events for builder pod startup (Giving up; pod went into failed status:
remote: &api.Pod{TypeMeta:unversioned.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:"dockerbuild-metric-duckling-5d313d57-24d031d0", GenerateName:"", Namespace:"deis", SelfLink:"/api/v1/namespaces/deis/pods/dockerbuild-metric-duckling-5d313d57-24d031d0", UID:"875da86a-3e68-11e6-a019-0674990da1bb", ResourceVersion:"59976", Generation:0, CreationTimestamp:unversioned.Time{Time:time.Time{sec:63602849734, nsec:0, loc:(*time.Location)(0x22f6a20)}}, DeletionTimestamp:(*unversioned.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string{"heritage":"dockerbuild-metric-duckling-5d313d57-24d031d0"}, Annotations:map[string]string(nil)}, Spec:api.PodSpec{Volumes:[]api.Volume{api.Volume{Name:"objectstorage-keyfile", VolumeSource:api.VolumeSource{HostPath:(*api.HostPathVolumeSource)(nil), EmptyDir:(*api.EmptyDirVolumeSource)(nil), GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)(nil), AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)(nil), GitRepo:(*api.GitRepoVolumeSource)(nil), Secret:(*api.SecretVolumeSource)(0xc820454470), NFS:(*api.NFSVolumeSource)(nil), ISCSI:(*api.ISCSIVolumeSource)(nil), Glusterfs:(*api.GlusterfsVolumeSource)(nil), PersistentVolumeClaim:(*api.PersistentVolumeClaimVolumeSource)(nil), RBD:(*api.RBDVolumeSource)(nil), FlexVolume:(*api.FlexVolumeSource)(nil), Cinder:(*api.CinderVolumeSource)(nil), CephFS:(*api.CephFSVolumeSource)(nil), Flocker:(*api.FlockerVolumeSource)(nil), DownwardAPI:(*api.DownwardAPIVolumeSource)(nil), FC:(*api.FCVolumeSource)(nil), AzureFile:(*api.AzureFileVolumeSource)(nil), ConfigMap:(*api.ConfigMapVolumeSource)(nil)}}, api.Volume{Name:"docker-socket", VolumeSource:api.VolumeSource{HostPath:(*api.HostPathVolumeSource)(0xc8204544b0), EmptyDir:(*api.EmptyDirVolumeSource)(nil), GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)(nil), AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)(nil), GitRepo:(*api.GitRepoVolumeSource)(nil), Secret:(*api.SecretVolumeSource)(nil), NFS:(*api.NFSVolumeSource)(nil), ISCSI:(*api.ISCSIVolumeSource)(nil), Glusterfs:(*api.GlusterfsVolumeSource)(nil), PersistentVolumeClaim:(*api.PersistentVolumeClaimVolumeSource)(nil), RBD:(*api.RBDVolumeSource)(nil), FlexVolume:(*api.FlexVolumeSource)(nil), Cinder:(*api.CinderVolumeSource)(nil), CephFS:(*api.CephFSVolumeSource)(nil), Flocker:(*api.FlockerVolumeSource)(nil), DownwardAPI:(*api.DownwardAPIVolumeSource)(nil), FC:(*api.FCVolumeSource)(nil), AzureFile:(*api.AzureFileVolumeSource)(nil), ConfigMap:(*api.ConfigMapVolumeSource)(nil)}}, api.Volume{Name:"default-token-gb00u", VolumeSource:api.VolumeSource{HostPath:(*api.HostPathVolumeSource)(nil), EmptyDir:(*api.EmptyDirVolumeSource)(nil), GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)(nil), AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)(nil), GitRepo:(*api.GitRepoVolumeSource)(nil), Secret:(*api.SecretVolumeSource)(0xc8204544e0), NFS:(*api.NFSVolumeSource)(nil), ISCSI:(*api.ISCSIVolumeSource)(nil), Glusterfs:(*api.GlusterfsVolumeSource)(nil), PersistentVolumeClaim:(*api.PersistentVolumeClaimVolumeSource)(nil), RBD:(*api.RBDVolumeSource)(nil), FlexVolume:(*api.FlexVolumeSource)(nil), Cinder:(*api.CinderVolumeSource)(nil), CephFS:(*api.CephFSVolumeSource)(nil), Flocker:(*api.FlockerVolumeSource)(nil), DownwardAPI:(*api.DownwardAPIVolumeSource)(nil), FC:(*api.FCVolumeSource)(nil), AzureFile:(*api.AzureFileVolumeSource)(nil), ConfigMap:(*api.ConfigMapVolumeSource)(nil)}}}, Containers:[]api.Container{api.Container{Name:"deis-dockerbuilder", Image:"quay.io/deisci/dockerbuilder:git-4f4ebb5", Command:[]string(nil), Args:[]string(nil), WorkingDir:"", Ports:[]api.ContainerPort(nil), Env:[]api.EnvVar{api.EnvVar{Name:"TAR_PATH", Value:"home/metric-duckling:git-5d313d57/tar", ValueFrom:(*api.EnvVarSource)(nil)}, api.EnvVar{Name:"IMG_NAME", Value:"metric-duckling:git-5d313d57", ValueFrom:(*api.EnvVarSource)(nil)}, api.EnvVar{Name:"BUILDER_STORAGE", Value:"s3", ValueFrom:(*api.EnvVarSource)(nil)}}, Resources:api.ResourceRequirements{Limits:api.ResourceList(nil), Requests:api.ResourceList(nil)}, VolumeMounts:[]api.VolumeMount{api.VolumeMount{Name:"objectstorage-keyfile", ReadOnly:true, MountPath:"/var/run/secrets/deis/objectstore/creds"}, api.VolumeMount{Name:"docker-socket", ReadOnly:false, MountPath:"/var/run/docker.sock"}, api.VolumeMount{Name:"default-token-gb00u", ReadOnly:true, MountPath:"/var/run/secrets/kubernetes.io/serviceaccount"}}, LivenessProbe:(*api.Probe)(nil), ReadinessProbe:(*api.Probe)(nil), Lifecycle:(*api.Lifecycle)(nil), TerminationMessagePath:"/dev/termination-log", ImagePullPolicy:"Always", SecurityContext:(*api.SecurityContext)(nil), Stdin:false, StdinOnce:false, TTY:false}}, RestartPolicy:"Never", TerminationGracePeriodSeconds:(*int64)(0xc820454530), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"ClusterFirst", NodeSelector:map[string]string(nil), ServiceAccountName:"default", NodeName:"ip-10-0-0-175.us-west-2.compute.internal", SecurityContext:(*api.PodSecurityContext)(0xc8201835c0), ImagePullSecrets:[]api.LocalObjectReference(nil)}, Status:api.PodStatus{Phase:"Failed", Conditions:[]api.PodCondition{api.PodCondition{Type:"Ready", Status:"False", LastProbeTime:unversioned.Time{Time:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}, LastTransitionTime:unversioned.Time{Time:time.Time{sec:63602849734, nsec:0, loc:(*time.Location)(0x22f6a20)}}, Reason:"ContainersNotReady", Message:"containers with unready status: [deis-dockerbuilder]"}}, Message:"", Reason:"", HostIP:"10.0.0.175", PodIP:"10.2.68.8", StartTime:(*unversioned.Time)(0xc820483ac0), ContainerStatuses:[]api.ContainerStatus{api.ContainerStatus{Name:"deis-dockerbuilder", State:api.ContainerState{Waiting:(*api.ContainerStateWaiting)(nil), Running:(*api.ContainerStateRunning)(nil), Terminated:(*api.ContainerStateTerminated)(0xc82022d2d0)}, LastTerminationState:api.ContainerState{Waiting:(*api.ContainerStateWaiting)(nil), Running:(*api.ContainerStateRunning)(nil), Terminated:(*api.ContainerStateTerminated)(nil)}, Ready:false, RestartCount:0, Image:"quay.io/deisci/dockerbuilder:git-4f4ebb5", ImageID:"docker://sha256:819f3bbadd2a885b89efeb76f6c52b70715e0a76195a83ab8d5996faa6f8b128", ContainerID:"docker://6fc27094e9633107fb337766bc2eff3bcfe6c220bf618a5441bbf0be8cc19315"}}}})]
To ssh://[email protected]:2222/metric-duckling.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'ssh://[email protected]:2222/metric-duckling.git'
$ k logs dockerbuild-metric-duckling-5d313d57-24d031d0 --namespace=deis
2016/06/30 02:15:36 open /var/run/secrets/deis/objectstore/creds/bucket: no such file or directory
Traceback (most recent call last):
File "/deploy.py", line 48, in <module>
download_file(tar_path)
File "/deploy.py", line 43, in download_file
subprocess.check_call(command)
File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['objstorage', '--storage-type=s3', 'download', 'home/metric-duckling:git-5d313d57/tar', 'apptar']' returned non-zero exit status 1
This is a showstopper for v2.1.0.