Uploaded image for project: 'Puppet Agent'
  1. Puppet Agent
  2. PA-1504

Update NSSM versioning script to change version calculation

    XMLWordPrintable

Details

    • Hide
      • New nssm.exe binaries should use the 3rd version number (z) in a git describe tag in x.y.z format
      • New nssm.exe binaries, when there is no 3rd version number in a tag, should use 0
      • New nssm.exe binaries will successfully replace older nssm.exe binaries when performing a puppet-agent MSI upgrade
      Show
      New nssm.exe binaries should use the 3rd version number (z) in a git describe tag in x.y.z format New nssm.exe binaries, when there is no 3rd version number in a tag, should use 0 New nssm.exe binaries will successfully replace older nssm.exe binaries when performing a puppet-agent MSI upgrade
    • Windows
    • Needs Assessment
    • Bug Fix
    • Hide
      - Due to build changes for NSSM in puppet-agent 1.10.7, when upgrading from any prior version to 1.10.7, nssm.exe would be removed, causing the pxp-agent service to no longer be functional. This issue has been corrected so that nssm.exe will no longer be removed on an upgrade.
      Show
      - Due to build changes for NSSM in puppet-agent 1.10.7, when upgrading from any prior version to 1.10.7, nssm.exe would be removed, causing the pxp-agent service to no longer be functional. This issue has been corrected so that nssm.exe will no longer be removed on an upgrade.
    • Needs Assessment

    Description

      NSSM versions should always be positively incremented to prevent the MSI installer from removing nssm.exe on upgrade.

      More details about the reasoning are in PE-22261, but to summarize:

      Schedule the RemoveExistingProducts action before the costing actions in version 2 of the MSI (as described on Stack Overflow).

      • The NSSM binary is versioned with https://github.com/puppetlabs/nssm/blob/master/version.cmd. The 1.10.7 release "rolled back" the version to 2.24.0.0 because we tagged our copy of NSSM with a new tag 2.24.1 to keep track of something "versioned" within the puppet-agent repo. Unfortunately the version.cmd script doesn't take into account the third (patch / z) number. The previous build that we used was based on Major.Minor.CommitsPastTag.JenkinsBuild - in other words, exactly at the 2.24 tag BUT the 74th build in the original authors Jenkins system, hence 2.24.0.74. Using a Jenkins build number is a fragile way of calculating version, and I think that we will have to change the versioning system to Major.Minor.Patch.CommitsPastTag.

      To do this requires modifying the version.cmd script in NSSM to produce a version from Major.Minor.CommitsPastTag.JenkinsBuildNumber to Major.Minor.Patch.CommitsPastTag

      Attachments

        Issue Links

          Activity

            People

              ethan Ethan Brown
              ethan Ethan Brown
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support