This blog is authored by Deepa Pottangadi, Instructional Designer, Nikhil Bhatia, Staff Engineer, Manoj Sudheendra Member Technical Staff and Viswanathan Vaidyanathan, Member Technical Staff at Nutanix
Life Cycle Management (LCM) is a new feature in AOS 5.0 that enables you to update the software and firmware of your Nutanix clusters. LCM can be installed separately, and going forward, it will have its own release cycle. AOS 5.0 includes the first version of Life Cycle Management, or LCM 1.0.
The decoupling of updates from the core Prism functionality will enable you to more efficiently plan your infrastructure upgrade and update cycles.
The LCM modules released along with AOS 5.0 will enable you to:
Update LCM framework on all platforms
Detect the firmware version of BIOS/BMC/HBA/Disk on NX platforms
As LCM is decoupled from the AOS releases, we can deliver LCM updates more frequently. We expect to issue many new updates in the next few months, which will support a wider range of platforms, so stay tuned. Another important point to note is that LCM can update itself. The LCM framework is treated like any other entity, which can be detected and updated.
The following diagram shows the Inventory page. It displays all of the entities that can be updated using LCM. You will notice that this list includes an entity called Cluster software components. Click the See All link in Cluster software components section:
The drill-down into the Cluster software component section displays the LCM component. The LCM software version details are displayed as shown in the image below:
Let’s look at the high-level architecture of LCM:
Similar to most services on Nutanix, LCM follows a master/slave architecture. The master LCM selects one node at a time in the cluster to apply the updates. Before updating the master LCM node, it relinquishes its position to another slave LCM node in the cluster. LCM persists its configuration in Zookeeper, which is available to all of the nodes in the cluster.
LCM persists its internal state in a write ahead log (WAL), which is backed by Cassandra and also available on all nodes when needed (e.g., when the LCM master crashes and some other LCM slave needs to acquire leadership and continue the currently running LCM operation.)
LCM has three components:
AOS interface: This component is dependent on the AOS and is a versioned interface (the current version being 1.0) that interacts with the AOS and LCM modules.
Framework module: The framework is the central component, which on one hand, interacts with AOS, and on the other, runs the LCM modules. The LCM framework is the main module controlling LCM operations. The framework is organized as python module, and therefore, can be easily upgraded.
LCM modules: The LCM modules abstract the entity level details, such as how to perform inventories and updates on a given platform for a set of entities.
LCM operations are executed sequentially on the selected nodes in a cluster. These are irreversible operations and may require service downtime. Therefore, plan your tasks in advance before executing an LCM operation. Before performing an update, LCM runs a pre-check to verify the state of the cluster. If the check fails, the update operation is aborted.
All of the LCM operation logs are written to genesis.log and lcm_ops.out . The lcm_ops.out log file records all operations, including successes and failures. In the event of any errors, reach out to Nutanix support for assistance.
The video below shows you how to perform an inventory and update the disks on all nodes:
If you are new to Nutanix, we invite you to start the conversation on how the Nutanix Enterprise Cloud Platform can work for your IT environment. Send us a note at firstname.lastname@example.org or follow us on Twitter Nutanix and join the conversation in our community forums.
Disclaimer: This blog contains links to external websites that are not part of Nutanix.com. Nutanix does not control these sites and disclaims all responsibility for the content or accuracy of any external site. Our decision to link to an external site should not be considered an endorsement of any content on such site.