baremetal

package
v0.90.17 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2024 License: Apache-2.0 Imports: 13 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IronicCreds

type IronicCreds struct {
	Username string
	Password string
}

IronicCreds is the asset for the ironic user credentials

func (*IronicCreds) Dependencies

func (a *IronicCreds) Dependencies() []asset.Asset

Dependencies returns no dependencies.

func (*IronicCreds) Generate

func (a *IronicCreds) Generate(context.Context, asset.Parents) error

Generate the ironic password

func (*IronicCreds) Name

func (a *IronicCreds) Name() string

Name returns the human-friendly name of the asset.

type TemplateData

type TemplateData struct {
	// ProvisioningInterfaceMAC holds the interface's MAC address that the bootstrap node will use to host the ProvisioningIP below.
	// When the provisioning network is disabled, this is the external baremetal network MAC address.
	ProvisioningInterfaceMAC string

	// ProvisioningIP holds the IP the bootstrap node will use to service Ironic, TFTP, etc.
	ProvisioningIP string

	// ProvisioningIPv6 determines if we are using IPv6 or not.
	ProvisioningIPv6 bool

	// ProvisioningCIDR has the integer CIDR notation, e.g. 255.255.255.0 should be "24"
	ProvisioningCIDR int

	// ProvisioningDNSMasq determines if we start the dnsmasq service on the bootstrap node.
	ProvisioningDNSMasq bool

	// ProvisioningDHCPRange has the DHCP range, if DHCP is not external. Otherwise it
	// should be blank.
	ProvisioningDHCPRange string

	// ProvisioningDHCPAllowList contains a space-separated list of all of the control plane's boot
	// MAC addresses. Requests to bootstrap DHCP from other hosts will be ignored.
	ProvisioningDHCPAllowList string

	// IronicUsername contains the username for authentication to Ironic
	IronicUsername string

	// IronicUsername contains the password for authentication to Ironic
	IronicPassword string

	// BaremetalEndpointOverride contains the url for the baremetal endpoint
	BaremetalEndpointOverride string

	// BaremetalIntrospectionEndpointOverride contains the url for the baremetal introspection endpoint
	BaremetalIntrospectionEndpointOverride string

	// ClusterOSImage contains 4 URLs to download RHCOS live iso, kernel, rootfs and initramfs
	ClusterOSImage string

	// API VIP for use by ironic during bootstrap.
	APIVIPs []string

	// Hosts is the information needed to create the objects in Ironic.
	Hosts []*baremetal.Host

	// How many of the Hosts are control plane machines?
	ControlPlaneReplicas int64

	// ProvisioningNetwork displays the type of provisioning network being used
	ProvisioningNetwork string

	// ExternalStaticIP is the static IP of the bootstrap node
	ExternalStaticIP string

	// ExternalStaticIP is the static gateway of the bootstrap node
	ExternalStaticGateway string

	// ExternalStaticDNS is the static DNS of the bootstrap node
	ExternalStaticDNS string

	ExternalSubnetCIDR int

	ExternalMACAddress string

	// ExternalURLv6 is a callback URL for the node if the node and the BMC use different network families
	ExternalURLv6 string

	// DisableIronicVirtualMediaTLS enables or disables TLS in ironic virtual media deployments
	DisableIronicVirtualMediaTLS bool
}

TemplateData holds data specific to templates used for the baremetal platform.

func GetTemplateData

func GetTemplateData(config *baremetal.Platform, networks []types.MachineNetworkEntry, controlPlaneReplicaCount int64, ironicUsername, ironicPassword string, dependencies asset.Parents) *TemplateData

GetTemplateData returns platform-specific data for bootstrap templates.

Jump to

Keyboard shortcuts

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