# US 2019/0317751 A1 · Upgrade orchestrator

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0317751 A1
- Document ID: US20190317751A1
- Status: Published application
- Kind: A1
- Application number: 16/295,768
- Filed: 2019-03-07
- Published: 2019-10-17
- Earliest claimed: 2018-04-17
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: James Ramsay; Michael Healey
- Web page: https://patentgrep.com/patent/US20190317751A1

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The disclosure provides for systems and methods for performing upgrades in virtual environments. Some implementations are directed to using an upgrade service to provide pre-upgrade component detection and validation on host(s). A software package may be submitted to an existing software upgrade procedure of a host. The software package may include an upgrade executable that, when launched, provides a new software service, including initializing one or more new public-facing APIs to provide pre-upgrade host component detection and validation. Some implementations are directed to coordinating the upgrade of a first host using an upgrade service launched on another networked machine or second host. While running an upgrade service, the first host may make a request to the second host to coordinate the upgrade of components of the first host while the first host or a VM of the first host running the upgrade service is shut down.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A non-transitory computer readable medium comprising instructions executable by a processor of a machine, the non-transitory computer readable medium comprising:
instructions to launch an upgrade service on the machine;
instructions to receive, by the upgrade service, a request to continue an upgrade of a host being upgraded, wherein the host is in communication with the machine, the request is sent by a virtual machine of the host, and the request indicates components of the host to be upgraded by the upgrade service;
instructions to wait, after receiving the request, for the virtual machine of the host to power off;
instructions to coordinate, by the upgrade service, continuation of the upgrade on the host according to the components indicated in the request; and
instructions to cause, by the upgrade service, the virtual machine of the host to power on after the upgrade service completes the request to continue the upgrade of the host, wherein after powering on, the virtual machine validates that the continuation of the upgrade coordinated by the upgrade service was completed successfully.

### Claim 22 (depends on 21)

The non-transitory machine readable medium of claim 21, wherein the virtual machine of the host runs storage stack software and serves as a virtual controller of the host.

### Claim 23 (depends on 21)

The non-transitory machine readable medium of claim 21, wherein the instructions to wait for the virtual machine of the host to power off includes instructions to communicate with a virtual machine management server to determine when the virtual machine has powered off.

### Claim 24 (depends on 21)

The non-transitory machine readable medium of claim 21, further comprising instructions to receive an instance of the upgrade service from virtual machine of the host, wherein the instructions to launch the upgrade service on the machine launches the instance of the upgrade service received the virtual machine of the host.

### Claim 25 (depends on 21)

The non-transitory machine readable medium of claim 21, wherein the instructions to coordinate continuation of the upgrade on the host causes virtual machines running on a hypervisor of the host to be migrated to other hosts in a same cluster as the host and upgrades the hypervisor.

### Claim 26 (depends on 21)

The non-transitory machine readable medium of claim 21, wherein the instructions to coordinate continuation of the upgrade on the host instructs a baseboard management controller of the host to perform BIOS or firmware upgrades at the host.

### Claim 27

A method comprising:
receiving, from a virtual controller of a first host and by an upgrade orchestrator executing on a second host in a cluster with the first host, a request to continue an upgrade of the first host, the request indicating components of the first host to be upgraded; and
after receiving the request and after the virtual controller of the first host is powered off:
adjusting, by the upgrade orchestrator, virtual machine parameters of the virtual controller,
placing, by the upgrade orchestrator, a hypervisor of the first host in a maintenance mode,
upgrading, by the upgrade orchestrator and in accordance with the request, the hypervisor while in maintenance mode, BIOS of the first host, or firmware of the first host, and
causing, by the upgrade orchestrator and after the upgrading, a reboot of the first host and the hypervisor to exit maintenance mode, wherein the virtual controller powers on in conjunction with the hypervisor exiting maintenance mode and validates the upgrading by the upgrade orchestrator.

### Claim 28 (depends on 27)

The method of claim 27, further comprising upgrading, by the virtual controller, storage stack software on first host before sending the request to continue the upgrade to the upgrade orchestrator.

### Claim 29 (depends on 27)

The method of claim 27, further comprising
receiving, by the second host, an instance of an upgrade orchestrator from the first host; and
launching, by the second host, the instance of the upgrade orchestrator from the first host to serve as the upgrade orchestrator executing on the second host, prior to the receiving.

### Claim 30 (depends on 27)

The method of claim 27, wherein the upgrade orchestrator communicates with a virtual machine management server to determine that the virtual controller of the first host is powered off and to cause the hypervisor to enter and exit maintenance mode.

### Claim 31 (depends on 27)

The method of claim 27, wherein the upgrade orchestrator instructs a baseboard management controller of the first host when upgrading BIOS of the first host or firmware of the first host.

### Claim 32 (depends on 27)

The method of claim 27, wherein the upgrading by the upgrade orchestrator is part of a single workflow, and the reboot of the first host caused by the upgrade orchestrator is the only reboot of the first host involved in the upgrade of the first host.

### Claim 33 (depends on 27)

The method of claim 27, further comprising, after causing the reboot of the first host and the hypervisor to exit maintenance mode, a second virtual controller of the second host initiates an upgrade process for the second host to be coordinated by an upgrade orchestrator of the first host.

### Claim 34

A system comprising:
a first host having a first hypervisor, a first virtual controller running on the first hypervisor, and a first upgrade orchestrator launched by the first virtual controller; and
a second host, in a cluster with the first host, the second host having a second hypervisor, a second virtual controller running on the second hypervisor, and a second upgrade orchestrator launched by the second virtual controller,
wherein the first virtual controller initiates an upgrade process for the first host that includes:
the first virtual controller upgrading storage stack software on the first host,
the first virtual controller requesting that the second upgrade orchestrator continue the upgrade process for the first host while the first virtual controller is powered off,
the second upgrade orchestrator coordinating the upgrade process while the first virtual controller is powered off by adjusting or upgrading at least one of the first hypervisor, the first virtual controller, a BIOS of the first host, or a firmware of the first host, and
the first virtual controller, after powering back on, validating that the upgrade process coordinated by the second upgrade orchestrator completed successfully.

### Claim 35 (depends on 34)

The system of claim 34, wherein the first host has a baseboard management controller, and the second upgrade orchestrator instructs the baseboard management controller to upgrade the BIOS or the firmware.

### Claim 36 (depends on 34)

The system of claim 34, further comprising a virtual machine management server,
wherein the second upgrade orchestrator waits until the virtual machine management server indicates that the first virtual controller is powered off before coordinating the upgrade process, and the second upgrade orchestrator communicates with the virtual machine management server to cause the hypervisor to enter and exit a maintenance mode.

### Claim 37 (depends on 34)

The system of claim 34, wherein the second virtual controller initiates a second upgrade process for the second host after the upgrade process for the first host is completed, the another upgrade process including:
the second virtual controller requesting that the first upgrade orchestrator continue the second upgrade process while the second virtual controller is powered off,
the first upgrade orchestrator coordinating the second upgrade process while the second virtual controller is powered off by adjusting or upgrading at least one of the second hypervisor, the second virtual controller, a BIOS of the second host, or a firmware of the second host, and
the second virtual controller validating, after powering back on, that the second upgrade process coordinated by the first upgrade orchestrator completed successfully.
