Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-7765

Need "engineered" way of determining whether certain hotfixes have been applied

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 2.0
    • Component/s: installer
    • Security Level: Public
    • Labels:

      Description

      There have been recent examples (http://www.couchbase.com/issues/browse/CBSE-399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=50618) where there has been some question whether or not a particular hotfix has been applied.

      Relying on the customer to put a certain text file in place is really not the same as being able to tell positively from the logs.

      This improvement should cover all aspects of possible hotfixes (Erlang/memcached/anything else)

        Issue Links

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

          Hide
          perry Perry Krug added a comment -

          Is the manifest.xml file already included in the collect_info output?

          Show
          perry Perry Krug added a comment - Is the manifest.xml file already included in the collect_info output?
          Hide
          perry Perry Krug added a comment -

          Phil, could you elaborate on how we can use this to determine which hotfixes have been applied? I'm also thinking about situations where we don't directly "upgrade" but rather are instructed to apply a direct Erlang fix or simply swap some binary files into place...

          Thanks!

          Show
          perry Perry Krug added a comment - Phil, could you elaborate on how we can use this to determine which hotfixes have been applied? I'm also thinking about situations where we don't directly "upgrade" but rather are instructed to apply a direct Erlang fix or simply swap some binary files into place... Thanks!
          Hide
          plabee Phil Labee (Inactive) added a comment -

          Every hot-fix produced by the build team is a zip file containing a README file, update scripts, and one or more zipfiles, one for each platform that the hot-fix addresses. For windows the zip is a EXE self-extracting zipfile.

          For example:

          Archive: couchbase-server-2.0.0-HOTFIX-MB-7992.zip
          Length Date Time Name
          -------- ---- ---- ----
          3299 04-15-13 16:07 HOTFIX-MB-7992/README.txt
          1769 04-15-13 12:37 HOTFIX-MB-7992/update.sh
          1019 04-15-13 16:04 HOTFIX-MB-7992/update.bat
          6292219 04-15-13 11:04 HOTFIX-MB-7992/centos-32.zip
          6341802 04-15-13 10:47 HOTFIX-MB-7992/centos-64.zip
          5667374 04-15-13 15:56 HOTFIX-MB-7992/ubuntu-32.zip
          5686628 04-15-13 10:03 HOTFIX-MB-7992/ubuntu-64.zip
          7126016 04-15-13 16:44 HOTFIX-MB-7992/windows-64.exe
          -------- -------
          31120126 8 files

          Running the update script will perform all necessary steps – stopping the server, backing up the files that are being replaced, unzipping the platform zipfile to replace the files, restarting the server, and other steps as may be required by the hot-fix.

          The update script will also add comments to the manifest file (e.g. /opt.couchbase/manifest.xml) indicating which hot-fix has been applied.

          No-one should be instructed to directly apply an Erlang fix or simply swap some binary files. If they do that, they are responsible for tracking the changes they make to their systems.

          Show
          plabee Phil Labee (Inactive) added a comment - Every hot-fix produced by the build team is a zip file containing a README file, update scripts, and one or more zipfiles, one for each platform that the hot-fix addresses. For windows the zip is a EXE self-extracting zipfile. For example: Archive: couchbase-server-2.0.0-HOTFIX- MB-7992 .zip Length Date Time Name -------- ---- ---- ---- 3299 04-15-13 16:07 HOTFIX- MB-7992 /README.txt 1769 04-15-13 12:37 HOTFIX- MB-7992 /update.sh 1019 04-15-13 16:04 HOTFIX- MB-7992 /update.bat 6292219 04-15-13 11:04 HOTFIX- MB-7992 /centos-32.zip 6341802 04-15-13 10:47 HOTFIX- MB-7992 /centos-64.zip 5667374 04-15-13 15:56 HOTFIX- MB-7992 /ubuntu-32.zip 5686628 04-15-13 10:03 HOTFIX- MB-7992 /ubuntu-64.zip 7126016 04-15-13 16:44 HOTFIX- MB-7992 /windows-64.exe -------- ------- 31120126 8 files Running the update script will perform all necessary steps – stopping the server, backing up the files that are being replaced, unzipping the platform zipfile to replace the files, restarting the server, and other steps as may be required by the hot-fix. The update script will also add comments to the manifest file (e.g. /opt.couchbase/manifest.xml) indicating which hot-fix has been applied. No-one should be instructed to directly apply an Erlang fix or simply swap some binary files. If they do that, they are responsible for tracking the changes they make to their systems.
          Hide
          dhaikney David Haikney added a comment -

          Hi Phil,

          The procedure you describe above sounds a good simplification for end-users applying the hot fix. For a supportability point of view we need a definitive and straightforward way of determining which particular hot fix(es) have been applied to an environment - some surefire way of knowing from browsing cbcollect_info output. There are a few ways this can be done and I defer to your judgment as which is the most convenient but some suggestions include updating the version file that we cat or creating a file within the couchbase install dir that appears in our ls output.

          Thanks,
          DH

          Show
          dhaikney David Haikney added a comment - Hi Phil, The procedure you describe above sounds a good simplification for end-users applying the hot fix. For a supportability point of view we need a definitive and straightforward way of determining which particular hot fix(es) have been applied to an environment - some surefire way of knowing from browsing cbcollect_info output. There are a few ways this can be done and I defer to your judgment as which is the most convenient but some suggestions include updating the version file that we cat or creating a file within the couchbase install dir that appears in our ls output. Thanks, DH
          Hide
          plabee Phil Labee (Inactive) added a comment -

          The diagnositic script that everyone runs when calling tech support reports lots of info, including the contents of the manifest file. By automatically adding comments to this file when an hot-fix is applied, we assure that this info is included in the diagnostic report.

          Show
          plabee Phil Labee (Inactive) added a comment - The diagnositic script that everyone runs when calling tech support reports lots of info, including the contents of the manifest file. By automatically adding comments to this file when an hot-fix is applied, we assure that this info is included in the diagnostic report.

            People

            • Assignee:
              plabee Phil Labee (Inactive)
              Reporter:
              perry Perry Krug
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes