• 2.459, 2.452.2

      1. I created an EC2 instance and subsequently generated an Amazon Machine Image (AMI) from this instance.
      1. I added the EC2 plugin to Jenkins to use this AMI. In the "New Cloud" section, I filled in the following fields:
        • Name
        • Amazon EC2 credentials
        • Region
        • EC2 Key Pair's Private Key
          Upon testing the connection, I received a success response. I then proceeded to the "Add AMI" section.
      1. In the "Add AMI" section, I filled in the following fields:
        • Description
        • AMI ID
        • Instance Type (T2XLarge)
        • Security group names
        • Remote FS root
        • Remote user
        • AMI Type
        • Labels
          I selected "Usage = Only build jobs with label expressions matching this node," and filled in Subnet IDs for VPC and Tags. I also checked "Associate Public IP" and chose "Private IP" as the Connection Strategy.
      1. When I clicked the "Save" button, I encountered an error message on my screen: "A problem occurred." Upon reviewing the system logs, I identified the error as follows:
        • java.lang.NullPointerException at jenkins.agents.CloudSet.doDoCreate
      1. I am using the following versions:
        • Jenkins: 2.414.1
        • Amazon EC2 plugin: Version1648.vf3d852e00486
        • Amazon Web Services SDK :: EC2: Version1.12.633-430.vf9a_e567a_244f
        • Amazon Web Services SDK :: Minimal: Version1.12.633-430.vf9a_e567a_244f
        • Pipeline: Step API: Version639.v6eca_cd8c04a_a_
        • Apache HttpComponents Client 4.x API: Version4.5.14-208.v438351942757
        • AWS Credentials: Version218.v1b_e9466ec5da_
        • Bouncycastle API: Version2.29
        • Command Agent Launcher: Version107.v773860566e2e
        • Credentials: Version1311.vcf0a_900b_37c2
        • Node Iterator API: Version49.v58a_8b_35f8363
        • SSH Credentials: Version308.ve4497b_ccd8f4
        • Trilead API: Version2.84.v72119de229b_7

      Could you please assist me in identifying what might be missing or causing this issue? Any guidance or support would be greatly appreciated.

          [JENKINS-72622] EC2 plugin cannot add a new cloud

          Andy Shinn added a comment -

          I'm struggling with this one and it is making it difficult to test a new AMI we want to use. Is there a known previous version that is working fine? Anyone found any workaround?

          Andy Shinn added a comment - I'm struggling with this one and it is making it difficult to test a new AMI we want to use. Is there a known previous version that is working fine? Anyone found any workaround?

          This only happens when creating a New Cloud and adding AMIs in one go.
          The root cause is:

          And the fact that EC2 plugin SlaveTemplate has a field with name type that overrides the hidden field of the CloudSet:

          The workaround is to create the Cloud first, without AMIs and save. And then configure the cloud and add AMIs.

          Allan BURDAJEWICZ added a comment - This only happens when creating a New Cloud and adding AMIs in one go. The root cause is: https://issues.jenkins.io/browse/JENKINS-70729 (change in Core that splits Cloud configuration page) And the fact that EC2 plugin SlaveTemplate has a field with name type that overrides the hidden field of the CloudSet: https://github.com/jenkinsci/jenkins/blob/jenkins-2.440.3/core/src/main/java/jenkins/agents/CloudSet.java#L245 https://github.com/jenkinsci/jenkins/blob/jenkins-2.440.3/core/src/main/resources/jenkins/agents/CloudSet/_new.jelly#L40 https://github.com/jenkinsci/ec2-plugin/blob/1648.vf3d852e00486/src/main/resources/hudson/plugins/ec2/SlaveTemplate/config.jelly#L60 The workaround is to create the Cloud first, without AMIs and save. And then configure the cloud and add AMIs.

          Not 100% sure if this is a bug for ec2 or core or both. The hidden attribute name type causes the regression and is quite generic. It could maybe be renamed to avoid conflict in the future, to for example cloudSetType for example. For ec2, changing the attribute name in SlaveTemplate could scope to all sorts of impact (persistence, casc, ...). So need to be careful if we go down that road.
          cc vlatombe WDYT, does this need a change in core, in ec2-plugin or both ?

          Allan BURDAJEWICZ added a comment - Not 100% sure if this is a bug for ec2 or core or both. The hidden attribute name type causes the regression and is quite generic. It could maybe be renamed to avoid conflict in the future, to for example cloudSetType for example. For ec2, changing the attribute name in SlaveTemplate could scope to all sorts of impact (persistence, casc, ...). So need to be careful if we go down that road. cc vlatombe WDYT, does this need a change in core, in ec2-plugin or both ?

          allan_burdajewicz I agree with you, I think we should change this in core to avoid hitting any conflict with plugins.

          Vincent Latombe added a comment - allan_burdajewicz I agree with you, I think we should change this in core to avoid hitting any conflict with plugins.

          Allan BURDAJEWICZ added a comment - Proposed https://github.com/jenkinsci/jenkins/pull/9198

          Andy Shinn added a comment -

          I din't see the PR merged. But in the latest LTS 2.452.1 this no longer appears to be an issue for me. I am able to save the EC2 agent and it is working now.

          Andy Shinn added a comment - I din't see the PR merged. But in the latest LTS 2.452.1 this no longer appears to be an issue for me. I am able to save the EC2 agent and it is working now.

          Elkhan added a comment -

          andyshinn Just tested. Still doesn't work.

          Amazon EC2 plugin Version: 

          1688.v8c07e01d657f

          Jenkins: 

          2.452.1 LTS

           

          Elkhan added a comment - andyshinn Just tested. Still doesn't work. Amazon EC2 plugin Version:  1688.v8c07e01d657f Jenkins:  2.452.1 LTS  

          Again, the scenario when this happen is when creating a EC2 Cloud and defining AMI Templates all in go and then hit Save. As a workaround, you can create the EC2 Cloud, hit save, and then define your AMI Templates and that should work.

          Allan BURDAJEWICZ added a comment - Again, the scenario when this happen is when creating a EC2 Cloud and defining AMI Templates all in go and then hit Save. As a workaround, you can create the EC2 Cloud, hit save, and then define your AMI Templates and that should work.

          Elkhan added a comment -

          allan_burdajewicz , Thanks a lot for the fix!

          Yes, I know it. I just wanted give a try after andyshinn 's comment.

          Since, It's merged and included 2.459 release and I see that the PR marked with "developer" label which has "Changes which impact plugin developers" description.

          Does it mean it can be included on the next LTS update rather than just as a small update to the current LTS version?

          Elkhan added a comment - allan_burdajewicz , Thanks a lot for the fix! Yes, I know it. I just wanted give a try after andyshinn 's comment. Since, It's merged and included 2.459 release and I see that the PR marked with "developer" label which has "Changes which impact plugin developers" description. Does it mean it can be included on the next LTS update rather than just as a small update to the current LTS version?

          It's been accepted and backported in the next LTS 2.452.2 https://github.com/jenkinsci/jenkins/pull/9305

          Allan BURDAJEWICZ added a comment - It's been accepted and backported in the next LTS 2.452.2 https://github.com/jenkinsci/jenkins/pull/9305

            allan_burdajewicz Allan BURDAJEWICZ
            sberfdalar Berfin
            Votes:
            4 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: