I tried this one but the pod still got terminated. 

def label = "jenkins-test-build-${UUID.randomUUID().toString()}"

podTemplate(label: label, *activeDeadlineSeconds: 3600,* yaml: """

apiVersion: v1

kind: Pod

metadata:

  labels:

    slave: jenkins-slave-testing-build

spec:

  containers:

  - name: slave

    image: '<ecr-repo>/jenkins-slave'

    tty: true

    command:

    - cat

  nodeSelector:

    xyz.com/app: cibuild

  tolerations:

  - effect: NoSchedule

    key: xyz.com/abc.xyz.com

    operator: Equal

    value: cibuild

"""

){

    node (label) {

      withEnv(['USER=jenkins']) {

        container('slave') {

          stage("test") {

            sh "echo test"

          }

        }

      }

    }

}


LOGS:

Oct 18, 2019 9:57:39 AM FINE 
> org.csanchez.jenkins.plugins.kubernetes.KubernetesComputer
> Computer KubernetesComputer name: 
> jenkins-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de717-0ct7q slave: null 
> completed task 
> PlaceholderExecutable:ExecutorStepExecution.PlaceholderTask{runId=testing#47,label=jenkins-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de717-0ct7q,context=CpsStepContext[5:node]:Owner[testing/47:testing
>  
> #47],cookie=2b863d15-f6f0-431f-8081-5eea211b992b,auth=null}
> Oct 18, 2019 9:57:39 AM INFO 
> org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave 
> _terminate
> Terminating Kubernetes instance for agent 
> jenkins-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de717-0ct7q
> Oct 18, 2019 9:57:39 AM FINE 
> org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud
> Building connection to Kubernetes kubernetes URL 
> https://kubernetes.default namespace cibuild
> Oct 18, 2019 9:57:39 AM FINE 
> org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud
> Connected to Kubernetes kubernetes URL https://kubernetes.default/
> Oct 18, 2019 9:57:39 AM INFO 
> org.csanchez.jenkins.plugins.kubernetes.pipeline.PodTemplateStepExecution$PodTemplateCallback
>  
> finished
> Removing pod template 
> jenkins-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de7171c-npz46 from cloud 
> kubernetes
> Oct 18, 2019 9:57:39 AM INFO 
> org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave 
> deleteSlavePod
> Terminated Kubernetes instance for agent 
> cibuild/jenkin-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de717-0ct7q
> Oct 18, 2019 9:57:39 AM INFO 
> org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave 
> _terminate
> Disconnected computer 
> jenkins-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de717-0ct7q
> Oct 18, 2019 9:57:39 AM FINE 
> org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper
> received deletion notice for 
> cibuild/jenkins-test-build-ae2e7dee-8f0f-48b8-8a3f-39fd1de717-0ct7q which 
> does not seem to correspond to any Jenkins agent 





On Friday, October 18, 2019 at 6:51:49 PM UTC+9, Carlos Sanchez wrote:
>
> Ah ok, for that one you need to set it at podTemplate level, not inside 
> the yaml
>
>
> On Fri, Oct 18, 2019, 11:38 drpm <[email protected] <javascript:>> wrote:
>
>> Hello, 
>>
>> Thank you for your reply. 
>>
>> It says here (https://github.com/jenkinsci/kubernetes-plugin) that pod 
>> will be deleted after the set activeDeadlineSeconds is passed or am I 
>> totally reading it wrong? 
>>
>>    - podRetention Controls the behavior of keeping slave pods. Can be 
>>    'never()', 'onFailure()', 'always()', or 'default()' - if empty will 
>>    default to deleting the pod after activeDeadlineSeconds has passed.
>>    - activeDeadlineSeconds If podRetention is set to 'never()' or 
>>    'onFailure()', pod is deleted after this deadline is passed.
>>
>> If this is totally wrong, can you recommend a right way to retain a pod 
>> even if the job is finished using this plugin? 
>>
>> On Friday, October 18, 2019 at 6:17:06 PM UTC+9, Carlos Sanchez wrote:
>>>
>>> the plugin will delete the kubernetes pod after the jenkins job is 
>>> completed
>>>
>>> Also I don't think activeDeadlineSeconds is what you want
>>> activeDeadlineSeconds: Optional duration in seconds the pod may be 
>>> active on the node relative to StartTime before the system will actively 
>>> try to mark it failed and kill associated containers. Value must be a 
>>> positive integer.
>>>
>>>
>>> On Fri, Oct 18, 2019 at 11:11 AM drpm <[email protected]> wrote:
>>>
>>>> Hello,
>>>>
>>>> For some reason, jenkins is not honoring *activeDeadlineSeconds* 
>>>> parameter when used in pipeline script. I'm using this kubernetes plugin 
>>>> for jenkins: https://wiki.jenkins.io/display/JENKINS/Kubernetes+Plugin 
>>>>
>>>> *Sample Pipeline Script*: 
>>>>
>>>>
>>>> def label = "jenkins-test-build-${UUID.randomUUID().toString()}"
>>>>
>>>> podTemplate(label: label, yaml: """
>>>>
>>>> apiVersion: v1
>>>>
>>>> kind: Pod
>>>>
>>>> metadata:
>>>>
>>>>   labels:
>>>>
>>>>     slave: jenkins-slave-testing-build
>>>>
>>>> spec:
>>>>
>>>>   activeDeadlineSeconds: 3600
>>>>
>>>>   containers:
>>>>
>>>>   - name: slave
>>>>
>>>>     image: '<ecr-repo>/jenkins-slave'
>>>>
>>>>     tty: true
>>>>
>>>>     command:
>>>>
>>>>     - cat
>>>>
>>>>   nodeSelector:
>>>>
>>>>     xyz.com/app: cibuild
>>>>
>>>>   tolerations:
>>>>
>>>>   - effect: NoSchedule
>>>>
>>>>     key: xyz.com/abc.xyz.com
>>>>
>>>>     operator: Equal
>>>>
>>>>     value: cibuild
>>>>
>>>> """
>>>>
>>>> ){
>>>>
>>>>     node (label) {
>>>>
>>>>       withEnv(['USER=jenkins']) {
>>>>
>>>>         container('slave') {
>>>>
>>>>           stage("test") {
>>>>
>>>>             sh "echo test"
>>>>
>>>>           }
>>>>
>>>>         }
>>>>
>>>>       }
>>>>
>>>>     }
>>>>
>>>> }
>>>>
>>>>
>>>>
>>>> I also checked the FINER logs 
>>>> for org.csanchez.jenkins.plugins.kubernetes and it appears to be getting 
>>>> the settings:
>>>>
>>>>
>>>> Combining pods, parent: Pod(apiVersion=v1, kind=Pod, 
>>>>> metadata=ObjectMeta(annotations=null, clusterName=null, 
>>>>> creationTimestamp=null, deletionGracePeriodSeconds=null, 
>>>>> deletionTimestamp=null, finalizers=[], generateName=null, 
>>>>> generation=null, 
>>>>> labels={slave=jenkins-slave-testing-build}, managedFields=[], name=null, 
>>>>> namespace=null, ownerReferences=[], resourceVersion=null, selfLink=null, 
>>>>> uid=null, additionalProperties={}), spec=PodSpec(
>>>>> *activeDeadlineSeconds=3600*, affinity=null, 
>>>>> automountServiceAccountToken=null, containers=[Container(args=[], 
>>>>> command=[cat], env=[], envFrom=[], image=<ecrrepo>/jenkins-slave, 
>>>>> imagePullPolicy=null, lifecycle=null, livenessProbe=null, name=slave, 
>>>>> ports=[], readinessProbe=null, resources=null, securityContext=null, 
>>>>> stdin=null, stdinOnce=null, terminationMessagePath=null, 
>>>>> terminationMessagePolicy=null, tty=true, volumeDevices=[], 
>>>>> volumeMounts=[VolumeMount(mountPath=null, mountPropagation=null, 
>>>>> name=docker-sock, readOnly=null, subPath=null, subPathExpr=null, 
>>>>> additionalProperties={})], workingDir=null, additionalProperties={})], 
>>>>> dnsConfig=null, dnsPolicy=null, enableServiceLinks=null, hostAliases=[], 
>>>>> hostIPC=null, hostNetwork=null, hostPID=null, hostname=null, 
>>>>> imagePullSecrets=[], initContainers=[], nodeName=null, nodeSelector={
>>>>> xyz.com/app=cibuild}, preemptionPolicy=null, priority=null, 
>>>>> priorityClassName=null, readinessGates=[], restartPolicy=null, 
>>>>> runtimeClassName=null, schedulerName=null, securityContext=null, 
>>>>> serviceAccount=null, serviceAccountName=null, shareProcessNamespace=null, 
>>>>> subdomain=null, terminationGracePeriodSeconds=null, 
>>>>> tolerations=[Toleration(effect=NoSchedule, key=xyz.com/abc.xyz.com, 
>>>>> operator=Equal, tolerationSeconds=null, value=cibuild, 
>>>>> additionalProperties={})], volumes=[Volume(awsElasticBlockStore=null, 
>>>>> azureDisk=null, azureFile=null, cephfs=null, cinder=null, configMap=null, 
>>>>> csi=null, downwardAPI=null, emptyDir=null, fc=null, flexVolume=null, 
>>>>> flocker=null, gcePersistentDisk=null, gitRepo=null, glusterfs=null, 
>>>>> hostPath=null, iscsi=null, name=null, nfs=null, 
>>>>> persistentVolumeClaim=null, 
>>>>> photonPersistentDisk=null, portworxVolume=null, projected=null, 
>>>>> quobyte=null, rbd=null, scaleIO=null, secret=null, storageos=null, 
>>>>> vsphereVolume=null, additionalProperties={})], 
>>>>> additionalProperties={idleMinutes=null}), status=null, 
>>>>> additionalProperties={})
>>>>
>>>>
>>>>  
>>>> but it's not working as expected since the pod is terminated right 
>>>> after the job is finished instead of waiting 3600s.
>>>>
>>>> Oct 18, 2019 8:58:18 AM INFO 
>>>> org.csanchez.jenkins.plugins.kubernetes.pipeline.PodTemplateStepExecution$PodTemplateCallback
>>>>  
>>>>> finished
>>>>> Removing pod template 
>>>>> jenkins-test-build-87928862-54e0-44c3-9be4-c68d414d4427-w9jpl from cloud 
>>>>> kubernetes
>>>>> Oct 18, 2019 8:58:18 AM INFO 
>>>>> org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper 
>>>>> eventReceived
>>>>> cibuild/jenkins-test-build-87928862-54e0-44c3-9be4-c68d414d44-d2878 
>>>>> was just deleted, so removing corresponding Jenkins agent
>>>>> Oct 18, 2019 8:58:18 AM INFO 
>>>>> org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave 
>>>>> deleteSlavePod
>>>>> Terminated Kubernetes instance for agent 
>>>>> cibuild/jenkins-test-build-87928862-54e0-44c3-9be4-c68d414d44-d2878
>>>>> Oct 18, 2019 8:58:18 AM INFO 
>>>>> org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave 
>>>>> _terminate
>>>>> Disconnected computer 
>>>>> jenkins-test-build-87928862-54e0-44c3-9be4-c68d414d44-d2878
>>>>
>>>>
>>>>
>>>> Thank you in advance for your help. 
>>>>
>>>> - drpm 
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Jenkins Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/jenkinsci-users/fd798b7c-39cf-41f4-b99b-8ebd5067dd6e%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/jenkinsci-users/fd798b7c-39cf-41f4-b99b-8ebd5067dd6e%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-users/691690fb-e9bf-446e-a55f-8883e47cde66%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jenkinsci-users/691690fb-e9bf-446e-a55f-8883e47cde66%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/dcb0a8b5-2f62-4f5c-8cc6-e362a0b8f820%40googlegroups.com.

Reply via email to