-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Minor
-
Component/s: kubernetes-plugin
-
Environment:Jenkins: 2.375.3
OS: Linux - 5.10.0-19-amd64
Java: 11.0.18 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
kubernetes:3927.v04b_e3630225d
kubernetes-client-api:6.4.1-215.v2ed17097a_8e9
kubernetes-credentials:0.10.0
steps to reproduce:
- add new kubernetes , add a new pod template in settings-configure clouds
- set yaml field in the new pod template
- start a new pipeline, to see if the yaml is merged into the provisioned pod.
Â
yaml field:
apiVersion: "v1" kind: "Pod" metadata: namespace: "qaci" spec: containers: - name: jnlp volumeMounts: - name: ssl-certs mountPath: /etc/ssl/certs readOnly: true volumes: - name: ssl-certs hostPath: path: /etc/ssl/certs
pipeline:
pipeline{
agent {
kubernetes {
inheritFrom "test"
yaml """
apiVersion: v1
kind: Pod
spec:
containers:
- name: python
image: docker.io/library/python:3.10
tty: true
resources:
limits:
cpu: 1
memory: 1Gi
requests:
cpu: 100m
memory: 128M
"""
}
}
stages{
stage('test') {
steps {
echo "hello"
}
}
}
}
expect:
jnlp container should have an extra mount named `ssl-certs`
Â
actual:
jnlp container does not have an extra mount named `ssl-certs`, only workspace mount is present.
Â
Agent pipeline-test-temp-branch-12-s4tms-g0lz4-lj9cw is provisioned from template pipeline-test_temp-branch_12-s4tms-g0lz4 --- apiVersion: "v1" kind: "Pod" metadata: annotations: buildUrl: "http://jenkins:8080/job/pipeline-test/job/temp-branch/12/" runUrl: "job/pipeline-test/job/temp-branch/12/" labels: jenkins: "slave" jenkins/label-digest: "0debecf5fa832b5f8b5e3dee52ddb51ad00b504c" jenkins/label: "pipeline-test_temp-branch_12-s4tms" name: "pipeline-test-temp-branch-12-s4tms-g0lz4-lj9cw" namespace: "qaci" spec: containers: - image: "docker.io/library/python:3.10" name: "python" resources: limits: cpu: "1" memory: "1Gi" requests: cpu: "100m" memory: "128M" tty: true volumeMounts: - mountPath: "/home/jenkins/agent" name: "workspace-volume" readOnly: false - env: - name: "JENKINS_SECRET" value: "********" - name: "JENKINS_TUNNEL" value: "jenkins-agent:50000" - name: "JENKINS_AGENT_NAME" value: "pipeline-test-temp-branch-12-s4tms-g0lz4-lj9cw" - name: "JENKINS_NAME" value: "pipeline-test-temp-branch-12-s4tms-g0lz4-lj9cw" - name: "JENKINS_AGENT_WORKDIR" value: "/home/jenkins/agent" - name: "JENKINS_URL" value: "http://jenkins:8080/" image: "jenkins/inbound-agent:3107.v665000b_51092-5" name: "jnlp" resources: requests: memory: "256Mi" cpu: "100m" volumeMounts: - mountPath: "/home/jenkins/agent" name: "workspace-volume" readOnly: false hostNetwork: false nodeSelector: kubernetes.io/os: "linux" restartPolicy: "Never" volumes: - emptyDir: medium: "" name: "workspace-volume"
extra volumeMounts is useful when injecting ca into the agent container, many service would require a ca mounted or installed, mounting it using hostPath would be a very convenient solution.