 c12cf2bc59
			
		
	
	c12cf2bc59
	
	
	
		
			
			Solved building and merge conflict problem. Signed-off-by: egoncalv <elisamaraaoki.goncalves@windriver.com> Change-Id: I9272fa6246bd60ace6a5f7ba64fdb4181b1e4721
		
			
				
	
	
		
			296 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			296 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 
 | |
| .. ffh1552920650754
 | |
| .. _installing-reboot-required-software-updates-using-the-cli:
 | |
| 
 | |
| ======================================================
 | |
| Install Reboot-Required Software Updates Using the CLI
 | |
| ======================================================
 | |
| 
 | |
| You can install reboot-required software updates using the CLI.
 | |
| 
 | |
| .. rubric:: |proc|
 | |
| 
 | |
| 
 | |
| .. _installing-reboot-required-software-updates-using-the-cli-steps-v1q-vlv-vw:
 | |
| 
 | |
| #.  Log in as user **sysadmin** to the active controller and source the script
 | |
|     /etc/platform/openrc to obtain administrative privileges.
 | |
| 
 | |
| #.  Verify that the updates are available using the :command:`sw-patch query`
 | |
|     command.
 | |
| 
 | |
|     .. parsed-literal::
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch query
 | |
| 
 | |
|         Patch ID                Patch State
 | |
|         =====================   ===========
 | |
|         |pn|-nn.nn_PATCH_0001   Available
 | |
|         |pn|-nn.nn_PATCH_0002   Available
 | |
|         |pn|-nn.nn_PATCH_0003   Available
 | |
| 
 | |
|     where *nn.nn* in the update \(patch\) filename is the |prod| release number.
 | |
| 
 | |
| #.  Ensure the original update files have been deleted from the root drive.
 | |
| 
 | |
|     After the updates 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.
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         $ 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.
 | |
| 
 | |
| #.  Apply the update.
 | |
| 
 | |
|     .. parsed-literal::
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch apply |pn|-nn.nn_PATCH_0001
 | |
|         |pn|-nn.nn_PATCH_0001 is now in the repo
 | |
| 
 | |
|     where nn.nn in the update filename is the |prod-long| release number.
 | |
| 
 | |
|     The update is now in the Partial-Apply state, ready for installation from
 | |
|     the software updates repository on the impacted hosts.
 | |
| 
 | |
| #.  Apply all available updates in a single operation, for example:
 | |
| 
 | |
|     .. parsed-literal::
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch apply --all
 | |
|         |pn|-|pvr|-PATCH_0001 is now in the repo
 | |
|         |pn|-|pvr|-PATCH_0002 is now in the repo
 | |
|         |pn|-|pvr|-PATCH_0003 is now in the repo
 | |
| 
 | |
|     In this example, there are three updates ready for installation from the
 | |
|     software updates repository.
 | |
| 
 | |
| #.  Query the updating status of all hosts in the cluster.
 | |
| 
 | |
|     You can query the updating status of all hosts at any time as illustrated
 | |
|     below.
 | |
| 
 | |
|     .. note::
 | |
|         The reported status is the accumulated result of all applied and
 | |
|         removed updates in the software updates repository, and not just the
 | |
|         status due to a particular update.
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch query-hosts
 | |
| 
 | |
|           Hostname      IP Address    Patch Current  Reboot Required  Release  State
 | |
|         ============  ==============  =============  ===============  =======  =====
 | |
|         worker-0      192.168.204.12       Yes              No          nn.nn   idle
 | |
|         controller-0  192.168.204.3        Yes              Yes         nn.nn   idle
 | |
|         controller-1  192.168.204.4        Yes              Yes         nn.nn   idle
 | |
| 
 | |
| 
 | |
|     For each host in the cluster, the following status fields are displayed:
 | |
| 
 | |
|     **Patch Current**
 | |
|         Indicates whether there are updates pending for installation or removal
 | |
|         on the host or not. If *Yes*, then all relevant updates in the software
 | |
|         updates repository have been installed on, or removed from, the host
 | |
