util

package
v1.25.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package util provides utility functions for host management.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetHostStatus

func GetHostStatus(status pb.HostStatus_HostStatus) inv_status.ResourceStatus

GetHostStatus returns the host status from a status resource.

func GetInstanceStatus

func GetInstanceStatus(status pb.InstanceStatus) inv_status.ResourceStatus

GetInstanceStatus returns the instance status from a status resource.

func InstanceStatusToHostStatusMsg

func InstanceStatusToHostStatusMsg(in *pb.UpdateInstanceStateStatusByHostGUIDRequest) *pb.HostStatus

InstanceStatusToHostStatusMsg converts instance status to host status message.

func IsHostNotProvisioned

func IsHostNotProvisioned(hostres *computev1.HostResource) bool

IsHostNotProvisioned checks if a host is not provisioned.

func IsHostUnderMaintain

func IsHostUnderMaintain(hostres *computev1.HostResource) bool

IsHostUnderMaintain checks if a host is under maintenance.

func IsHostUntrusted

func IsHostUntrusted(hostres *computev1.HostResource) bool

IsHostUntrusted checks if a host is untrusted.

func IsSameHost

func IsSameHost(
	originalHostres *computev1.HostResource,
	updatedHostres *computev1.HostResource,
	fieldmask *fieldmaskpb.FieldMask,
) (bool, error)

IsSameHost checks if two hosts are the same.

func IsSameHostStatus

func IsSameHostStatus(hostres *computev1.HostResource, status *pb.HostStatus) bool

IsSameHostStatus checks if two host statuses are the same.

func IsSameInstanceStateStatusDetail

func IsSameInstanceStateStatusDetail(
	in *pb.UpdateInstanceStateStatusByHostGUIDRequest,
	instanceInv *computev1.InstanceResource,
) bool

IsSameInstanceStateStatusDetail checks if two instance state status details are the same.

func MarshalHostCPUTopology

func MarshalHostCPUTopology(hostCPUTopology *pb.CPUTopology) (string, error)

MarshalHostCPUTopology marshals the host CPU topology to JSON.

func PopulateHostResourceWithNewSystemInfo

func PopulateHostResourceWithNewSystemInfo(systemInfo *pb.SystemInfo) (
	*computev1.HostResource, *fieldmaskpb.FieldMask, error,
)

PopulateHostResourceWithNewSystemInfo function gets on input System Information to be updated. It constructs a Host resource structure with an updated System Information. Fields not present in the System Information are automatically being set to 'nil'. Fieldmask for System Information is being produced for future update of the Host resource. NIC/Storage/USBs resources are handled in different functions.

func PopulateHostgpuWithGpuInfo

func PopulateHostgpuWithGpuInfo(gpu *pb.SystemGPU, host *computev1.HostResource) (*computev1.HostgpuResource, error)

PopulateHostgpuWithGpuInfo populates host GPU resource with GPU information.

func PopulateHostnicWithNetworkInfo

func PopulateHostnicWithNetworkInfo(nic *pb.SystemNetwork, hostRes *computev1.HostResource) (*computev1.HostnicResource, error)

PopulateHostnicWithNetworkInfo translates a system network into an host nic resource.

func PopulateHoststorageWithDiskInfo

func PopulateHoststorageWithDiskInfo(disk *pb.SystemDisk, hostres *computev1.HostResource) (
	*computev1.HoststorageResource, error,
)

PopulateHoststorageWithDiskInfo translates a system disk into an host storage resource.

func PopulateHostusbWithUsbInfo

func PopulateHostusbWithUsbInfo(usb *pb.SystemUSB, hostres *computev1.HostResource) (*computev1.HostusbResource, error)

PopulateHostusbWithUsbInfo translates a system usb into an host usb resource.

func PopulateIPAddressWithIPAddressInfo

func PopulateIPAddressWithIPAddressInfo(ip *pb.IPAddress, hostNic *computev1.HostnicResource) (
	*network_v1.IPAddressResource, error,
)

PopulateIPAddressWithIPAddressInfo translates an IPAddress into an IPAddress resource.

func ProtoEqualSubset

func ProtoEqualSubset[T proto.Message](a, b T, includedFields ...string) bool

ProtoEqualSubset compares two proto messages but only compares the specified fields. If no fields are specified, it compares the entire messages. If the includedFields are not valid, it falls back to a full comparison. If the includedFields are not valid for the messages, it falls back to a full comparison. TODO: move to inventory shared library.

func UpdateInstanceResourceStateStatusDetails

func UpdateInstanceResourceStateStatusDetails(
	in *computev1.InstanceResource,
	state pb.InstanceState,
	status pb.InstanceStatus,
	instanceStatusDetail string,
	instResID string,
) *computev1.InstanceResource

UpdateInstanceResourceStateStatusDetails updates instance resource state status details.

func UpdateInstanceStateStatusToUpdateHostStatus

func UpdateInstanceStateStatusToUpdateHostStatus(in *pb.UpdateInstanceStateStatusByHostGUIDRequest) *pb.UpdateHostStatusByHostGuidRequest

UpdateInstanceStateStatusToUpdateHostStatus converts update instance state status to update host status.

Types

type TenantIDResourceIDTuple

type TenantIDResourceIDTuple struct {
	TenantID   string
	ResourceID string
}

TenantIDResourceIDTuple represents a tuple of tenant ID and resource ID.

func NewTenantIDResourceIDTupleFromHost

func NewTenantIDResourceIDTupleFromHost(host *computev1.HostResource) TenantIDResourceIDTuple

NewTenantIDResourceIDTupleFromHost creates a new TenantIDResourceIDTuple from a host resource.

func (TenantIDResourceIDTuple) IsEmpty

func (hbk TenantIDResourceIDTuple) IsEmpty() bool

IsEmpty checks if the TenantIDResourceIDTuple is empty.

func (TenantIDResourceIDTuple) String

func (hbk TenantIDResourceIDTuple) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL