Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Lenovo® XClarity™ Administrator

Boosting Efficiency when Updating Firmware


Tips and Techniques

Version 3.4.0 and later

Authors: Shashank PB, Chase Davis, Jimmie Brundidge, David Drez, Christian Queen, Sandra Kipp

September 2021
© Copyright Lenovo 2021. All rights reserved.
Contents
Introduction ............................................................................................................................ 3
Managing the update repositories ......................................................................................... 4
Scheduling weekly (or daily) checks for new firmware ................................................ 4
Scheduling monthly checks for new XClarity Administrator patches ........................... 8
Managing update-compliance policies ................................................................................ 11
Copying update-compliance policies to create new policies with a few changes ...... 11
Globally changing the policy assignment ................................................................... 11
Using the latest firmware compliance policy .............................................................. 11
Compliance status for devices with missing targets .................................................. 12
Applying and activating updates ......................................................................................... 14
Delay firmware-update tasks after a management-server restart .............................. 14
Resolving a missing compliance target for a device .................................................. 14
Applying firmware updates without a compliance policy ............................................ 16
Applying the latest firmware in the repository ............................................................ 17
Applying updates using prioritized versus delayed activation .................................... 19
Minimizing server downtime during the update process ............................................ 20
Updating firmware updates on Lenovo ThinkSystem SR635 and SR655 servers .... 23
Using XClarity Administrator to apply ThinkAgile best practices ........................................ 26
Applying firmware to ThinkAgile HX Series appliances ............................................. 26
Applying firmware to ThinkAgile MX Series appliances ............................................. 29

Applying firmware to ThinkAgile VX Series appliances.............................................. 32


Using advanced features ..................................................................................................... 37
Customizing the firmware update process .................................................................. 37
Increasing the size of the updates repositories ..................................................... 37
Modifying the Firmware Maintenance Mode boot time ......................................... 37
Increasing the number of concurrent updates ....................................................... 38
Customizing the firmware-updates process .......................................................... 38
Using PowerShell scripts ............................................................................................. 40
Apply firmware update using a Compliance Policy ............................................... 41
Schedule a firmware update using a Compliance Policy ...................................... 42
Apply firmware update without policy .................................................................... 42
Using PowerShell to customize the firmware update Process .............................. 42

1
2
Introduction
This document aids the deployment of Lenovo XClarity Administrator by providing tips and
techniques to help IT administrators optimize its performance.
This paper describes features and enhancements in Lenovo XClarity Administrator v3.3.0 and later
that are available to efficiently update firmware in large-scaled managed environments. It presents
options to reduce downtime during the firmware-update process, gives guidance on choosing the
correct activation mode for your needs, and provides customization options based on your
environment.

3
Managing the update repositories
XClarity Administrator has three types of update repositories.

• Firmware repository is used to store the firmware update packages for devices.
• Windows device-driver repository is used to store Windows device-driver updates for
devices.
• Management-server updates repository is used to store XClarity Administrator patches and
supplemental packages (repository packs).
All three repositories share a disk space of 50 GB by default. For information about increasing the
disk size, see Increasing the size of the updates repositories.
Lenovo Support releases new firmware updates, repository packs, and XClarity Administrator
patches on a quarterly basis. You can download new updates automatically by creating a
scheduled job to run daily, weekly, or monthly. You can keep the update repositories up to date by
scheduling jobs to automatically download updates from the Lenovo Support website on a daily,
weekly, or monthly basis.

Scheduling weekly (or daily) checks for new firmware


Automatically download new updates each week (or day) by creating a scheduled job.
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Repository to display the Firmware Updates: Repository page.
2. Select the products for which you want to download the latest firmware packages.
3. From the toolbar, click the All Actions > Refresh and Download Selected-Latest Only
to display the Refresh Firmware Catalog and Download Packages dialog.

4. Click Schedule on the dialog to open the Schedule New Job dialog.
5. Enter a name for the job (for example, “Weekly Firmware Updates Download”).

4
6. Select Recurring for the schedule type.

5
7. Select or Weekly (or Daily), and then select how often and the days that you want to run
the job.

8. Select the time and time zone accordingly.

6
9. Select the desired start and end dates. Consider choosing an end date at least 6 months in
the future.

10. Click Create to create the scheduled job.


11. When the “Success” message displays, click Close.
12. Monitor the scheduled job by clicking Monitoring from the Lenovo XClarity Administrator
menu bar and then clicking Jobs to display the Jobs page. Then, click the Scheduled
Jobs tab.

7
Scheduling monthly checks for new XClarity Administrator patches
Automatically download new patches each month by creating a scheduled job.
1. From the Lenovo XClarity Administrator menu bar, click Administration, and then click
Update Management Server near the bottom of the menu to display the Update
Management Server page.
2. Select “Patch” in the Filter By drop-down list to list only XClarity Administrator patches.

3. From the toolbar, click the All Actions > Refresh Repository to display the Refresh
Management Server Update Catalog dialog.

8
4. Click Schedule on the dialog to open the Schedule New Job dialog.
5. Enter a name for the job (for example, “Refresh XClarity Patches”).

6. Select Recurring for the schedule type.

9
7. Select Monthly, and then select how often, the week and the day to run the job.

8. Select the time and time zone accordingly.

9. Select the desired start and end dates. Consider choosing an end date at least 6 months in
the future.

10. Click Create to create the scheduled job.


11. When the “Success” message displays, click Close.
12. Monitor the scheduled job by clicking Monitoring from the Lenovo XClarity Administrator
menu bar and then clicking Jobs to display the Jobs page. Then, click the Scheduled
Jobs tab.

10
Managing update-compliance policies
Lenovo recommends using compliance policies to manage firmware updates on managed devices.
The compliance policy can quickly determine if any devices are out of compliance.

Copying update-compliance policies to create new policies with a few


changes
XClarity Administrator uses compliance policies as the update recipe for a given set of managed
devices. A default compliance policy is provided for all supported devices.
You can also create custom policies based on available updates in the firmware-updates
repository. You can create a policy from scratch if the policy applies to only a single machine type
or small set of machine types. If the policy is intended to be a new global policy for all supported
devices, consider starting with a copy of the Lenovo-supplied policy, which you can then tailor to
your requirements while retaining the recommendations from Lenovo for devices that you are not
changing from the default policy settings.

Globally changing the policy assignment


XClarity Administrator automatically assigns a firmware-compliance policy to each device when
devices are initially managed. The policy that is assigned is the last-modified policy that can be
applied to the device. You can globally change the policy assignment for all applicable devices
after management or when multiple compatible policies exist for a device by choosing one of the
following options.

• Apply the policy to all applicable devices


• Apply the policy to all applicable devices with no policy assignment
• Apply the policy to only selected applicable devices and overwrite assigned policies
• Apply the policy to only selected applicable devices with no policy assignment
The last two options can be used with the filter function, the system selector, and the select-all
check-box on the Apply/Activate page. For example, to assign a policy to all devices in a
ThinkSystem servers named “TS1”, type “TS1” in the filter box, select the select-all checkbox in the
upper-left corner of the table, and then assign a policy using one of the Apply the policy to only
selected applicable devices options.

Using the latest firmware compliance policy


XClarity Administrator provides a firmware-compliance policy that is updated automatically based
on the latest firmware in the firmware-updates repository. As new firmware is imported or
downloaded into the repository, the Latest-firmware-in-repository compliance policy is updated with
the latest available firmware.

11
If you want a device to always use the latest available firmware, assign the Latest-firmware-in-
repository compliance policy to that device. Then, update the firmware repository with the latest
firmware. See Scheduling weekly (or daily) checks for new firmware for information about
scheduling weekly checks for new firmware. As new firmware is added into the repository, the
device reports “Not Compliant” so you know that the device is now down level.

Compliance status for devices with missing targets


When XClarity Administrator reports compliance status, it compares the installed firmware against
the compliance target and then uses the compliance rule to determine whether the device is
reported as compliant. If the compliance target is missing, the compliance check is skipped, and
the device is reported as compliant. This might be problematic if you are not aware that a
compliance target is missing.

To ensure that the compliance is always calculated, even for missing targets, perform the following
steps.
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Apply/Activate to display the Firmware Updates: Apply/Activate
page.
2. Click All Actions > Global Settings to display the Global Settings: Firmware Updates
dialog.

12
3. Select Report Non-Compliant for Firmware Without Target.

When the option is enabled, XClarity Administrator always reports non-compliance for
devices that have a missing compliance target. If you are not able to correct the missing
compliance target, see Resolving a missing compliance target for a device to enable
enhanced support for down-level devices.

13
Applying and activating updates

Delay firmware-update tasks after a management-server restart


When XClarity Administrator is restarted, inventory is collected for each managed device to ensure
that the management server has the current details of your hardware. The management server
also performs additional startup processing to optimize later use. After restarting XClarity
Administrator, wait for the inventory collection to complete before attempting to update firmware,
especially against multiple devices. Depending on the number of managed devices. inventory
collection takes approximately 30 – 45 minutes. Waiting for inventory collection to complete
ensures that more processing resources are available for your task. To determine whether
inventory collection is complete, monitor the XClarity System Resources panel on the Dashboard.
While the inventory-collection process is running, the load is typically “very high.” After completion,
the load drops to “very high” and stays there until another processor-intensive task is performed.

Before starting the firmware-update process, ensure that the target devices are not in the Offline
state. You can monitor the status from the device pages by clicking Hardware and then the device
type from the XClarity Administrator menu bar. If the status is “Offline” or if any devices have
connectivity issues, take the necessary actions to bring the devices online.

Resolving a missing compliance target for a device


When assigning firmware-update compliance policies to target devices, XClarity Administrator
associates a compliance-target firmware package with all options in the device, based on the
firmware packages that are included in the assigned policy. There are situations where XClarity
Administrator is unable to assign a target firmware package because the device does not present
enough information about the options in the device. When this situation occurs, you can use
XClarity Administrator to update firmware for the option using the following procedure. This
procedure generates additional options for each device based on the assigned compliance

14
policies. These additional options use generic names, and the installed version displays “Other
Available Option.”
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Apply/Activate to display the Firmware Updates: Apply/Activate page.
In the following example, a compliance policy is assigned to one device, but the compliance
target for the remaining two devices is missing from the table.

2. Click All Actions > Global Settings to display the Global Settings: Firmware Updates dialog.
3. Select Enhanced Support for Down-Level Devices, and then click OK.

Several device options are now listed in the table with “Other Available Packages” as the
installed version. Take note of this and use it as necessary.

15
Applying firmware updates without a compliance policy
Lenovo recommends using compliance policies when updating firmware on managed devices, as
they are very useful for maintaining firmware compliance. However, you can update firmware that
is later than the version currently installed on target devices without using a policy.
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Repository to display the Firmware Updates: Repository page.
2. Download the latest firmware update packages from the web.
a. Select the products for which you want to download the latest firmware packages.
b. From the toolbar, click the All Actions > Refresh and Download Selected-Latest
Only to display the Refresh Firmware Catalog and Download Packages dialog.

c. Click Refresh and Download Packages on the dialog.


Tip: You can schedule a reoccurring job to automatically download the latest firmware
packages on a regular basis (see Scheduling weekly (or daily) checks for new updates).
3. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Apply/Activate to display the Firmware Updates: Apply/Activate page
4. Click the Update without Policy tab.

5. Select the devices that you want to update.

6. From the toolbar, click the Perform Updates icon ( ) to display the Update Summary dialog.

16
7. Select the update rule and activation rule for this update, and then click Perform Update.

Applying the latest firmware in the repository


You can use the predefine compliance policy name “Latest-firmware-in-repository” to ensure that
your devices stay compliant with the latest firmware levels in the updates repository and to
maintain compliance. XClarity Administrator automatically updates this policy when new firmware
packages are added to the firmware-updates repository.
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Repository to display the Firmware Updates: Repository page.
2. Download the latest firmware packages from the web.
a. Select the products for which you want to download the latest firmware packages.

17
b. From the toolbar, click the All Actions > Refresh and Download Selected-Latest
Only to display the Refresh Firmware Catalog and Download Packages dialog.

c. Click Refresh and Download Packages on the dialog.


Tip: You can schedule a reoccurring job to automatically download the latest firmware
packages on a regular basis (see Scheduling weekly (or daily) checks for new updates).
3. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Apply/Activate to display the Firmware Updates: Apply/Activate page.
4. Click the Update with Policy tab.

5. For each applicable device, select “Latest-firmware-in-repository” from the drop-down menu in
the Assigned Compliance Policy column.

6. Select the devices that you want to update.

18
7. From the toolbar, click the Perform Updates icon ( ) to display the Update Summary dialog.
8. Select the update rule and activation rule for this update, and then click Perform Update.

Applying updates using prioritized versus delayed activation


When using XClarity Administrator to perform firmware updates, you can choose one of three
activation modes.
• Immediate activation. During the update process, the device might be restarted
automatically several times until the entire update process is complete. Ensure that you
quiesce all applications on the device before you proceed.
Use immediate activation when devices can be powered down safely without work
disruption.
1. Delayed activation. Some but not all update operations are performed. You must
manually restart the devices to continue the update process. Additional restarts are then
performed until the update operation completes.
If a device restarts for any reason, the delayed-update process completes.
This rule is supported for only servers and rack switches. CMMs and Flex switches are
immediately activated, regardless of this setting.
2. Prioritized activation. Firmware updates on the baseboard management controller are
activated immediately. All other firmware updates are activated the next time the device is
restarted. Additional restarts are then performed until the update operation completes. This
rule is supported only for servers.
If you want to update firmware without the required restart of the server, select prioritized or
delayed activation. In these modes, the server is not restarted automatically, and firmware update

19
is only pushed to hardware options that can be updated through the baseboard management
controller. Lenovo recommends using prioritized activation over delayed activation as this mode
activates firmware (such as XCC or IMM) that does not require a restart of the server.
Tip: Because most of the other hardware options require the management controller during their
update process, it is good practice to update the management controller before updating the other
hardware options in the server.

Minimizing server downtime during the update process


When performing a full update using immediate-activation mode, the update job can take up to 90
minutes for ThinkSystem servers and up to 2 hours for System x servers. During this time, the
server is powered off and on, which disrupts workloads on the server. You can perform some
necessary updates while the server is still in use without disrupting workloads. Then, when you are
ready to perform maintenance on the server, you can perform the remaining updates. Staging the
update can reduce the device downtime by up to 50%.

You can use the Hide devices with nonstageable firmware icon ( ) in the Filter By section of
the toolbar to hide hardware options that require a server restart to activate the firmware update.
You can then update push firmware on all hardware options that are listed in the table without
disrupting server workloads if selecting prioritized or delayed activation. When the update job is
complete, a server restart might be required to activate some firmware.
To stage the update process, complete the following steps.
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Repository to display the Firmware Updates: Repository page.

2. Ensure that the Hide devices with nonstageable firmware icon ( ) in the Filter By
section of the toolbar is disabled (grey).

3. Select the Expand All icon ( ) in the toolbar.


4. Select the server that requires the update.

20
5. Select All Actions > Perform Updates to display the Update Summary dialog.

6. Select Delayed Activation for the activation rule, and then click Perform Update to start
the update process.

21
7. Click Monitoring > Jobs to Monitor the update process from the Jobs page. When the
updates process is complete, the status changes from a progress bar to the “Complete”
state.

8. Click the Hide devices with nonstageable firmware icon ( ) in the Filter By section of
the toolbar to enable the option (green) and hide hardware options that require a server
restart to activate the firmware update.

9. Select the Expand icon ( ) in the toolbar.


10. Select the server that requires the update.
11. Select All Actions > Perform Updates.
12. Select Immediate Activation for the activation rule, and then select the expand icon to the
left of the server name and verify the components to be updated.

22
13. Click Perform Update to start the update process.
14. Click Monitoring > Jobs to Monitor the update process from the Jobs page. When the
updates process is complete, the status changes from a progress bar to the Complete
state.
If the job did not complete successfully, click the job link to display details about the job.

Updating firmware updates on Lenovo ThinkSystem SR635 and SR655


servers
You cannot update ThinkSystem SR635 and SR655 servers using the same process as the other
servers. To update these types of servers, you must use the bundle-firmware approach, where all
firmware-updates packages are packaged together based on the assigned compliance policy. This
process updates the baseboard management controller first, and then pushes a bundled image to
the device and applies the firmware, similar to the BOMC approach.
When using the bundled-firmware image approach, you can update a maximum of 10 servers at
one time. If more servers are selected, the remaining servers are queued. When an update
finishes, a server is selected from the queue.
1. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Apply / Activate to display the Firmware Updates: Apply / Activate
page.
2. Select the ThinkSystem SR635 or SR655 server that you want to update.
3. Ensure that the correct policy is assigned in the Assign Compliance Policy column, or
select a new policy from the drop-down list.

23
4. Click All Actions > Perform Updates form Bundle Image to display the Bundle Image
Update Summary dialog.

5. Click the expand icon to the left of the appliance name in the Compliance Target column,
and verify the components to be updated.

6. Click Perform Updates from Bundle Image to start the update process.

24
7. Click Monitoring > Jobs to Monitor the update process from the Jobs page. When the
updates process is complete, the status changes from a progress bar to the Complete
state.
If the job did not complete successfully, click the job link to display details about the job.

25
Using XClarity Administrator to apply ThinkAgile best practices

Applying firmware to ThinkAgile HX Series appliances


ThinkAgile HX solutions provide a simple, scalable hyper-converged infrastructure for small and
medium businesses. Each solution is preconfigured, pretested, and optimized to provide the
simplest way to bring a new HCI environment online. You can read more about this solution from
the Lenovo ThinkAgile HX Series datasheet.
The best recipe for ThinkAgile HX Series appliances is a list of recommended software and
firmware for supported servers that you can download and import into XClarity Administrator.
To import the best recipe for ThinkAgile HX Series appliances, complete the following seps.
1. Go to the Lenovo ThinkAgile HX Series Best Recipes webpage, and click the link for the
desired release.

2. Locate the table that applies to your appliance type.

26
3. For each firmware update, click the link in the Firmware Links column.

4. Download the firmware updates to a workstation that has a network connection to the
XClarity Administrator host by clicking the Download icon ( ) for each required file:
payload (.zip, .bin, .uxz, or tgz), metadata (xml), change history (chg), and readme (txt).
5. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Repository to display the Firmware Updates: Repository page.
6. Click the Individual Updates tab.

7. From the toolbar, click the Import icon ( ) to open the Import dialog.
8. Click Select Files.

27
9. Browse to the directory where you extracted the zip file, open the directory containing
firmware-update, select all required files, and click Open. The selected files are listed on
the Import dialog.

For each firmware update, you must import the metadata file (.xml) as well as the image or
payload file (.zip, .bin, .uxz, or tgz), change history file (.chg), and readme file (.txt). Any
files that are selected but not specified in the .xml file are discarded.
Attention:
a. Import only the required files. Do not import other files that might be found on the
firmware download websites.
b. If you do not include the XML file in the update package, the firmware update is
not imported.
c. If you do not include all required files that are associated with the firmware update,
the repository shows that the update is not downloaded, which means that it is
partially imported. You can import the missing files by selecting and importing
them.
10. From the Import dialog, click Import.
11. Click Close.

28
12. Click Monitoring > Jobs to Monitor the import process from the Jobs page. When the
process is complete, the status changes from a progress bar to the Complete state
If the job did not complete successfully, click the job link to display details about the job.

Applying firmware to ThinkAgile MX Series appliances


ThinkAgile MX solutions are based the Microsoft Azure Stack HCI as the hyperconverged
infrastructure (HCI) host operating system. Each solution is preconfigured, pretested, and
optimized to provide the simplest way to bring a new Azure Stack HCI environment online. You can
read more about this solution from the ThinkAgile MX Series datasheet.

The best recipe for ThinkAgile MX Series appliances provides a zip file for easy integration into
XClarity Administrator. The zip file includes the recommended firmware for the supported servers.

To import the best recipe for ThinkAgile MX Series appliances, complete the following seps.
1. Go to the Lenovo ThinkAgile MX Update Repository webpage, and click the link for the
desired release.

29
2. Download the best recipe to a workstation that has a network connection to the XClarity
Administrator host by clicking the link for the zip file that applies to your appliance.

3. Extract the zip file to a temporary directory.


4. From the Lenovo XClarity Administrator menu bar, click Provisioning, and then click
Firmware Updates: Repository to display the Firmware Updates: Repository page.
5. Click the Individual Updates tab.

6. From the toolbar, click the Import icon ( ) to open the Import dialog.
7. Click Select Files.

30
8. Browse to the directory where you extracted the zip file, open the directory containing
firmware-update, select all required files, and click Open. The selected files are listed on
the Import dialog.

For each firmware update, you must import the metadata file (.xml) as well as the image or
payload file (.zip, .bin, .uxz, or tgz), change history file (.chg), and readme file (.txt). Any
files that are selected but not specified in the .xml file are discarded.
Attention:

• Import only the required files. Do not import other files that might be found on the
firmware download websites.

• If you do not include the XML file in the update package, the firmware update is
not imported.

• If you do not include all required files that are associated with the firmware update,
the repository shows that the update is not downloaded, which means that it is
partially imported. You can import the missing files by selecting and importing
them.
9. From the Import dialog, click Import.
10. Click Close.

31
11. Click Monitoring > Jobs to Monitor the import process from the Jobs page. When the
process is complete, the status changes from a progress bar to the Complete state
If the job did not complete successfully, click the job link to display details about the job.

Applying firmware to ThinkAgile VX Series appliances


ThinkAgile VX solutions are powered by VMware vSAN. Each solution is preconfigured, pretested,
and optimized to provide the simplest way to bring a new VMware hyper-converged environment
online. You can read more about this solution from the ThinkAgile VX Series datasheet.

The best recipe for ThinkAgile VX Series appliances provides a repository pack for easy integration
into XClarity Administrator. The repository pack includes the recommended firmware and
compliance policy for the supported servers.

32
To import the best recipe for ThinkAgile VX Series appliances, complete the following seps.
1. Go to the Lenovo ThinkAgile VX Best Recipes webpage, and click the link for the desired
release.

2. Click the link for the repository pack that applies to your appliance.

33
3. Click the link for the repository pack in the Payload File column (typically the first row in
the table).

4. Download the best recipe to a workstation that has a network connection to the XClarity
Administrator host by clicking the Download icon ( ) in each row. There are four required
files: payload (tgz), metadata (xml), change history (chg), and readme (txt).
5. From the Lenovo XClarity Administrator menu bar, click Administration, and then click
Update Management Server near the bottom of the menu to display the Update
Management Server page.

6. From the toolbar, click the Import icon ( ) to open the Import dialog.
7. Click Select Files.

34
8. Browse to the directory where you downloaded the repository pack files, select all required
files, and click Open. The selected files are listed on the Import dialog.

For each firmware update, you must import the metadata file (.xml) as well as the image or
payload file (.zip, .bin, .uxz, or tgz), change history file (.chg), and readme file (.txt). Any
files that are selected but not specified in the .xml file are discarded.
Attention:
• Import only the required files. Do not import other files that might be found on the
firmware download websites.

• If you do not include the XML file in the update package, the firmware update is
not imported.

• If you do not include all required files that are associated with the firmware update,
the repository shows that the update is not downloaded, which means that it is
partially imported. You can import the missing files by selecting and importing
them.
9. From the Import dialog, click Import.
10. Click Close.

35
11. Click Monitoring > Jobs to Monitor the import process from the Jobs page. When the
process is complete, the status changes from a progress bar to the Complete state
If the job did not complete successfully, click the job link to display details about the job.

36
Using advanced features

Customizing the firmware update process


XClarity Administrator provides a set of REST APIs that you can use to customize your firmware
update experience, including increasing the number of concurrent updates, increasing the disk size
for updates repositories, and increasing or decreasing timeouts.

Increasing the size of the updates repositories


The default updates repositories size for firmware updates, XClarity Administrator patches, and
Windows device driver is 50 GB combined. If you increased the disk space of the XClarity
Administrator virtual appliance, you can also increase the default size of the updates repositories,
up to 90% of the total disk space.
You can increase size of the updates repositories using the updatesProfiles REST API by running
the following command from a command-line interface. Use the -d attribute to specify the property
and value, in JSON format, that you want to customize. Remember to include the quotation marks.
C:\Users\USERID>curl https://HOSTNAME/updatesProfile--user USERID:PASSWORD --
insecure -d '{"repositoryLimitinGB":"VALUE"}' -H 'Content-type:
application/json'

Where:
• HOSTNAME is the hostname or IP address of the XClarity Administrator management
server.
• USERID and PASSWORD are your XClarity Administrator credentials.
• VALUE is the size of the updates repositories, in GB

Modifying the Firmware Maintenance Mode boot time


When applying firmware updates to a server, Firmware Maintenance Mode might be needed to
update the selected firmware. During the Firmware Maintenance Mode process, XClarity
Administrator boots the operating system on the target server. When the operating system starts
its boot process, XClarity Administrator waits 10 minutes to complete the boot process. If the boot
process fails to complete in this time, the Firmware Maintenance Mode process fails with return
code 255. This failure might occur when the server has a significant number of attached hard
drives or large amounts of memory. To avoid this issue, you can increase the default time-out
value up to 90 minutes.
You can increase the timeout value using the updatesProfiles REST API by running the following
command from a command-line interface. Use the -d attribute to specify the property and value, in
JSON format, that you want to customize. Remember to include the quotation marks.
curl https://HOSTNAME/updatesProfile--user USERID:PASSWORD --insecure -d
'{"bootTimeout ":"VALUE”}' -H 'Content-type: application/json'

Where:
• HOSTNAME is the hostname or IP address of the XClarity Administrator management
server.
• USERID and PASSWORD are your XClarity Administrator credentials.
• VALUE is the amount of time allowed for the boot process to complete. This can be a
value from 10 – 90 minutes.

37
Increasing the number of concurrent updates
You can apply updates to a maximum of 50 devices at one time by default. If you select more than
50 devices, the remaining devices are queued. You can change the value from 10 – 200 devices.
Ensure that you provide enough resources to the management server to handle the additional
workload.
You can modify the number of concurrent updates using the applyEngineSettings REST API by
running the following command from a command-line interface. Use the -d attribute to specify the
property and value, in JSON format, that you want to customize. Remember to include the
quotation marks.
C:\Users\USERID>curl https://HOSTNAME/applyEngineSettings --user USERID:PASSWORD --
insecure
-H "Content-Type: application/json" -d '{"ApplyEngineSettings":
{"ThrottleLimit":VALUE }}'
-X PUT

Where:

• HOSTNAME is the hostname or IP address of the XClarity Administrator management


server.
• USERID and PASSWORD are your XClarity Administrator credentials.
• VALUE is the number of devices that you want to run concurrently.
Tip: You can retrieve the current value by running the following command.
C:\Users\USERID>curl https://HOSTNAME/applyEngineSettings --user USERID:PASSWORD -H
'Content-type: application/json' -k

Customizing the firmware-updates process


You can customize firmware-update settings using the updatesProfiles REST API by running the
following command from a command-line interface. Use the -d attribute to specify the property and
value, in JSON format, that you want to customize. Remember to include the quotation marks.
C:\Users\USERID>curl https://HOSTNAME/updatesProfile --user USERID:PASSWORD --
insecure
-H 'Content-type: application/json' -d '{CUSTOM_SETTINGS}'

Where:

• HOSTNAME is the hostname or IP address of the XClarity Administrator management


server.
• USERID and PASSWORD are your XClarity Administrator credentials.
• CUSTOM_SETTINGS is the list of properties and values, in JSON format, that you want to
customize, for example, -d '{"bmuTimeout":"30","bootTimeout":"30"}'. Remember
to include the quotation marks.

38
You can specify any of the following properties.
Property Description Values Default
CommonJobTimeout Amount of time, in minutes, that 45 – 180 90
a repository job can take before
the job is canceled
RefreshCatalogJobTimeout Amount of time, in minutes, that 3 – 90 60
a repository refresh catalog job
can take before the job is
canceled
ApplyJobTimeout Amount of time, in minutes, that 60 – 180 120
a firmware apply job can take
before the job is canceled
bmuTimeout Amount of time, in minutes, that 30 – 90 60
a firmware maintenance mode
job can take before the job is
canceled
bootTimeout Amount of time, in minutes, that 10 – 30 10
a firmware maintenance mode
job has to complete its OS boot
process before the job is
canceled
bomcTaskUpdateTimeout Amount of time, in minutes, that 45 – 120 75
a firmware update bundle job
can take before the job is
canceled
osDriverTaskTimeout Amount of time, in minutes, that 30 – 120 40
an OS Windows driver update
job can take before the job is
canceled.
alwaysUseOSForVendorUpdates Determines if vendor hardware True or False
options are updated using the False
OS tools
disableOptimizedBootDuringUpdate Determines if optimized boot is True or False
disabled during the update False
process
repositoryLimitinGB Amount of disk space, in GB, 50 – 50
allocated to firmware and (total
Windows driver updates space
repository minus 10
GB)

Tip: If you encounter errors or if the expected output is not returned, remove the -H 'Content-
type: Application/json' attribute if using a Windows Environment.

39
Using PowerShell scripts
Following section contains sample code for updating firmware using PowerShell scripting.
Notes:

• Ensure that a connection is established to the XClarity Administrator management server.


$password = ConvertTo-SecureString "PASSW0RD" -AsPlainText -Force
$ip = "192.0.2.0"

$cred = New-Object System.Management.Automation.PSCredential($userName,


$password)
$connection = Connect-LXCA $ip -Credential $cred -SkipCertificateCheck

• If you plan to upgrade firmware on multiple servers at the same time, it is highly
recommended to start the firmware-update cmdlet as a PowerShell job. This can be
achieved using -AsJob parameter when available.
function WaitToEndTasks ()
{
param (
[Parameter(Mandatory = $true)]
[System.Management.Automation.Job[]]$Tasks
)

$counter = 0
$sleepSeconds = 10
$isActive = $true
while ($isActive -eq $true)
{
$isActive = $false
foreach ($job in $Tasks)
{
if (($job.State -eq "Running") -or ($job.State -eq "NotStarted"))
{
$isActive = $true
}
}
if ($isActive -eq $true)
{
Write-Host ("Elapsed $($counter * $sleepSeconds) secs ...
Sleeping...")
$counter++
Start-Sleep -Seconds $sleepSeconds
}
}
}

• When a firmware update is started as a PowerShell job, is a best practice to wait for all
started jobs to complete before disconnecting from the XClarity Administrator server.

40
Apply firmware update using a Compliance Policy
This script applies firmware updates using a predefined compliance policy. It specifies the desired
compliance policy based on the policy name, assigns the policy to each server in list, and initiates
the firmware-update process. It waits for all started jobs to end, and then returns the status of each
subtask.
$servers = @("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB")

$policies = Get-LXCAUpdateCompliancePolicy

# select desired policy


$policy = ($policies | Where-Object {$_.Name -like 'xcc-upgrade'})

$jobs = @()

foreach ($server in $servers)


{
# assign the compliance policy to the server
$systemCompliance = Join-LXCAUpdateCompliancePolicy -Policy $policy `
-SystemUuid $server `
-SystemType RackServer

$jobs += Install-LXCAUpdatePackage -Compliance $systemCompliance `


-UpdateRule NotCompliantOnly `
-ActivationMode Immediate `
-OnErrorMode ContinueOnError `
-AsJob
}

# wait for all tasks to end:


WaitToEndTasks -Tasks $jobs

#check the state of the ended jobs


foreach ($job in $jobs)
{
Write-Host $job.Output
<# Sample output for a failed task:

Uuid : 3015DE7E2B6011E881940A94EF5F5B65
Type : RackServer
TotalTasks : 4
TotalSuccess : 3
TotalFailed : 1
Result : Failed
Message : An error occurred while performing the firmware update to the
primary management controller.
Components : {System Readiness Check, System Prerequisites, XCC (Primary),
Finalize}

#>
}

41
Schedule a firmware update using a Compliance Policy
This script schedules a firmware update to start at a desired date and time. It specifies the target
compliance policy, creates a schedule object, assigns the policy to each server in list, and
schedules the firmware update process.
$servers = @("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB")

$policies = Get-LXCAUpdateCompliancePolicy

# select desired policy


$policy = ($policies | Where-Object {$_.Name -like 'xcc-upgrade'})

$schedule = New-LXCAcheduleObj -ScheduleName "XCC upgrade" `


-OccurrenceDate (Get-Date).AddMinutes(10)

$results = @()

foreach ($server in $servers)


{
$systemCompliance = Join-LXCAUpdateCompliancePolicy -Policy $policy `
-SystemUuid $server `
-SystemType RackServer

$results += Install-LXCAUpdatePackage -Compliance $systemCompliance `


-UpdateRule NotCompliantOnly `
-ActivationMode Immediate `
-OnErrorMode ContinueOnError `
-Schedule $schedule
}

Apply firmware update without policy


This script applies a firmware update without using a compliance policy. It starts a firmware update
task for each server in list, wait for all tasks to end, and then returns the status of each job.
$servers = @("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB")

$jobs = @()

foreach ($server in $servers)


{
$jobs += Install-LXCApdatePackage `
-Uuid $server `
-SystemType RackServer `
-ComponentName "XCC" `
-FixId "lnvgy_fw_xcc_cdi376s-6.60_anyos_noarch" `
-ActivationMode Immediate `
-OnErrorMode ContinueOnError `
-AsJob
}

# wait for all tasks to end:


WaitToEndTasks -Tasks $jobs

#check the state of the ended jobs


foreach ($job in $jobs)
{
Write-Host $job.Output
}

Using PowerShell to customize the firmware update Process


As mentioned in Customizing the firmware update process, XClarity Administrator provides a set of
REST API that you can use to customize firmware-update process. Because there are no

42
PowerShell cmdlets to customize other aspects of the firmware-updates process, you can use the
Invoke-LXCARestMethod cmdlet to invoke a XClarity Administrator REST API from the PowerShell
interface.
The following examples demonstrate how use REST APIs in a PowerShell script.

• Retrieve updatesProfile data.


$result = Invoke-LXCARestMethod `
-ResourceUrl "updatesProfile" `
-Method GET `
-OutFile $PSScriptRoot\updatesProfileData.json

• Modify the value of one or more updatesProfile properties.


$requestBody = @{
bmuTimeout = 30
} | ConvertTo-Json

$result1 = Invoke-LXCARestMethod `
-ResourceUrl "updatesProfile" `
-Method PUT `
-RequestBody $requestBody `
-OutFile $PSScriptRoot\result1.txt

• Retrieve applyEngineSettings data.


$result = Invoke-LXCARestMethod `
-ResourceUrl "applyEngineSettings" `
-Method GET `
-OutFile $PSScriptRoot\applyEngineSettings.json

• Modify the value of one or more applyEngineSettings properties.


$requestBody = @{
ThrottleLimit = 55
} | ConvertTo-Json

$result = Invoke-LXCARestMethod `
-ResourceUrl "applyEngineSettings" `
-Method PUT `
-RequestBody $requestBody `
-OutFile $PSScriptRoot\result11.txt

43
LENOVO PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-
INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. This information
could include technical inaccuracies or typographical errors. Changes are made periodically to the information
herein; these changes will be incorporated in new editions of the publication. Lenovo may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.

Any references in this publication to non-Lenovo Web sites are provided for convenience only and
do not in any manner serve as an endorsement of those Web sites. The materials at those Web
sites are not part of the materials for this Lenovo product, and use of those Web sites is at your
own risk.
Any performance data contained herein was determined in a controlled environment. Therefore,
the result obtained in other operating environments may vary significantly. Some measurements
may have been made on development-level systems and there is no guarantee that these
measurements will be the same on generally available systems. Furthermore, some
measurements may have been estimated through extrapolation. Actual results may vary. Users of
this document should verify the applicable data for their specific environment.
Lenovo, the Lenovo logo, Flex System, and XClarity are trademarks or registered trademarks of
Lenovo in the United States, other countries, or both. Microsoft, Windows, and Windows Server
are trademarks of the Microsoft group of companies. Linux is a registered trademark of Linus
Torvalds. Other company, product, or service names may be trademarks or service marks of
others.
44

You might also like