|         already. If *No*, then there is at least one update in either the
 | |
|         Partial-Apply or Partial-Remove state that has not been applied to the
 | |
|         host.
 | |
| 
 | |
|         The **Patch Current** field of the :command:`query-hosts` command will
 | |
|         briefly report “Pending” after you apply or remove an update, until
 | |
|         that host has checked against the repository to see if it is impacted
 | |
|         by the patching operation.
 | |
| 
 | |
|     **Reboot Required**
 | |
|         Indicates whether the host must be rebooted or not as a result of one
 | |
|         or more updates that have been either applied or removed, or because it
 | |
|         is not 'patch current'.
 | |
| 
 | |
|     **Release**
 | |
|         Indicates the running software release version.
 | |
| 
 | |
|     **State**
 | |
|         There are four possible states:
 | |
| 
 | |
|         **idle**
 | |
|            In a wait state.
 | |
| 
 | |
|         **installing**
 | |
|            Installing \(or removing\) updates.
 | |
| 
 | |
|         **install-failed**
 | |
|            The operation failed, either due to an update error or something
 | |
|            killed the process. Check the patching.log on the node in question.
 | |
| 
 | |
|         **install-rejected**
 | |
|            The node is unlocked, therefore the request to install has been
 | |
|            rejected. This state persists until there is another install
 | |
|            request, or the node is reset.
 | |
| 
 | |
|         Once the state has gone back to idle, the install operation is complete
 | |
|         and you can safely unlock the node.
 | |
| 
 | |
|     In this example, **worker-0** is up to date, no updates need to be
 | |
|     installed and no reboot is required. By contrast, the controllers are not
 | |
|     'patch current', and therefore a reboot is required as part of installing
 | |
|     the update.
 | |
| 
 | |
| #.  Install all pending updates on **controller-0**.
 | |
| 
 | |
| 
 | |
|     #.  Switch the active controller services.
 | |
| 
 | |
|         .. code-block:: none
 | |
| 
 | |
|             ~(keystone_admin)]$ system host-swact controller-0
 | |
| 
 | |
|         Before updating a controller node, you must transfer any active
 | |
|         services running on the host to the other controller. Only then it is
 | |
|         safe to lock the host.
 | |
| 
 | |
|     #.  Lock the host.
 | |
| 
 | |
|         You must lock the target host, controller, worker, or storage, before
 | |
|         installing updates.
 | |
| 
 | |
|         .. code-block:: none
 | |
| 
 | |
|             ~(keystone_admin)]$ system host-lock controller-0
 | |
| 
 | |
|     #.  Install the update.
 | |
| 
 | |
|         .. code-block:: none
 | |
| 
 | |
|             ~(keystone_admin)]$ sudo sw-patch host-install <controller-0>
 | |
| 
 | |
|         .. note::
 | |
|             You can use the :command:`sudo sw-patch host-install-async`
 | |
|             <hostname> command if you are launching multiple installs in
 | |
|             parallel.
 | |
| 
 | |
|     #.  Unlock the host.
 | |
| 
 | |
|         .. code-block:: none
 | |
| 
 | |
|             ~(keystone_admin)]$ system host-unlock controller-0
 | |
| 
 | |
|         Unlocking the host forces a reset of the host followed by a reboot.
 | |
|         This ensures that the host is restarted in a known state.
 | |
| 
 | |
|     All updates are now installed on **controller-0**. Querying the current
 | |
|     update status displays the following information:
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch query-hosts
 | |
| 
 | |
|            Hostname      IP Address    Patch Current  Reboot Required  Release  State
 | |
|         ============  ==============  =============  ===============  =======  =====
 | |
|         compute-0     192.168.204.95       Yes             No          nn.nn   idle
 | |
|         compute-1     192.168.204.63       Yes             No          nn.nn   idle
 | |
|         compute-2     192.168.204.99       Yes             No          nn.nn   idle
 | |
|         compute-3     192.168.204.49       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
 | |
|         storage-0     192.168.204.37       Yes             No          nn.nn   idle
 | |
