Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockDevice ¶
type BlockDevice struct { // Block device name (path). Name string `json:"name"` // Size in bytes. Size int64 `json:"size"` // Whether the device is a rotational disk. IsRotational bool `json:"rotational"` // Model (optional). Model string `json:"model,omitempty"` // Serial number (optional). Serial string `json:"serial,omitempty"` // WWN (optional). WWN string `json:"wwn,omitempty"` }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
An Ironic client required for the agent to operate.
type ConfigDrive ¶
type ConfigDrive struct { // User data (typically an Ignition script). UserData string }
type Inventory ¶
type Inventory struct { // Information about the current boot. BootInfo BootInfo `json:"boot"` // List of block devices. BlockDevices []BlockDevice `json:"disks"` // List of network interfaces. NetworkInterfaces []NetworkInterface `json:"interfaces"` // Memory information Memory Memory `json:"memory"` // Processors information. Processors Processors `json:"cpu"` // System vendor information. SystemVendor SystemVendor `json:"system_vendor"` // BMC address (e.g. via ipmitool) - v4. BMCAddressV4 string `json:"bmc_address,omitempty"` // BMC address (e.g. via ipmitool) - v6. BMCAddressV6 string `json:"bmc_v6address,omitempty"` }
Shorter version of the IPA inventory defined in https://docs.openstack.org/ironic-python-agent/latest/admin/how_it_works.html#hardware-inventory
type IronicAgent ¶
type NetworkInterface ¶
type NetworkInterface struct { // Interface name. Name string `json:"name"` // MAC address. MACAddress string `json:"mac_address"` // The current IPv4 address (if any). IPv4Address string `json:"ipv4_address,omitempty"` // The current IPv6 address (if any). IPv6Address string `json:"ipv6_address,omitempty"` // Raw LLDP information (optional). LLDP []TLV `json:"lldp,omitempty"` }
type Node ¶
type Node struct { // Unique ID. UUID string `json:"uuid"` // Unique name (optional). Name string `json:"name,omitempty"` // Instance information. Use GetConfigDrive to extract configuration // drive information. InstanceInfo map[string]interface{} `json:"instance_info"` }
Short version of an Ironic node.
func (Node) GetConfigDrive ¶
func (node Node) GetConfigDrive() (ConfigDrive, error)
type Port ¶
type Port struct { // Unique ID. UUID string `json:"uuid"` // MAC address MACAddress string `json:"address"` }
Short version of an Ironic port.
type Processors ¶
type Step ¶
type Step struct { // Interface name (use "deploy" if unsure"). Interface string `json:"interface"` // Step name. Name string `json:"step"` // Priority. 0 to disable by default. Priority int `json:"priority"` // Function to execute. Execute func(Node, []Port) error `json:"-"` }
An executable step.
type SystemVendor ¶
Click to show internal directories.
Click to hide internal directories.