Install In-Service Software Updates Using the CLI

The procedure for applying an in-service update is similar to that of a reboot-required update, except that the host does not need to be locked and unlocked as part of applying the update.

Procedure

  1. Upload the update (patch).

    $ sudo sw-patch upload INSVC_HORIZON_SYSINV.patch
    INSVC_HORIZON_SYSINV is now available
    
  2. Confirm that the update is available.

    $ sudo sw-patch query
          Patch ID        RR  Release  Patch State
    ====================  ==  =======  ===========
    INSVC_HORIZON_SYSINV  N    nn.nn    Available
    
  3. Check the status of the hosts.

    $ sudo sw-patch query-hosts
      Hostname      IP Address    Patch Current  Reboot Required  Release  State
    ============  ==============  =============  ===============  =======  =====
    worker-0      192.168.204.24       Yes             No          nn.nn   idle
    controller-0  192.168.204.3        Yes             No          nn.nn   idle
    controller-1  192.168.204.4        Yes             No          nn.nn   idle
    
  4. Ensure that the original update files have been deleted from the root drive.

    After they are uploaded to the storage area, the original files are no longer required. You must use the command-line interface to delete them, in order to ensure enough disk space to complete the installation.

    $ rm </path/patchfile>
    

    Caution

    If the original files are not deleted before the updates are applied, the installation may fail due to a full disk.

  5. Apply the update (patch).

    $ sudo sw-patch apply INSVC_HORIZON_SYSINV
    INSVC_HORIZON_SYSINV is now in the repo
    

    The update state transitions to Partial-Apply:

    $ sudo sw-patch query
    Patch ID              RR  Release   Patch State
    ====================  ==  =======  =============
    INSVC_HORIZON_SYSINV  N    nn.nn   Partial-Apply
    

    As it is an in-service update, the hosts report that they are not ‘patch current’, but they do not require a reboot.

    $ sudo sw-patch query-hosts
    Hostname      IP Address      Patch Current  Reboot Required  Release  State
    ============  ==============  =============  ===============  =======  =====
    worker-0      192.168.204.24       No              No          nn.nn   idle
    controller-0  192.168.204.3        No              No          nn.nn   idle
    controller-1  192.168.204.4        No              No          nn.nn   idle
    
  6. Install the update on controller-0.

    $ sudo sw-patch host-install controller-0
    .............
    Installation was successful.
    
  7. Query the hosts to check status.

    $ sudo sw-patch query-hosts
    Hostname      IP Address    Patch Current  Reboot Required    Release  State
    ============  ==============  =============  ===============  =======  =====
    worker-0      192.168.204.24       No              No          nn.nn   idle
    controller-0  192.168.204.3        Yes             No          nn.nn   idle
    controller-1  192.168.204.4        No              No          nn.nn   idle
    

    The controller-1 host reports it is now ‘patch current’ and does not require a reboot, without having been locked or rebooted

  8. Install the update on worker-0 (and other worker nodes and storage nodes, if present)

    $ sudo sw-patch host-install worker-0
    ....
    Installation was successful.
    

    You can query the hosts to confirm that all nodes are now ‘patch current’, and that the update has transitioned to the Applied state.

    $ sudo sw-patch query-hosts
    Hostname      IP Address      Patch Current  Reboot Required  Release  State
    ============  ==============  =============  ===============  =======  =====
    worker-0      192.168.204.24       Yes             No          nn.nn   idle
    controller-0  192.168.204.3        Yes             No          nn.nn   idle
    controller-1  192.168.204.4        Yes             No          nn.nn   idle
    
    $ sudo sw-patch query
    Patch ID              RR  Release  Patch State
    ====================  ==  =======  ===========
    INSVC_HORIZON_SYSINV  N    nn.nn     Applied