Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-63687

Configuring cloud through JCasC results in a duplicate configuration

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • kubernetes-plugin
    • None
    • Jenkins: 2.255-slim
      Kubernetes Plugin: 1.27.1
      JCasC: 1.43

      Originally reported to JCasC github repo.

      Using the following configuration:

            cloud: |
              jenkins:           clouds:           - kubernetes:               containerCap: 2
                    containerCapStr: "2"
                    jenkinsTunnel: "jenkins-agent:50000"
                    jenkinsUrl: "http://jenkins:8080"
                    name: "kubernetes"
                    namespace: "prod-app-001-jenkins"
                    serverUrl: "https://kubernetes.default"
                    templates:               - containers:                 - args: "^${computer.jnlpmac} ^${computer.name}"
                        command: "/bin/sh -c"
                        envVars:                   - containerEnvVar:                       key: "JENKINS_URL"
                            value: "http://jenkins.default.svc.cluster.local:8080"
                        image: "jenkins/jnlp-slave:3.27-1"
                        livenessProbe:                     failureThreshold: 0
                          initialDelaySeconds: 0
                          periodSeconds: 0
                          successThreshold: 0
                          timeoutSeconds: 0
                        name: "jnlp"
                        resourceLimitCpu: "2"
                        resourceLimitMemory: "2Gi"
                        resourceRequestCpu: "500m"
                        resourceRequestMemory: "256Mi"
                        workingDir: "/home/jenkins"
                      label: "cd-jenkins-slave "
                      name: "default"
                      nodeUsageMode: "NORMAL"
                      serviceAccount: "default"
                      yamlMergeStrategy: "override"
      
      

      Results in two clouds configurations named "kubernetes" instead of altering the existing one:

      clouds:   - kubernetes:       containerCap: 2
            containerCapStr: "2"
            jenkinsTunnel: "jenkins-agent:50000"
            jenkinsUrl: "http://jenkins:8080"
            name: "kubernetes"
            namespace: "prod-app-001-jenkins"
            serverUrl: "https://kubernetes.default"
            templates:       - containers:         - args: "^${computer.jnlpmac} ^${computer.name}"
                command: "/bin/sh -c"
                envVars:           - containerEnvVar:               key: "JENKINS_URL"
                    value: "http://jenkins.default.svc.cluster.local:8080"
                image: "jenkins/jnlp-slave:3.27-1"
                livenessProbe:             failureThreshold: 0
                  initialDelaySeconds: 0
                  periodSeconds: 0
                  successThreshold: 0
                  timeoutSeconds: 0
                name: "jnlp"
                resourceLimitCpu: "2"
                resourceLimitMemory: "2Gi"
                resourceRequestCpu: "500m"
                resourceRequestMemory: "256Mi"
                workingDir: "/home/jenkins"
              label: "cd-jenkins-slave "
              name: "default"
              nodeUsageMode: "NORMAL"
              serviceAccount: "default"
              yamlMergeStrategy: "override"
        - kubernetes:       containerCap: 10
            containerCapStr: "10"
            jenkinsTunnel: "jenkins-agent:50000"
            jenkinsUrl: "http://jenkins:8080"
            name: "kubernetes"
            namespace: "prod-app-001-jenkins"
            podLabels:       - key: "jenkins/jenkins-jenkins-slave"
              value: "true"
            serverUrl: "https://kubernetes.default"
            templates:       - containers:         - args: "^${computer.jnlpmac} ^${computer.name}"
                envVars:           - envVar:               key: "JENKINS_URL"
                    value: "http://jenkins.prod-app-001-jenkins.svc.cluster.local:8080"
                image: "jenkins/inbound-agent:4.3-4"
                name: "jnlp"
                resourceLimitCpu: "1"
                resourceLimitMemory: "512Mi"
                resourceRequestCpu: "500m"
                resourceRequestMemory: "256Mi"
                workingDir: "/home/jenkins"
              label: "jenkins-jenkins-slave "
              name: "default"
              nodeUsageMode: "NORMAL"
              podRetention: "never"
              serviceAccount: "default"
              yamlMergeStrategy: "override"
      
      

       

            Unassigned Unassigned
            alexgeek Alexander Perry
            Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: