-
Bug
-
Resolution: Fixed
-
Blocker
-
None
-
Jenkins version: 2.107.1
Plugin version: 1.5
Kubernetes version: Server Version: version.Info{Major:"1", Minor:"9+", GitVersion:"v1.9.6-gke.0", GitCommit:"cb151369f60073317da686a6ce7de36abe2bda8d", GitTreeState:"clean", BuildDate:"2018-03-21T19:01:20Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}
Jenkins version: 2.107.1 Plugin version: 1.5 Kubernetes version: Server Version: version.Info{Major:"1", Minor:"9+", GitVersion:"v1.9.6-gke.0", GitCommit:"cb151369f60073317da686a6ce7de36abe2bda8d", GitTreeState:"clean", BuildDate:"2018-03-21T19:01:20Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}
I have a Jenkins instance deployed via Helm on Friday that was spinning up pods just fine, and came back Monday to a system that couldn't start any. Configuration below:

The logs look like lots of this:
{{Apr 02, 2018 10:52:26 PM org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave _terminate}}
{{INFO: Terminating Kubernetes instance for agent standard-1-r0fd4}}
{{Apr 02, 2018 10:52:26 PM okhttp3.internal.platform.Platform log}}
{{INFO: ALPN callback dropped: HTTP/2 is disabled. Is alpn-boot on the boot class path?}}
{{Apr 02, 2018 10:52:26 PM org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher launch}}
{{WARNING: Error in provisioning; agent=KubernetesSlave name: standard-1-rxq2t, template=PodTemplate\{inheritFrom='', name='standard-1', namespace='', instanceCap=20, idleMinutes=30, label='standard-1 worker', nodeSelector='', nodeUsageMode=NORMAL, customWorkspaceVolumeEnabled=true, workspaceVolume=org.csanchez.jenkins.plugins.kubernetes.volumes.workspace.EmptyDirWorkspaceVolume@565b8276, volumes=[org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume@20a0b5ee, org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume@4bc6165a, org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume@41046566, org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume@372e4c46, org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume@12049088, org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume@690b3054], containers=[ContainerTemplate\{name='jnlp', image='gcr.io/myproj/cyrusbio-jnlp-minion:master', alwaysPullImage=true, workingDir='/home/jenkins', command='', args='', ttyEnabled=true, resourceRequestCpu='', resourceRequestMemory='', resourceLimitCpu='', resourceLimitMemory='', envVars=[KeyValueEnvVar [getValue()=tcp://127.0.0.1:2375, getKey()=DOCKER_HOST], KeyValueEnvVar [getValue()=/gcloud/credentials.json, getKey()=GOOGLE_APPLICATION_CREDENTIALS], KeyValueEnvVar [getValue()=/gcloud/credentials.json, getKey()=CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE]], livenessProbe=org.csanchez.jenkins.plugins.kubernetes.ContainerLivenessProbe@3c38cba6}, ContainerTemplate\{name='docker-engine', image='docker:dind', privileged=true, workingDir='', command='', args='', ttyEnabled=true, resourceRequestCpu='1', resourceRequestMemory='2Gi', resourceLimitCpu='2100m', resourceLimitMemory='3Gi', livenessProbe=org.csanchez.jenkins.plugins.kubernetes.ContainerLivenessProbe@b54246a}]}}}
{{io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://kubernetes.default/api/v1/namespaces/default/pods. Message: Pod "standard-1-rxq2t" is invalid: spec.containers[0].volumeMounts[6].mountPath: Required value. Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.containers[0].volumeMounts[6].mountPath, message=Required value, reason=FieldValueRequired, additionalProperties=\{})], group=null, kind=Pod, name=standard-1-rxq2t, retryAfterSeconds=null, uid=null, additionalProperties=\{}), kind=Status, message=Pod "standard-1-rxq2t" is invalid: spec.containers[0].volumeMounts[6].mountPath: Required value, metadata=ListMeta(resourceVersion=null, selfLink=null, additionalProperties=\{}), reason=Invalid, status=Failure, additionalProperties=\{}).}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.requestFailure(OperationSupport.java:472)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport.java:411)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:381)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:344)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleCreate(OperationSupport.java:227)}}
{{at io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleCreate(BaseOperation.java:756)}}
{{at io.fabric8.kubernetes.client.dsl.base.BaseOperation.create(BaseOperation.java:334)}}
{{at org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher.launch(KubernetesLauncher.java:105)}}
{{at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:288)}}
{{at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)}}
{{at java.util.concurrent.FutureTask.run(FutureTask.java:266)}}
{{at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}
{{at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}
{{at java.lang.Thread.run(Thread.java:748)}}{{Apr 02, 2018 10:52:26 PM org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave _terminate}}
{{INFO: Terminating Kubernetes instance for agent standard-1-rxq2t}}
{{Apr 02, 2018 10:52:26 PM okhttp3.internal.platform.Platform log}}
{{INFO: ALPN callback dropped: HTTP/2 is disabled. Is alpn-boot on the boot class path?}}
{{Apr 02, 2018 10:52:26 PM org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher launch}}
{{WARNING: Error in provisioning; agent=KubernetesSlave name: standard-1-2btdk, template=PodTemplate\{inheritFrom='', name='standard-1', namespace='', instanceCap=20, idleMinutes=30, label='standard-1 worker', nodeSelector='', nodeUsageMode=NORMAL, customWorkspaceVolumeEnabled=true, workspaceVolume=org.csanchez.jenkins.plugins.kubernetes.volumes.workspace.EmptyDirWorkspaceVolume@565b8276, volumes=[org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume@20a0b5ee, org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume@4bc6165a, org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume@41046566, org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume@372e4c46, org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume@12049088, org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume@690b3054], containers=[ContainerTemplate\{name='jnlp', image='gcr.io/myproj/cyrusbio-jnlp-minion:master', alwaysPullImage=true, workingDir='/home/jenkins', command='', args='', ttyEnabled=true, resourceRequestCpu='', resourceRequestMemory='', resourceLimitCpu='', resourceLimitMemory='', envVars=[KeyValueEnvVar [getValue()=tcp://127.0.0.1:2375, getKey()=DOCKER_HOST], KeyValueEnvVar [getValue()=/gcloud/credentials.json, getKey()=GOOGLE_APPLICATION_CREDENTIALS], KeyValueEnvVar [getValue()=/gcloud/credentials.json, getKey()=CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE]], livenessProbe=org.csanchez.jenkins.plugins.kubernetes.ContainerLivenessProbe@3c38cba6}, ContainerTemplate\{name='docker-engine', image='docker:dind', privileged=true, workingDir='', command='', args='', ttyEnabled=true, resourceRequestCpu='1', resourceRequestMemory='2Gi', resourceLimitCpu='2100m', resourceLimitMemory='3Gi', livenessProbe=org.csanchez.jenkins.plugins.kubernetes.ContainerLivenessProbe@b54246a}]}}}
{{io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://kubernetes.default/api/v1/namespaces/default/pods. Message: Pod "standard-1-2btdk" is invalid: spec.containers[0].volumeMounts[6].mountPath: Required value. Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.containers[0].volumeMounts[6].mountPath, message=Required value, reason=FieldValueRequired, additionalProperties=\{})], group=null, kind=Pod, name=standard-1-2btdk, retryAfterSeconds=null, uid=null, additionalProperties=\{}), kind=Status, message=Pod "standard-1-2btdk" is invalid: spec.containers[0].volumeMounts[6].mountPath: Required value, metadata=ListMeta(resourceVersion=null, selfLink=null, additionalProperties=\{}), reason=Invalid, status=Failure, additionalProperties=\{}).}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.requestFailure(OperationSupport.java:472)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport.java:411)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:381)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:344)}}
{{at io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleCreate(OperationSupport.java:227)}}
{{at io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleCreate(BaseOperation.java:756)}}
{{at io.fabric8.kubernetes.client.dsl.base.BaseOperation.create(BaseOperation.java:334)}}
{{at org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher.launch(KubernetesLauncher.java:105)}}
{{at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:288)}}
{{at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)}}
{{at java.util.concurrent.FutureTask.run(FutureTask.java:266)}}
{{at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}
{{at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}
{{at java.lang.Thread.run(Thread.java:748)}}{{Apr 02, 2018 10:52:26 PM org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave _terminate}}
Here's the pod template from my config.xml:
{{<org.csanchez.jenkins.plugins.kubernetes.PodTemplate>}}
{{ <inheritFrom></inheritFrom>}}
{{ <name>standard-1</name>}}
{{ <namespace></namespace>}}
{{ <privileged>false</privileged>}}
{{ <alwaysPullImage>false</alwaysPullImage>}}
{{ <instanceCap>20</instanceCap>}}
{{ <slaveConnectTimeout>100</slaveConnectTimeout>}}
{{ <idleMinutes>30</idleMinutes>}}
{{ <activeDeadlineSeconds>0</activeDeadlineSeconds>}}
{{ <label>standard-1 worker</label>}}
{{ <nodeSelector></nodeSelector>}}
{{ <nodeUsageMode>NORMAL</nodeUsageMode>}}
{{ <customWorkspaceVolumeEnabled>true</customWorkspaceVolumeEnabled>}}
{{ <workspaceVolume class="org.csanchez.jenkins.plugins.kubernetes.volumes.workspace.EmptyDirWorkspaceVolume">}}
{{ <memory>false</memory>}}
{{ </workspaceVolume>}}
{{ <volumes>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume>}}
{{ <mountPath>/home/jenkins/XXXX</mountPath>}}
{{ <secretName>XXXXXXXXX</secretName>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume>}}
{{ <mountPath>/docker-cfg</mountPath>}}
{{ <secretName>XXXXXXXXX</secretName>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume>}}
{{ <mountPath>/gcloud</mountPath>}}
{{ <secretName>XXXXXXXXX</secretName>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.volumes.SecretVolume>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume>}}
{{ <mountPath>/home/jenkins/workspace</mountPath>}}
{{ <memory>false</memory>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume>}}
{{ <mountPath>/tmp</mountPath>}}
{{ <memory>false</memory>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume>}}
{{ <mountPath>/var/lib/docker</mountPath>}}
{{ <memory>false</memory>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.volumes.EmptyDirVolume>}}
{{ </volumes>}}
{{ <containers>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate>}}
{{ <name>jnlp</name>}}
{{ <image>gcr.io/myproj/cyrusbio-jnlp-minion:master</image>}}
{{ <privileged>false</privileged>}}
{{ <alwaysPullImage>true</alwaysPullImage>}}
{{ <workingDir>/home/jenkins</workingDir>}}
{{ <command></command>}}
{{ <args></args>}}
{{ <ttyEnabled>true</ttyEnabled>}}
{{ <resourceRequestCpu></resourceRequestCpu>}}
{{ <resourceRequestMemory></resourceRequestMemory>}}
{{ <resourceLimitCpu></resourceLimitCpu>}}
{{ <resourceLimitMemory></resourceLimitMemory>}}
{{ <envVars>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar>}}
{{ <key>DOCKER_HOST</key>}}
{{ <value>tcp://127.0.0.1:2375</value>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar>}}
{{ <key>GOOGLE_APPLICATION_CREDENTIALS</key>}}
{{ <value>/gcloud/credentials.json</value>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar>}}
{{ <key>CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE</key>}}
{{ <value>/gcloud/credentials.json</value>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar>}}
{{ </envVars>}}
{{ <ports/>}}
{{ <livenessProbe>}}
{{ <execArgs></execArgs>}}
{{ <timeoutSeconds>0</timeoutSeconds>}}
{{ <initialDelaySeconds>0</initialDelaySeconds>}}
{{ <failureThreshold>0</failureThreshold>}}
{{ <periodSeconds>0</periodSeconds>}}
{{ <successThreshold>0</successThreshold>}}
{{ </livenessProbe>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate>}}
{{ <org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate>}}
{{ <name>docker-engine</name>}}
{{ <image>docker:dind</image>}}
{{ <privileged>true</privileged>}}
{{ <alwaysPullImage>false</alwaysPullImage>}}
{{ <workingDir></workingDir>}}
{{ <command></command>}}
{{ <args></args>}}
{{ <ttyEnabled>true</ttyEnabled>}}
{{ <resourceRequestCpu>1</resourceRequestCpu>}}
{{ <resourceRequestMemory>2Gi</resourceRequestMemory>}}
{{ <resourceLimitCpu>2100m</resourceLimitCpu>}}
{{ <resourceLimitMemory>3Gi</resourceLimitMemory>}}
{{ <envVars/>}}
{{ <ports/>}}
{{ <livenessProbe>}}
{{ <execArgs></execArgs>}}
{{ <timeoutSeconds>0</timeoutSeconds>}}
{{ <initialDelaySeconds>0</initialDelaySeconds>}}
{{ <failureThreshold>0</failureThreshold>}}
{{ <periodSeconds>0</periodSeconds>}}
{{ <successThreshold>0</successThreshold>}}
{{ </livenessProbe>}}
{{ </org.csanchez.jenkins.plugins.kubernetes.ContainerTemplate>}}
{{ </containers>}}
{{ <envVars/>}}
{{ <annotations/>}}
{{ <imagePullSecrets/>}}
{{</org.csanchez.jenkins.plugins.kubernetes.PodTemplate>}}
- is duplicated by
-
JENKINS-50801 Cannot provision Slave Pod: mountPath: Required value
-
- Closed
-
- links to