|         storage-1     192.168.204.90       Yes             No          nn.nn   idle
 | |
| 
 | |
| #.  Install all pending updates on **controller-1**.
 | |
| 
 | |
|     .. note::
 | |
|         For |prod| Simplex systems, this step does not apply.
 | |
| 
 | |
|     Repeat the previous step targeting **controller-1**.
 | |
| 
 | |
|     All updates are now installed on **controller-1** as well. Querying the
 | |
|     current updating status displays the following information:
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch query-hosts
 | |
| 
 | |
|            Hostname      IP Address    Patch Current  Reboot Required  Release  State
 | |
|         ============  ==============  =============  ===============  =======  =====
 | |
|         compute-0     192.168.204.95       Yes             No          nn.nn   idle
 | |
|         compute-1     192.168.204.63       Yes             No          nn.nn   idle
 | |
|         compute-2     192.168.204.99       Yes             No          nn.nn   idle
 | |
|         compute-3     192.168.204.49       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
 | |
|         storage-0     192.168.204.37       Yes             No          nn.nn   idle
 | |
|         storage-1     192.168.204.90       Yes             No          nn.nn   idle
 | |
| 
 | |
| #.  Install any pending updates for the worker or storage hosts.
 | |
| 
 | |
|     .. note::
 | |
|         For |prod| Simplex or Duplex systems, this step does not apply.
 | |
| 
 | |
|     All hosted application pods currently running on a worker host are
 | |
|     re-located to another host.
 | |
| 
 | |
|     If the **Patch Current** status for a worker or storage host is **No**,
 | |
|     apply the pending updates using the following commands:
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ system host-lock <hostname>
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch host-install-async <hostname>
 | |
| 
 | |
|     .. code-block:: none
 | |
| 
 | |
|         ~(keystone_admin)]$ system host-unlock <hostname>
 | |
| 
 | |
|     where <hostname> is the name of the host \(for example, **worker-0**\).
 | |
| 
 | |
|     .. note::
 | |
|         Update installations can be triggered in parallel.
 | |
| 
 | |
|         The :command:`sw-patch host-install-async` command \(**install
 | |
|         patches** on the Horizon Web interface\) can be run on all locked
 | |
|         nodes, without waiting for one node to complete the install before
 | |
|         triggering the install on the next. If you can lock the nodes at the
 | |
|         same time, without impacting hosted application services, you can
 | |
|         update them at the same time.
 | |
| 
 | |
|         Likewise, you can install an update to the standby controller and a
 | |
|         worker node at the same time. The only restrictions are those of the
 | |
|         lock: You cannot lock both controllers, and you cannot lock a worker
 | |
|         node if you do not have enough free resources to relocate the hosted
 | |
|         applications from it. Also, in a Ceph configuration \(with storage
 | |
|         nodes\), you cannot lock more than one of
 | |
|         controller-0/controller-1/storage-0 at the same time, as these nodes
 | |
|         are running Ceph monitors and you must have at least two in service at
 | |
|         all times.
 | |
| 
 | |
| #.  Confirm that all updates are installed and the |prod| is up-to-date.
 | |
| 
 | |
|     Use the :command:`sw-patch query` command to verify that all updates are
 | |
|     **Applied**.
 | |
| 
 | |
|     .. parsed-literal::
 | |
| 
 | |
|         ~(keystone_admin)]$ sudo sw-patch query
 | |
| 
 | |
|         Patch ID                    Patch State
 | |
|         =========================   ===========
 | |
|         |pn|-nn.nn_PATCH_0001       Applied
 | |
| 
 | |
|     where *nn.nn* in the update filename is the |prod| release number.
 | |
| 
 | |
|     If the **Patch State** for any update is still shown as **Available** or
 | |
|     **Partial-Apply**, use the **sw-patch query-hosts** command to identify
 | |
|     which hosts are not **Patch Current**, and then apply updates to them as
 | |
|     described in the preceding steps.
 | |
| 
 | |
| 
 | |
| .. rubric:: |result|
 | |
| 
 | |
| The |prod| is up to date now. All updates are installed.
 |