# US 12,224,900 B2 · Method and system for configuring BMC IP addresses of bare metal servers, medium and device

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

- Number: US 12,224,900 B2
- Document ID: US12224900B2
- Status: Granted
- Kind: B2
- Application number: 18/037,852
- Filed: 2021-12-30
- Published: 2024-01-04
- Granted: 2025-02-11
- Earliest claimed: 2021-01-08
- Assignees: Inspur Suzhou Intelligent Technology Co., Ltd.
- Applicants: Inspur Suzhou Intelligent Technology Co., Ltd.
- Inventors: Yashuai Lei
- Web page: https://patentgrep.com/patent/US12224900B2

## CPC

- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0843: {based on generic templates}
- H04L 41/0886: {Fully automatic configuration}
- H04L 61/5007: Internet protocol [IP] addresses
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for configuring a BMC IP address of a bare-metal server, comprising: deploying an Ironic service and a TFTP service on a management control platform, and registering bare-metal servers based on serial numbers of the bare-metal servers and corresponding BMC IP addresses; in response to a boot signal of the bare-metal server, fetching, by a PXE client, a PXE configuration file from the TFTP service to enable an IPA to be booted, reading an initialization configuration identifier in the PXE configuration file, and confirming whether to perform an initialization configuration for the booted bare-metal server; and in response to performing the initialization configuration for the booted bare-metal server, obtaining, by the IPA, the serial number of the booted bare-metal server from the Ironic service, and bare-metal-node information corresponding to the serial number, parsing out the BMC IP address from the bare- metal-node information, and configuring the BMC IP address.

## Claims

### Claim 1

A method for configuring a BMC (Baseboard Management Controller) IP (Internet Protocol) address of a bare-metal server, comprising following steps:
deploying an Ironic service and a TFTP (Trivial File Transfer Protocol) service on a management control platform, and registering a plurality of bare-metal servers based on respective serial numbers of the plurality of bare-metal servers and corresponding BMC IP addresses of the plurality of bare-metal servers;
in response to a boot signal of the bare-metal server, fetching, by a PXE (Pre-boot Execution Environment) client, a PXE configuration file from the TFTP service to enable an IPA (Ironic Python Agent) to be booted, reading, by the IPA, an initialization configuration identifier in the PXE configuration file, and confirming, by the IPA, whether to perform an initialization configuration for the booted bare-metal server based on the initialization configuration identifier, wherein the fetching comprises: fetching, by the PXE client, the PXE configuration file from the TFTP service, to obtain a path of a kernel corresponding to the bare-metal server to be booted and a path of a memory file system to be booted; booting, by the PXE client, the kernel corresponding to the booted bare-metal server through the path of the kernel, and the memory file system corresponding to the booted bare-metal server through the path of the memory file system; and
booting the IPA in the memory file system; and
in response to performing the initialization configuration for the booted bare-metal server, obtaining, by the IPA, the serial number of the booted bare-metal server from the Ironic service, and bare-metal-node information corresponding to the serial number of the booted bare-metal server, parsing out, by the IPA, the BMC IP address from the bare-metal-node information, and configuring, by the IPA, the BMC IP address to the booted bare-metal server.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the registering the plurality of bare-metal servers based on the respective serial numbers of the plurality of bare-metal servers and the corresponding BMC IP addresses of the plurality of bare-metal servers, comprises: registering the plurality of bare-metal servers, based on the respective serial numbers of the plurality of bare-metal servers, the BMC IP addresses corresponding to the respective serial numbers of the plurality of bare-metal servers, and an IPMI (Intelligent Platform Management Interface) netmask and an IPMI gateway address corresponding to the respective serial numbers of the plurality of bare-metal servers.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the parsing out, by the IPA, the BMC IP address from the bare-metal-node information, and configuring, by the IPA, the BMC IP address to the booted bare-metal server, comprises: parsing out the BMC IP address, the IPMI netmask and the IPMI gateway address from the bare-metal-node information, and configuring the BMC IP address, the IPMI netmask and the IPMI gateway address tothe booted bare-metal server by invoking a command of ipmitool.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the obtaining, by the IPA, the serial number of the booted bare-metal server from the Ironic service, comprises: 5obtaining hardware information of the booted bare-metal server through an Ironic interface, and obtaining the serial number of the booted bare-metal server from the hardware information.

### Claim 5 (depends on 4)

The method according to claim 4, wherein, the Ironic interface is obtained by invoking a command of dmidecode.

### Claim 6 (depends on 4)

The method according to claim 4, wherein, a field “Serial Number” is obtained from the hardware information, so as to obtain the serial number of the booted bare-metal server.

### Claim 7 (depends on 4)

The method according to claim 4, wherein, by invoking another Ironic extension interface, to obtain the bare-metal-node information corresponding to the serial number.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the confirming, by the IPA, whether to perform the initialization configuration for the booted bare-metal server based on the initialization configuration identifier, comprises: confirming whether a value of the initialization configuration identifier is True.

### Claim 9 (depends on 8)

The method according to claim 8, wherein, in response to that the value of the initialization configuration identifier is True, the initialization configuration is performed for the booted bare-metal server.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the management control platform is a control node of a cloud platform of an OpenStack, wherein the OpenStack is an open-source project for cloud-computing infrastructure.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the Ironic service is a bare-metal service in the OpenStack and is responsible for life cycle management for the bare-metal servers.

### Claim 12 (depends on 1)

The method according to claim 1, wherein the PXE configuration file is further configured with a uniform resource locator of the Ironic service.

### Claim 13 (depends on 12)

The method according to claim 12, wherein, after the IPA is booted, the IPA reads the initialization configuration identifier from parameters of a kernel corresponding to the bare-metal server, and the uniform resource locator of the Ironic service; and in response to that a value of the initialization configuration identifier is True, the initialization configuration is performed for the booted bare-metal server.

### Claim 14 (depends on 1)

The method according to claim 1, wherein the registering the plurality of bare-metal servers based on the respective serial numbers of the plurality of bare-metal servers and the corresponding BMC IP addresses of the plurality of bare-metal servers, comprises: registering the plurality of bare-metal servers through an Ironic extension interface.

### Claim 15 (depends on 1)

A computer device, comprising: a storage and one or more processors, wherein the storage stores computer-readable instructions, and in response to that the computer-readable instructions are executed by the one or more processors, the computer-readable instructions cause the one or more processors to perform the steps of the method according to claim 1.

### Claim 16 (depends on 1)

One or more non-transitory computer-readable storage medium storing computer-readable instructions, wherein, in response to that the computer-readable instructions are executed by one or more processors, the computer- readable instructions cause the one or more processors to perform the steps of the method according to claim 1.

### Claim 17 (depends on 1)

The method according to claim 1, wherein the PXE client is in Read-Only Memory of a network card of the bare-metal server.

### Claim 18 (depends on 1)

The method according to claim 1, wherein, after the registering, information for registering is saved in a database of the management control platform.

### Claim 19 (depends on 1)

The method according to claim 1, wherein the bare-metal server starts to be booted through a guide of network, and then the PXE client fetches the PXE configuration file from the TFTP service.
