• Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • kubernetes-plugin
    • 1.17.0

      Various examples in documentation and tests either set a hard-coded label for the podTemplate step, which is a race condition waiting to happen, or use ugly Groovy scripting with UUID.randomUUID(). These would better be simplified to use the standard Jenkins environment variable BUILD_TAG, which is unique per build and is also meaningful to humans trying to debug label assignments and node provisioning:

      podTemplate(label: BUILD_TAG, containers: [containerTemplate(name: 'ubuntu', image: 'ubuntu', command: 'sleep', args: 'infinity')]) {
          node (BUILD_TAG) {
              container('ubuntu') {
                  sh 'whoami'
              }
          }
      }
      

      For Declarative, there is no good reason to force the user to define the label at all (see Declarative tests using label: '...'); KubernetesDeclarativeAgent.label could simply be defaulted to something such as BUILD_TAG.

          [JENKINS-57830] Better default for PodTemplateStep.label

          Jesse Glick added a comment - - edited

          BUILD_TAG will not work, however, in cases where the job name is not a label K8s label. Thus this defaulting needs to use something like this, or perhaps simpler since the name could be any random string (it already gets uniquified) so long as it bears some resemblance to the job name.

          Jesse Glick added a comment - - edited BUILD_TAG will not work, however, in cases where the job name is not a label K8s label. Thus this defaulting needs to use something like this , or perhaps simpler since the name could be any random string (it already gets uniquified ) so long as it bears some resemblance to the job name.

          Jesse Glick added a comment -

          Note that pod names default to label.

          Jesse Glick added a comment - Note that pod names default to label .

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: