# US 9,519,472 B2 · Automation of virtual machine installation by splitting an installation into a minimal installation and customization

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

- Number: US 9,519,472 B2
- Document ID: US9519472B2
- Status: Granted
- Kind: B2
- Application number: 13/303,651
- Filed: 2011-11-23
- Published: 2013-05-23
- Granted: 2016-12-13
- Earliest claimed: 2011-11-23
- Assignees: Red Hat, Inc.
- Applicants: Ian Scott McLeod; Christopher Lalancette
- Inventors: Ian Scott McLeod; Christopher Lalancette
- Web page: https://patentgrep.com/patent/US9519472B2

## CPC

- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A server computing system receives a request to instantiate a virtual machine in a cloud. The request is associated with a template that specifies the operating system and software packages to be installed on the virtual machine. The system splits the installation of the virtual machine into creating a minimal operating system installation, customizing the minimal installation, and generating a disk image of the customized minimal installation. The system creates a minimal installation of the specified operating system, executes the minimal operating system in a virtual machine guest, and customizes the minimal installation of the operating system as specified in the template. The system generates a virtual machine disk image of the customized minimal installation that is a cloud generic virtual machine disk image an is configurable to instantiate the virtual machine in clouds provided by different cloud providers.

## Claims

### Claim 1

A method comprising:
receiving, by a processing device, a request to instantiate a virtual machine, wherein the request is associated with a software package to be installed on the virtual machine;
generating a minimal installation of an operating system, wherein the minimal installation comprises a virtual machine disk image;
modifying the virtual machine disk image, while the operating system is shut down, to allow remote access to the operating system for a known set of credentials;
instantiating the virtual machine disk image of the minimal installation of the operating system;
generating, by the processing device, a customized minimal installation of the operating system by installing the software package into the minimal installation of the operating system, while the operating system is running using the remote access for the known set of credentials;
modifying the virtual machine disk image, while the operating system is shut down, to remove the remote access for the known set of credentials while preserving additional remote access added during the customized minimal installation of the operating system; and
storing the virtual machine disk image comprising the customized minimal installation of the operating system.

### Claim 2 (depends on 1)

The method of claim 1,
wherein the virtual machine disk image of the customized minimal installation of the operating system is used for a next request for the same software package, wherein the virtual machine disk image is a cloud generic virtual machine disk image.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
enabling debug features during at least one of the generating the minimal installation or the generating the customized minimal installation to debug errors caused during at least one of the generating the minimal installation or the generating the customized minimal installation.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the minimal installation of the operating system comprises:
downloading installation media of the operating system;
generating an automated installation file for the operating system using native operating system tools;
generating modified installation media by including the automated installation file in the downloaded installation media; and
executing a native operating system installer to install the minimal operating system in a virtual machine guest using the modified installation media.

### Claim 5 (depends on 1)

The method of claim 1, wherein installing the software package comprises
executing a remote native operating system command to install the software package in the virtual machine.

### Claim 6 (depends on 1)

The method of claim 1, wherein the software package comprises a user package.

### Claim 7 (depends on 1)

The method of claim 1, wherein the virtual machine disk image is a cloud generic virtual machine disk image.

### Claim 8 (depends on 1)

The method of claim 1, wherein the request is associated with a template representing the operating system and the software package, and wherein generating the customized minimal installation of the operating system comprises identifying the software package using the template and installing the identified software package into the minimal installation of the operating system running in the virtual machine.

### Claim 9

A system comprising:
a memory; and
a physical processing device operatively coupled to the memory, the processing device to:
receive a request to instantiate a virtual machine, wherein the request is associated with a software package to be installed on the virtual machine;
generate a minimal installation of an operating system, wherein the minimal installation comprises a virtual machine disk image;
modify the virtual machine disk image, while the operating system is shut down, to allow remote access to the operating system for a known set of credentials;
instantiate the virtual machine disk image of the minimal installation of the operating system;
generate a customized minimal installation of the operating system by installing the software package into the minimal installation of the operating system, while the operating system is running using the remote access for the known set of credentials;
modify the virtual machine disk image, while the operating system is shut down, to remove the remote access for the known set of credentials while preserving additional remote access added during the customized minimal installation of the operating system; and
store the virtual machine disk image comprising the customized minimal installation of the operating system.

### Claim 10 (depends on 9)

The system of claim 9, wherein the memory is to store the virtual machine disk image of the customized minimal installation of the operating system to be used for a next request for the same software package.

### Claim 11 (depends on 9)

The system of claim 9, wherein the physical processing device is further to:
enable debug features during at least one of the generating the minimal installation or the generating the customized minimal installation to debug errors caused during at least one of the generating the minimal installation or the generating the customized minimal installation.

### Claim 12 (depends on 9)

The system of claim 9, wherein to generate the minimal installation of the operating system, the physical processing device is further to:
download installation media of the operating system;
generate an automated installation file for the operating system using native operating system tools;
generate modified installation media by including the automated installation file in the downloaded installation media; and
execute a native operating system installer to install the minimal operating system in a virtual machine guest using the modified installation media.

### Claim 13 (depends on 9)

The system of claim 9, wherein to generate the customized minimal installation of the operating system comprises the physical processing device to execute a remote native operating system command to install the software package in the virtual machine.

### Claim 14 (depends on 9)

The system of claim 9, wherein the software package comprises a user package.

### Claim 15

A non-transitory computer-readable medium including instructions that, when executed by a processing device, cause the processing device to:
receive, by the processing device, a request to instantiate a virtual machine, wherein the request is associated with a software package to be installed on the virtual machine;
generate a minimal installation of an operating system, wherein the minimal installation comprises a virtual machine disk image;
modify the virtual machine disk image, while the operating system is shut down to allow remote access to the operating system for a known set of credentials;
instantiate the virtual machine disk image of the minimal installation of the operating system;
generate, by the processing device, a customized minimal installation of the operating system by installing the software package into the minimal installation of the operating system, while the operating system is running using the remote access for the known set of credentials;
modify the virtual machine disk image, while the operating system is shut down, to remove the remote access for the known set of credentials while preserving additional remote access added during the customized minimal installation of the operating system; and
store the virtual machine disk image comprising the customized minimal installation of the operating system.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the software package comprises a user package.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein
the virtual machine disk image of the customized minimal installation of the operating system is used for a next request for the same software package.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the processing device is further to:
enable debug features during at least one of the generating the minimal installation or the generating the customized minimal installation to debug errors caused during at least one of the generating the minimal installation or the generating the customized minimal installation.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein to generate the minimal installation of the operating system, the processing device is further to:
download installation media of the operating system;
generate an automated installation file for the operating system using native operating system tools;
generate modified installation media by including the automated installation file in the downloaded installation media; and
execute a native operating system installer to install the minimal operating system in a virtual machine guest using the modified installation media.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the installing the identified software package into the minimal installation of the operating system comprises the processing device to
execute a remote native operating system command to install the software package in the virtual machine guest.
