diff --git a/doc/index.html b/doc/index.html index d5b61b91..dc1b30e3 100644 --- a/doc/index.html +++ b/doc/index.html @@ -215,6 +215,10 @@
MachineRole specifies what role a microservice needs to call this machine service
+| Name | Number | Description |
| MACHINE_ROLE_UNSPECIFIED | +0 | +MACHINE_ROLE_UNSPECIFIED is not specified |
+
| MACHINE_ROLE_EDITOR | +1 | +MACHINE_ROLE_EDITOR a microservice needs at least editor role to call this method |
+
| MACHINE_ROLE_VIEWER | +2 | +MACHINE_ROLE_VIEWER a microservice needs at least viewer role to call this method |
+
OptimisticLockingStrategy defines how optimistic locking should be handled.
It defaults to client side, which requires the UpdatedAt timestamp to be provided
InfraRoles are used to define which infra role a microservice must provide to call this method |
+ |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| machine_roles | +MachineRole | +.google.protobuf.MethodOptions | +51006 | +MachineRole are used to define which infra role a microservice must provide to call this method |
+ |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| project_roles | ProjectRole | @@ -2557,7 +2761,7 @@ips | bool | .buf.validate.RepeatedRules | -80048957 | +80058952 | Ips validates if a slice of ips in string form are valid |
prefixes | bool | .buf.validate.RepeatedRules | -80048956 | +80058951 | Prefixes validates if a slice of prefixes in string form are valid |
@@ -7020,13 +7224,6 @@ Hardware specs of this machine |
- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| bios | -MachineBios | -- | Bios details for this machine |
- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| allocation | MachineAllocation | @@ -7297,8 +7494,8 @@
| version | +address | string | - | Version the bios version |
+ Address of this ipmi device from outside in the form of <ip or hostname>:<port> |
| vendor | +mac | string | - | Vendor the bios vendor |
+ Mac address of the network interface of this ipmi device |
| date | +user | string | - | Date the bios date as string because every vendor has different ideas howto describe the date |
+ User of this ipmi device |
MachineBlockDevice contains details of a block device of this machine
- - -| Field | Type | Label | Description | |||
| name | +password | string | - | Name of this block device |
+ Password of this ipmi device |
|
| size | -uint64 | +interface | +string | - | Size of this block device in bytes |
+ Interface of this ipmi device |
MachineChassisIdentifyLEDState describes the identifier led state
- - -| Field | Type | Label | Description | ||||||||||||||||||||||||||||||||||||
| value | +version | string | - | Value the state of this chassis identify LED. empty means LED-OFF |
+ Version of this bmc device |
||||||||||||||||||||||||||||||||||
| description | +power_state | string | - | Description a description why this chassis identify LED is in the given state |
+ PowerState of this machine |
| state | -MachineState | -- | State the state of this machine. empty means available for all |
+ address | +string | +optional | +Address of the ipmi system of this machine |
||||||||||||||||||||||||||||||||
| description | +mac | string | -- | Description a description why this machine is in the given state |
+ optional | +Mac of the ipmi system of this machine |
|||||||||||||||||||||||||||||||||
| issuer | +user | string | -- | Issuer the user that changed the state |
+ optional | +User of the ipmi system of this machine |
+ |||||||||||||||||||||||||||||||||
| interface | +string | +optional | +Interface of the ipmi system of this machine |
| names | -string | +bmc | +MachineBMC | ++ | BMC contains bmc details |
+
| bios | +MachineBios | ++ | Bios contains bios details |
+ ||
| fru | +MachineFRU | ++ | Fru containers field replaceable unit details |
+ ||
| power_metric | +MachinePowerMetric | ++ | PowerMetric contains the power statistics of the machine |
+ ||
| power_supplies | +MachinePowerSupply | +repeated | +PowerSupplies contains details about all power supplies and their state |
+ ||
| led_state | +MachineChassisIdentifyLEDState | ++ | LEDState indicates the state of the indicator LED on this machine |
+ ||
| updated_at | +google.protobuf.Timestamp | ++ | UpdatedAt contains the date when this data was last updated |
+
MachineBios contains BIOS details of this machine
+ + +| Field | Type | Label | Description |
| version | +string | ++ | Version the bios version |
+
| vendor | +string | ++ | Vendor the bios vendor |
+
| date | +string | ++ | Date the bios date as string because every vendor has different ideas howto describe the date |
+
MachineBlockDevice contains details of a block device of this machine
+ + +| Field | Type | Label | Description |
| name | +string | ++ | Name of this block device |
+
| size | +uint64 | ++ | Size of this block device in bytes |
+
MachineChassisIdentifyLEDState describes the identifier led state
+ + +| Field | Type | Label | Description |
| value | +string | ++ | Value the state of this chassis identify LED. empty means LED-OFF |
+
| description | +string | ++ | Description a description why this chassis identify LED is in the given state |
+
MachineCondition describes the availability of this machine
+ + +| Field | Type | Label | Description |
| state | +MachineState | ++ | State the state of this machine. empty means available for all |
+
| description | +string | ++ | Description a description why this machine is in the given state |
+
| issuer | +string | ++ | Issuer the user that changed the state |
+
MachineDiskQuery disk specific machine queries
+ + +| Field | Type | Label | Description | ||||||||||||||||||||||||||||||||||||
| names | +string | repeated | Names of disks in this machine |
| Field | Type | Label | Description |
| chassis_part_number | +string | +optional | +ChassisPartNumber is the part number of the machine chassis |
+
| chassis_part_serial | +string | +optional | +ChassisPartSerial is the serial number of the machine chassis |
+
| board_mfg | +string | +optional | +BoardMFG is the short description of the mainboard |
+
| board_mfg_serial | +string | +optional | +BoardSerial is the serial number of the mainboard |
+
| board_part_number | +string | +optional | +BoardPartNumber is the part number of the mainboard |
+
| product_manufacturer | +string | +optional | +ProductManufacturer is the manufacturer of the machine |
+
| product_part_number | +string | +optional | +ProductPartNumber is the part number of the machine |
+
| product_serial | +string | +optional | +ProductSerial is the serial number of the machine |
+
MachineFRUQuery machine fru specific machine queries
@@ -7622,51 +8069,6 @@MachineIPMIQuery machine ipmi specific machine queries
- - -| Field | Type | Label | Description |
| address | -string | -optional | -Address of the ipmi system of this machine |
-
| mac | -string | -optional | -Mac of the ipmi system of this machine |
-
| user | -string | -optional | -User of the ipmi system of this machine |
-
| interface | -string | -optional | -Interface of the ipmi system of this machine |
-
MachineNetwork contains details which network should be created on a allocated machine
@@ -7917,6 +8319,91 @@MachinePowerMetric contains metrics of the power consumption of a machine
+ + +| Field | Type | Label | Description |
| average_consumed_watts | +float | ++ | AverageConsumedWatts shall represent the +average power level that occurred averaged over the last IntervalInMin +minutes. |
+
| interval_in_min | +float | ++ | IntervalInMin shall represent the time +interval (or window), in minutes, in which the PowerMetrics properties +are measured over. +Should be an integer, but some Dell implementations return as a float. |
+
| max_consumed_watts | +float | ++ | MaxConsumedWatts shall represent the +maximum power level in watts that occurred within the last +IntervalInMin minutes. |
+
| min_consumed_watts | +float | ++ | MinConsumedWatts shall represent the +minimum power level in watts that occurred within the last +IntervalInMin minutes. |
+
MachinePowerSupply contains details of the power supply of a machine
+ + +| Field | Type | Label | Description |
| health | +string | ++ | health of the powersupply |
+
| state | +string | ++ | state of the powersupply |
+
MachineProvisioningEvent is a event which has occurred during provisioning
@@ -8036,10 +8523,10 @@IPMI specific machine queries
BMC specific machine queries
MachineServiceBMCCommandRequest is the request payload for a machine bmc command
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine to send the command to |
+
| project | +string | ++ | Project of the machine |
+
| command | +MachineBMCCommand | ++ | Command to send to the bmc of the machine |
+
MachineServiceBMCCommandResponse is the response payload for a machine bmc command
+ + + + +MachineServiceCreateRequest is the request payload for a machine create request
@@ -8349,6 +8881,68 @@MachineServiceGetBMCRequest is the request payload for a machine getbmc request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine to get |
+
| project | +string | ++ | Project of the machine |
+
MachineServiceGetBMCResponse is the response payload for a machine getbmc request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine |
+
| bmc | +MachineBMCReport | ++ | BMC contains the BMC details of this machine |
+
MachineServiceGetRequest is the request payload for a machine get request
@@ -8763,6 +9357,83 @@MachineBMCCommand defines commands send to the BMC of the machine
+| Name | Number | Description |
| MACHINE_BMC_COMMAND_UNSPECIFIED | +0 | +MACHINE_BMC_COMMAND_UNSPECIFIED is not defined |
+
| MACHINE_BMC_COMMAND_ON | +1 | +MACHINE_BMC_COMMAND_ON Power on the machine |
+
| MACHINE_BMC_COMMAND_OFF | +2 | +MACHINE_BMC_COMMAND_OFF Power off the machine |
+
| MACHINE_BMC_COMMAND_RESET | +3 | +MACHINE_BMC_COMMAND_RESET Power reset the machine |
+
| MACHINE_BMC_COMMAND_CYCLE | +4 | +MACHINE_BMC_COMMAND_CYCLE Power cycle the machine |
+
| MACHINE_BMC_COMMAND_BOOT_TO_BIOS | +5 | +MACHINE_BMC_COMMAND_BOOT_TO_BIOS boot the machine into bios |
+
| MACHINE_BMC_COMMAND_BOOT_FROM_DISK | +6 | +MACHINE_BMC_COMMAND_BOOT_FROM_DISK boot the machine from hard disk |
+
| MACHINE_BMC_COMMAND_BOOT_FROM_PXE | +7 | +MACHINE_BMC_COMMAND_BOOT_FROM_PXE boot the machine from pxe |
+
| MACHINE_BMC_COMMAND_IDENTIFY_LED_ON | +8 | +MACHINE_BMC_COMMAND_IDENTIFY_LED_ON set identify led of the machine chassis to on |
+
| MACHINE_BMC_COMMAND_IDENTIFY_LED_OFF | +9 | +MACHINE_BMC_COMMAND_IDENTIFY_LED_OFF set identify led of the machine chassis to off |
+
| MACHINE_BMC_COMMAND_UPDATE_BMC_FIRMWARE | +10 | +MACHINE_BMC_COMMAND_UPDATE_BMC_FIRMWARE update the bmc firmware of this machine |
+
MachineLiveliness specifies the liveliness of a machine
Delete a machine |
+ |||
| BMCCommand | +MachineServiceBMCCommandRequest | +MachineServiceBMCCommandResponse | +BMCCommand send a command to the bmc of a machine |
+
| GetBMC | +MachineServiceGetBMCRequest | +MachineServiceGetBMCResponse | +GetBMC returns the BMC details of a machine |
+
MachineServiceGetRequest is the request payload for a machine get request
+MachineServiceBMCCommandRequest is the request payload for a machine bmc command
| uuid | string | - | UUID of the machine to get |
+ UUID of the machine to send the command to |
-
-
Command to send to the bmc of the machine
MachineServiceBMCCommandResponse is the response payload for a machine bmc command
+ + + + + +MachineServiceGetBMCRequest is the request payload for a machine getbmc request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine to get |
+
MachineServiceGetBMCResponse is the response payload for a machine getbmc request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine |
+
| bmc | +metalstack.api.v2.MachineBMCReport | ++ | BMC contains the BMC details of this machine |
+
MachineServiceGetRequest is the request payload for a machine get request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine to get |
+
MachineServiceListBMCRequest is the request payload for a machine listbmc request
+ + +| Field | Type | Label | Description |
| query | +metalstack.api.v2.MachineBMCQuery | ++ | Query to list one ore more bmcs of more machines |
+
MachineServiceListBMCResponse is the response payload for a machine listbmc request
+ + +| Field | Type | Label | Description |
| bmc_reports | +MachineServiceListBMCResponse.BmcReportsEntry | +repeated | +BMCReports contains maps the bmc report per machine uuid |
+
| Field | Type | Label | Description |
| key | +string | ++ |
|
+
| value | +metalstack.api.v2.MachineBMCReport | ++ |
|
+
MachineServiceListRequest is the request payload for a machine list request
@@ -9136,6 +9993,27 @@List all machines
BMCCommand send a command to the bmc of a machine
GetBMC returns the BMC details of a machine
ListBMC returns the BMC details of many machines
InfraRole defines the infrastructure role of the token owner
MachineRoles associates a machine uuid with the corresponding role of the token owner +TODO: decide if we need this map from machine.uuid->role, we could instead use the subject in the token instead
| Field | Type | Label | Description |
| key | +string | ++ |
|
+
| value | +MachineRole | ++ |
|
+
InfraRole defines the infrastructure role of the token owner
MachineRoles associates a machine uuid with the corresponding role of the token owner
| Field | Type | Label | Description |
| key | +string | ++ |
|
+
| value | +MachineRole | ++ |
|
+
InfraRole defines the infrastructure role of the token owner
MachineRoles associates a machine uuid with the corresponding role of the token owner
TokenServiceUpdateResponse is the response payload of a token update request
+| token | -Token | +key | +string | - | Token is the updated token |
+
|
+
| value | +TenantRole | ++ |
|
| Field | Type | Label | Description |
| token | +Token | ++ | Token is the updated token |
+
TokenType specifies different use cases of tokens
InfraRole defines the infrastructure role of the token owner |
+ |||
| machine_roles | +MethodServiceTokenScopedListResponse.MachineRolesEntry | +repeated | +MachineRoles defines the machine roles of the token owner |
+
| Field | Type | Label | Description |
| key | +string | ++ |
|
+
| value | +MachineRole | ++ |
|
+
UpdateBMCInfoRequest
+| Field | Type | Label | Description |
| partition | +string | ++ | Partition the partition id where metal-bmc wants to receive events |
+
| bmc_reports | +UpdateBMCInfoRequest.BmcReportsEntry | +repeated | +BMCReports contains maps the bmc report per machine uuid |
+
| Field | Type | Label | Description |
| key | +string | ++ |
|
+
| value | +metalstack.api.v2.MachineBMCReport | ++ |
|
+
UpdateBMCInfoResponse
+| Field | Type | Label | Description |
| updated_machines | +string | +repeated | +UpdatedMachines is a slice of machine uuids which where updated |
+
| created_machines | +string | +repeated | +CreatedMachines is a slice of machine uuids which where created |
+
WaitForMachineEventRequest
+ + +| Field | Type | Label | Description |
| partition | +string | ++ | Partition the partition id where metal-bmc wants to receive events |
+
WaitForMachineEventResponse
+ + +| Field | Type | Label | Description |
| bmc_command | +metalstack.api.v2.MachineBMCCommand | ++ | BMCCommand to execute against the bmc of the machine |
+
| machine_bmc | +metalstack.api.v2.MachineBMC | ++ | MachineBMC contains connection details of the machine to issue the bmcCommand to |
+
UpdateBMCInfo
WaitForMachineEvent is called by the metal-bmc and is returned with a bmc command to execute.
BootServiceBootRequest is called to get specified parameters to boot a machine with the given mac
+ + +| Field | Type | Label | Description |
| mac | +string | ++ | Mac address of the machine |
+
| partition | +string | ++ | Partition where this machine is located |
+
BootServiceBootResponse contains additional infos which are required to boot a machine
+ + +| Field | Type | Label | Description |
| kernel | +string | ++ | Kernel is the url to the linux kernel to boot |
+
| init_ram_disks | +string | +repeated | +Initial ram disk is the url to the initial ram disk to boot |
+
| cmdline | +string | +optional | +CMDLine contains kernel command line parameters to boot |
+
BootServiceDhcpRequest is called once a machine issues a dhcp request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine |
+
| partition | +string | ++ | Partition where this machine is located |
+
BootServiceDhcpResponse contains the response to a dhcp request
+ + + + + +BootServiceRegisterRequest is called from metal-hammer to register a machine with as much hardware details as possible
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of this machine |
+
| hardware | +metalstack.api.v2.MachineHardware | ++ | Hardware details of this machine |
+
| bios | +metalstack.api.v2.MachineBios | ++ | Bios details of this machine |
+
| bmc | +metalstack.api.v2.MachineBMC | ++ | BMC details of this machine |
+
| fru | +metalstack.api.v2.MachineFRU | ++ | FRU details of this machine |
+
| tags | +string | +repeated | +Tags of this machine |
+
| metal_hammer_version | +string | ++ | MetalHammer version this machine was bootet into |
+
| partition | +string | ++ | Partition where this machine is located |
+
BootServiceRegisterResponse response to a BootServiceRegisterResponse request
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of this machine |
+
| size | +string | ++ | Size is the calculated size from given hardware details |
+
| partition | +string | ++ | Partition of this machine |
+
BootServiceReportRequest is sent from metal-hammer to the api to report the outcome of the register
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of the machine to boot |
+
| console_password | +string | ++ | Console_Password |
+
| success | +bool | ++ | Success is set to true of the allocation succeeded |
+
| message | +string | ++ | Message contains additional information if installation failed |
+
BootServiceReportRequest is the response to a BootServiceReportRequest
+ + + + + +BootServiceSuperUserPasswordRequest this call returns the password for the machine superuser
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of this machine |
+
BootServiceSuperUserPasswordResponse the super user password is returned
+ + +| Field | Type | Label | Description |
| feature_disabled | +bool | ++ | FeatureDisable FIXME |
+
| super_user_password | +string | ++ | SuperUserPassword is the password of the superuser on the ipmi device |
+
BootServiceWaitRequest is called when a machine was registered and is waiting for allocation
+ + +| Field | Type | Label | Description |
| uuid | +string | ++ | UUID of this machine |
+
BootServiceWaitResponse response to a wait request
+ + +| Field | Type | Label | Description |
| allocation | +metalstack.api.v2.MachineAllocation | ++ | Allocation contains the machine.allocation to actually install the machine |
+
BootService is used for all boot related requests, either pixiecore or metal-hammer
Pixiecore
+| Method Name | Request Type | Response Type | Description |
| Dhcp | +BootServiceDhcpRequest | +BootServiceDhcpResponse | +Dhcp is the first dhcp request (option 97). A ProvisioningEventPXEBooting is fired |
+
| Boot | +BootServiceBootRequest | +BootServiceBootResponse | +Boot is called from pixie once the machine got the first dhcp response and ipxie asks for subsequent kernel and initrd |
+
| SuperUserPassword | +BootServiceSuperUserPasswordRequest | +BootServiceSuperUserPasswordResponse | +SuperUserPassword metal-hammer takes the configured root password for the bmc from metal-apiserver and configure the bmc accordingly |
+
| Register | +BootServiceRegisterRequest | +BootServiceRegisterResponse | +Register is called from metal-hammer after hardware inventory is finished, tells metal-apiserver all glory details about that machine |
+
| Wait | +BootServiceWaitRequest | +BootServiceWaitResponse stream | +Wait is a hanging call that waits until the machine gets allocated by a user |
+
| Report | +BootServiceReportRequest | +BootServiceReportResponse | +Report tells metal-apiserver installation was either successful or failed |
+