model

package
v0.2.17 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: Apache-2.0 Imports: 2 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// Dell specific component slugs
	SlugDellSystemCPLD                  = "Dell System CPLD"
	SlugDellBossAdapter                 = "Boss Adapter"
	SlugDellIdracServiceModule          = "IDrac Service Module"
	SlugDellBossAdapterDisk0            = "Boss Adapter - Disk 0"
	SlugDellBossAdapterDisk1            = "Boss Adapter - Disk 1"
	SlugDellLifeCycleController         = "Lifecycle Controller"
	SlugDellOSCollector                 = "OS Collector"
	SlugDell64bitUefiDiagnostics        = "Dell 64 bit uEFI diagnostics"
	SlugDellBackplaneExpander           = "Backplane-Expander"
	SlugDellNonExpanderStorageBackplane = "Non-Expander Storage Backplane (SEP)"

	// EnvDellDSURelease is the Dell DSU release version
	//
	// e.g: 21.11.12 from https://linux.dell.com/repo/hardware/DSU_21.11.12/
	EnvDellDSURelease = "DELL_DSU_RELEASE"
	// EnvDellDSUVersion is the Dell DSU utility package version
	//
	// e.g: 1.9.2.0-21.07.00 from https://linux.dell.com/repo/hardware/DSU_21.11.12/os_independent/x86_64/dell-system-update-1.9.2.0-21.07.00.x86_64.rpm
	EnvDellDSUVersion = "DELL_DSU_VERSION"
	// 	EnvDNFDisableGPGCheck disables GPG checks in DNF package installs
	EnvDNFDellDisableGPGCheck = "DNF_DISABLE_GPG_CHECK"
	// EnvUpdateStoreURL defines up the update store base URL prefix
	EnvUpdateBaseURL = "UPDATE_BASE_URL"
)

Variables

View Source
var (

	// OemComponentDell is a lookup table for dell OEM components
	// these components are specific to the OEMs - in this case Dell
	OemComponentDell = map[string]struct{}{
		SlugDellSystemCPLD:                  {},
		common.SlugBackplaneExpander:        {},
		SlugDellIdracServiceModule:          {},
		SlugDellBossAdapterDisk0:            {},
		SlugDellBossAdapterDisk1:            {},
		SlugDellBossAdapter:                 {},
		SlugDellLifeCycleController:         {},
		SlugDellNonExpanderStorageBackplane: {},
		SlugDellOSCollector:                 {},
		SlugDell64bitUefiDiagnostics:        {},
	}

	// DellComponentSlug is an ordered list of of dell component identifiers to component slug
	// To identify components correctly, if two components contain a similar string
	// e.g: "idrac", "dell emc idrac service module" the latter should be positioned before the former in the list.
	DellComponentSlug = [][]string{
		{"bios", common.SlugBIOS},
		{"ethernet", common.SlugNIC},
		{"dell emc idrac service module", SlugDellIdracServiceModule},
		{"idrac", common.SlugBMC},
		{"backplane", common.SlugBackplaneExpander},
		{"power supply", common.SlugPSU},
		{"hba330", common.SlugStorageController},
		{"nvmepcissd", common.SlugDrive},
		{"system cpld", SlugDellSystemCPLD},
		{"sep firmware", SlugDellNonExpanderStorageBackplane},
		{"lifecycle controller", SlugDellLifeCycleController},
		{"os collector", SlugDellOSCollector},
		{"disk 0 of boss adapter", SlugDellBossAdapterDisk0},
		{"disk 1 of boss adapter", SlugDellBossAdapterDisk1},
		{"boss", SlugDellBossAdapter},
		{"dell 64 bit uefi diagnostics", SlugDell64bitUefiDiagnostics},
		{"integrated dell remote access controller", common.SlugBMC},
	}

	ErrTypeComponentFirmware = errors.New("ironlib.GetComponentFirmware() was passed an object type which is not handled")
)

Functions

func DriveTypeSlug

func DriveTypeSlug(m string) string

func FormatProductName

func FormatProductName(s string) string

Return a normalized product name given a product name

func UpdateReleaseEnvironments

func UpdateReleaseEnvironments() []string

UpdateReleaseEnvironments is the list of update environments this is related to the fup tooling

Types

type CollectorUtility added in v0.2.4

type CollectorUtility string

CollectorUtility is the name of a utility defined in utils/

type Component

type Component struct {
	Serial            string            `json:"serial"`
	Vendor            string            `json:"vendor"`
	Type              string            `json:"type"`
	Model             string            `json:"model"`
	Name              string            `json:"name"`
	Slug              string            `json:"slug"`
	FirmwareInstalled string            `json:"firmware_installed"` // The firmware revision installed
	FirmwareAvailable string            `json:"firmware_available"` // The firmware revision available
	Metadata          map[string]string `json:"metadata"`           // Additional metadata if any
	Oem               bool              `json:"oem"`                // Component is an OEM component
	FirmwareManaged   bool              `json:"firmware_managed"`   // Firmware on the component is managed/unmanaged
}

Component is a low level device component - before its classified into a device type (BMC{}, BIOS{}, NIC{})

type CreateVirtualDiskOptions added in v0.2.0

type CreateVirtualDiskOptions struct {
	RaidMode        string
	PhysicalDiskIDs []uint
	Name            string
	BlockSize       uint
}

type DestroyVirtualDiskOptions added in v0.2.0

type DestroyVirtualDiskOptions struct {
	VirtualDiskID int
}

type Hardware

type Hardware struct {
	PendingReboot    bool // set when the device requires a reboot after running an upgrade
	UpdatesInstalled bool // set when updates were installed on the device
	UpdatesAvailable int  // -1 == no update lookup as yet,  0 == no updates available, 1 == updates available
	Device           *common.Device
	OemComponents    *OemComponents // OemComponents hold OEM specific components that may not show up in dmidecode/lshw and other collectors.
}

Hardware is a base struct that various providers inherit

func NewHardware

func NewHardware(d *common.Device) *Hardware

NewHardware returns the base Hardware struct that various providers inherit

type OemComponents

type OemComponents struct {
	Dell []*Component `json:"dell"`
}

OemComponents are OEM specific device components

type UpdateOptions

type UpdateOptions struct {
	AllowDowngrade    bool // Allow firmware to be downgraded
	InstallAll        bool // Install all available updates (vendor tooling like DSU fetches the updates and installs them)
	DownloadOnly      bool // Only download updates, skip install - Works with InstallAll (where updates are fetched by the vendor tooling)
	Serial            string
	Vendor            string
	Model             string
	Name              string
	Slug              string
	UpdateFile        string // Location of the UpdateFile to be installed
	InstallerVersion  string // The all available updates installer version (specific to dell DSU)
	RepositoryVersion string // The update repository version to activate when defined
	BaseURL           string // The BaseURL for the updates
}

UpdateOptions sets firmware update options for a device component

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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