Documentation
¶
Index ¶
- Variables
- func GetIntPtrToUint32Ptr(i *int) (*uint32, error)
- func GetNVLinkLogicalPartitionStatus(controllerNVLinkLogicalPartitionTenantState cwssaws.TenantState) (*string, *string)
- func GetUint32Ptr(i uint32) *uint32
- func GetUint32PtrToIntPtr(u32 *uint32) *int
- func IsTimeWithinStaleInventoryThreshold(actionTime time.Time) bool
- func MachineCapabilitiesEqual(cap1 *cdbm.MachineCapability, cap2 *cdbm.MachineCapability) bool
- func NetworkSecurityGroupPropagationDetailsEqual(pd1, pd2 *cdbm.NetworkSecurityGroupPropagationDetails) bool
- func PtrsEqual[T comparable](i1 *T, i2 *T) bool
- func TestAssertMetricExistsTimes(t *testing.T, reg *prometheus.Registry, metricName string, expectedCount int, ...)
- func TestBuildAllocation(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, ...) *cdbm.Allocation
- func TestBuildAllocationConstraint(t *testing.T, dbSession *cdb.Session, al *cdbm.Allocation, ...) *cdbm.AllocationConstraint
- func TestBuildAllocationContraints(t *testing.T, dbSession *cdb.Session, al *cdbm.Allocation, rt string, ...) *cdbm.AllocationConstraint
- func TestBuildBuildIPBlock(t *testing.T, dbSession *cdb.Session, name string, site *cdbm.Site, ...) *cdbm.IPBlock
- func TestBuildDpuExtensionService(t *testing.T, dbSession *cdb.Session, name string, site *cdbm.Site, ...) *cdbm.DpuExtensionService
- func TestBuildDpuExtensionServiceDeployment(t *testing.T, dbSession *cdb.Session, ...) *cdbm.DpuExtensionServiceDeployment
- func TestBuildImageOperatingSystem(t *testing.T, dbSession *cdb.Session, ipID *uuid.UUID, tenantID *uuid.UUID, ...) *cdbm.OperatingSystem
- func TestBuildImageOperatingSystemSiteAssociation(t *testing.T, dbSession *cdb.Session, osID uuid.UUID, siteID uuid.UUID, ...) *cdbm.OperatingSystemSiteAssociation
- func TestBuildInfiniBandInterface(t *testing.T, dbSession *cdb.Session, ...) *cdbm.InfiniBandInterface
- func TestBuildInfiniBandPartition(t *testing.T, dbSession *cdb.Session, name string, site *cdbm.Site, ...) *cdbm.InfiniBandPartition
- func TestBuildInfrastructureProvider(t *testing.T, dbSession *cdb.Session, name string, org string, user *cdbm.User) *cdbm.InfrastructureProvider
- func TestBuildInstance(t *testing.T, dbSession *cdb.Session, name string, tn uuid.UUID, ip uuid.UUID, ...) *cdbm.Instance
- func TestBuildInstanceType(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, ...) *cdbm.InstanceType
- func TestBuildInterface(t *testing.T, dbSession *cdb.Session, instanceID, subnetID *uuid.UUID, ...) *cdbm.Interface
- func TestBuildMachine(t *testing.T, dbSession *cdb.Session, ip uuid.UUID, site uuid.UUID, ...) *cdbm.Machine
- func TestBuildMachineInstanceType(t *testing.T, dbSession *cdb.Session, m *cdbm.Machine, it *cdbm.InstanceType) *cdbm.MachineInstanceType
- func TestBuildMachineInterface(t *testing.T, dbSession *cdb.Session, machineID string, ...) *cdbm.MachineInterface
- func TestBuildNVLinkInterface(t *testing.T, dbSession *cdb.Session, ...) *cdbm.NVLinkInterface
- func TestBuildNVLinkLogicalPartition(t *testing.T, dbSession *cdb.Session, name string, description *string, ...) *cdbm.NVLinkLogicalPartition
- func TestBuildOperatingSystem(t *testing.T, dbSession *cdb.Session, name string) *cdbm.OperatingSystem
- func TestBuildSSHKey(t *testing.T, dbSession *cdb.Session, name string, tenant *cdbm.Tenant, ...) *cdbm.SSHKey
- func TestBuildSSHKeyAssociation(t *testing.T, dbSession *cdb.Session, sshKeyGroupID uuid.UUID, ...) *cdbm.SSHKeyAssociation
- func TestBuildSSHKeyGroup(t *testing.T, dbSession *cdb.Session, name, org string, description *string, ...) *cdbm.SSHKeyGroup
- func TestBuildSSHKeyGroupInstanceAssociation(t *testing.T, dbSession *cdb.Session, sshKeyGroupID uuid.UUID, ...) *cdbm.SSHKeyGroupInstanceAssociation
- func TestBuildSSHKeyGroupSiteAssociation(t *testing.T, dbSession *cdb.Session, sshKeyGroupID uuid.UUID, ...) *cdbm.SSHKeyGroupSiteAssociation
- func TestBuildSite(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, ...) *cdbm.Site
- func TestBuildStatusDetail(t *testing.T, dbSession *cdb.Session, entityID string, status string, ...) *cdbm.StatusDetail
- func TestBuildStatusDetailWithTime(t *testing.T, dbSession *cdb.Session, entityID string, status string, ...) *cdbm.StatusDetail
- func TestBuildSubnet(t *testing.T, dbSession *cdb.Session, tenant *cdbm.Tenant, vpc *cdbm.Vpc, ...) *cdbm.Subnet
- func TestBuildTenant(t *testing.T, dbSession *cdb.Session, org string, orgDisplayName string, ...) *cdbm.Tenant
- func TestBuildTenantSiteAssociation(t *testing.T, dbSession *cdb.Session, org string, tenantID uuid.UUID, ...) *cdbm.TenantSite
- func TestBuildUser(t *testing.T, dbSession *cdb.Session, starfleetID string, orgs []string, ...) *cdbm.User
- func TestBuildVPC(t *testing.T, dbSession *cdb.Session, name string, ...) *cdbm.Vpc
- func TestBuildVPCPrefix(t *testing.T, dbSession *cdb.Session, name string, st *cdbm.Site, ...) *cdbm.VpcPrefix
- func TestBuildVpc(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, ...) *cdbm.Vpc
- func TestInitDB(t *testing.T) *cdb.Session
- func TestSetupSchema(t *testing.T, dbSession *cdb.Session)
- func TestSetupSite(t *testing.T, dbSession *cdb.Session) *cdbm.Site
- func TestTemporalSiteClientPool(t *testing.T) *sc.ClientPool
- func TestUpdateInstance(t *testing.T, dbSession *cdb.Session, ins *cdbm.Instance)
- func TestUpdateVPC(t *testing.T, dbSession *cdb.Session, v *cdbm.Vpc)
- func UpdateNVLinkLogicalPartitionStatusInDB(ctx context.Context, tx *cdb.Tx, dbSession *cdb.Session, ...) (*cdbm.NVLinkLogicalPartition, *cdbm.StatusDetail, error)
- type Attachment
- type PagerDutyClient
- type SlackClient
- type SlackMessage
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMsgSiteControllerRowNotFound is returned when an entity is not found in Site Controller ErrMsgSiteControllerRowNotFound = "row not found" // ErrMsgSiteControllerNoRowsReturned is returned when lookup for entity returns nothing in Site Controller ErrMsgSiteControllerNoRowsReturned = "no rows returned" // ErrMsgSiteControllerMarkedForDeletion is returned when an entity is marked for deletion in Site Controller ErrMsgSiteControllerMarkedForDeletion = "marked for deletion" // ErrMsgSiteControllerCouldNotFind is returned when an entity is not found in Site Controller ErrMsgSiteControllerCouldNotFind = "could not find" // ErrMsgSiteControllerDuplicateEntryFound is returned when an entity is found in Site Controller ErrMsgSiteControllerDuplicateEntryFound = "duplicate key value violates unique constraint" )
var (
// ErrMsgSiteAgentInventoryCollectionFailure is returned when Site Agent reports an inventory collection failure
ErrTypeSiteAgentInventoryCollectionFailure = "SiteAgentInventoryCollectionFailure"
)
Functions ¶
func GetIntPtrToUint32Ptr ¶
A convenience function for converting a pointer to a native Go integer to a pointer to a uint32 for use with a protobuf message. Accepts a pointer to an int and returns a uint32 pointer.
If the input is nil, nil will be returned. If a pointer to a value greater than uint32 max is submitted, an error will be returned.
func GetNVLinkLogicalPartitionStatus ¶
func GetNVLinkLogicalPartitionStatus(controllerNVLinkLogicalPartitionTenantState cwssaws.TenantState) (*string, *string)
GetNVLinkLogicalPartitionStatus returns the NVLinkLogicalPartition status and message from Controller NVLinkLogicalPartition state
func GetUint32Ptr ¶
func GetUint32PtrToIntPtr ¶
A convenience function for converting a pointer to a uint32 to a pointer to a an int.
If the input is nil, nil will be returned.
func IsTimeWithinStaleInventoryThreshold ¶
IsTimeWithinStaleInventoryThreshold checks if the action time is within the threshold where we could be processing an older inventory
func MachineCapabilitiesEqual ¶
func MachineCapabilitiesEqual(cap1 *cdbm.MachineCapability, cap2 *cdbm.MachineCapability) bool
func NetworkSecurityGroupPropagationDetailsEqual ¶
func NetworkSecurityGroupPropagationDetailsEqual(pd1, pd2 *cdbm.NetworkSecurityGroupPropagationDetails) bool
func PtrsEqual ¶
func PtrsEqual[T comparable](i1 *T, i2 *T) bool
func TestAssertMetricExistsTimes ¶
func TestAssertMetricExistsTimes(t *testing.T, reg *prometheus.Registry, metricName string, expectedCount int, expectedLabels map[string]string, expectedDuration time.Duration)
TestAssertMetricExistsTimes verifies that a specific metric exists with expected count and labels This is a common utility for all metrics testing Parameters:
- metricName: the name of the metric to check
- expectedCount: expected number of metric samples (0 means no metrics should exist)
- expectedLabels: map of label names to expected values (nil to skip label validation)
- expectedDuration: exact expected duration for summary metrics (0 to skip duration check)
func TestBuildAllocation ¶
func TestBuildAllocation(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, tenant *cdbm.Tenant, site *cdbm.Site, name string) *cdbm.Allocation
TestBuildAllocation build allocation
func TestBuildAllocationConstraint ¶
func TestBuildAllocationConstraint(t *testing.T, dbSession *cdb.Session, al *cdbm.Allocation, it *cdbm.InstanceType, constraintValue int, user *cdbm.User) *cdbm.AllocationConstraint
TestBuildAllocationConstraint creates a test Allocation Constraint of Instance Type
func TestBuildAllocationContraints ¶
func TestBuildAllocationContraints(t *testing.T, dbSession *cdb.Session, al *cdbm.Allocation, rt string, rtID uuid.UUID, ct string, cv int, user *cdbm.User) *cdbm.AllocationConstraint
testBuildAllocationContraints build allocation
func TestBuildBuildIPBlock ¶
func TestBuildDpuExtensionService ¶
func TestBuildDpuExtensionService(t *testing.T, dbSession *cdb.Session, name string, site *cdbm.Site, tenant *cdbm.Tenant, serviceType string, version *string, versionInfo *cdbm.DpuExtensionServiceVersionInfo, activeVersions []string, status string, user *cdbm.User) *cdbm.DpuExtensionService
TestBuildDpuExtensionService build DPU Extension Service
func TestBuildDpuExtensionServiceDeployment ¶
func TestBuildDpuExtensionServiceDeployment(t *testing.T, dbSession *cdb.Session, dpuExtensionServiceID, siteID, tenantID, instanceID uuid.UUID, version string, status string, user *cdbm.User) *cdbm.DpuExtensionServiceDeployment
TestBuildDpuExtensionServiceDeployment build DPU Extension Service Deployment
func TestBuildImageOperatingSystem ¶
func TestBuildImageOperatingSystem(t *testing.T, dbSession *cdb.Session, ipID *uuid.UUID, tenantID *uuid.UUID, name string, org string, version *string, status string) *cdbm.OperatingSystem
TestBuildOperatingSystem build operating system
func TestBuildImageOperatingSystemSiteAssociation ¶
func TestBuildImageOperatingSystemSiteAssociation(t *testing.T, dbSession *cdb.Session, osID uuid.UUID, siteID uuid.UUID, status string, version string, isMissingOnSite bool) *cdbm.OperatingSystemSiteAssociation
TestBuildImageOperatingSystemSiteAssociation build operating system site association
func TestBuildInfiniBandInterface ¶
func TestBuildInfiniBandInterface(t *testing.T, dbSession *cdb.Session, instanceID, siteID, infiniBandPartitionID uuid.UUID, device string, deviceInstance int, isPhysical bool, vfID *int, status string, isMissingOnSite bool) *cdbm.InfiniBandInterface
TestBuildInfiniBandInterface builds and returns a test InfiniBandInterface
func TestBuildInfiniBandPartition ¶
func TestBuildInfiniBandPartition(t *testing.T, dbSession *cdb.Session, name string, site *cdbm.Site, tenant *cdbm.Tenant, controllerIBPartitionID *uuid.UUID, status string, isMissingOnSite bool) *cdbm.InfiniBandPartition
TestBuildInfiniBandPartition builds and returns an InfiniBandPartition
func TestBuildInfrastructureProvider ¶
func TestBuildInfrastructureProvider(t *testing.T, dbSession *cdb.Session, name string, org string, user *cdbm.User) *cdbm.InfrastructureProvider
TestBuildInfrastructureProvider build infrastructure provider
func TestBuildInstance ¶
func TestBuildInstance(t *testing.T, dbSession *cdb.Session, name string, tn uuid.UUID, ip uuid.UUID, st uuid.UUID, ist uuid.UUID, vpc uuid.UUID, mc *string, os uuid.UUID, status string) *cdbm.Instance
TestBuildInstance creates a test instance
func TestBuildInstanceType ¶
func TestBuildInstanceType(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, site *cdbm.Site, name string) *cdbm.InstanceType
TestBuildInstanceType build instance type
func TestBuildInterface ¶
func TestBuildInterface(t *testing.T, dbSession *cdb.Session, instanceID, subnetID *uuid.UUID, vpID *uuid.UUID, isPhysical bool, device *string, deviceInstance *int, vfID *int, userID *uuid.UUID, status string) *cdbm.Interface
TestBuildInterface builds and returns a test Interface
func TestBuildMachine ¶
func TestBuildMachine(t *testing.T, dbSession *cdb.Session, ip uuid.UUID, site uuid.UUID, controllerMachineType *string, isAssiged *bool, status string) *cdbm.Machine
TestBuildMachine build machine
func TestBuildMachineInstanceType ¶
func TestBuildMachineInstanceType(t *testing.T, dbSession *cdb.Session, m *cdbm.Machine, it *cdbm.InstanceType) *cdbm.MachineInstanceType
TestBuildMachineInstanceType creates a test Machine Instance Type
func TestBuildMachineInterface ¶
func TestBuildMachineInterface(t *testing.T, dbSession *cdb.Session, machineID string, controllerInterfaceID, controllerSegmentID, subnetID *uuid.UUID, hostname *string) *cdbm.MachineInterface
TestBuildMachine build machine interface
func TestBuildNVLinkInterface ¶
func TestBuildNVLinkInterface(t *testing.T, dbSession *cdb.Session, instanceID, siteID, nvllPartitionID uuid.UUID, device *string, deviceInstance int, gpuGuid *string, nvlinkDomainID *uuid.UUID, status string) *cdbm.NVLinkInterface
TestBuildNVLinkInterface builds and returns a test NVLinkInterface
func TestBuildNVLinkLogicalPartition ¶
func TestBuildNVLinkLogicalPartition(t *testing.T, dbSession *cdb.Session, name string, description *string, site *cdbm.Site, tenant *cdbm.Tenant, status string, isMissingOnSite bool) *cdbm.NVLinkLogicalPartition
TestBuildNVLinkLogicalPartition builds and returns an NVLinkLogicalPartition
func TestBuildOperatingSystem ¶
func TestBuildOperatingSystem(t *testing.T, dbSession *cdb.Session, name string) *cdbm.OperatingSystem
TestBuildOperatingSystem build operating system
func TestBuildSSHKey ¶
func TestBuildSSHKey(t *testing.T, dbSession *cdb.Session, name string, tenant *cdbm.Tenant, publicKey string, user *cdbm.User) *cdbm.SSHKey
TestBuildSSHKey creates a test SSH Key
func TestBuildSSHKeyGroup ¶
func TestBuildSite ¶
func TestBuildSite(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, name string, status string, inventoryReceived *time.Time, user *cdbm.User) *cdbm.Site
TestBuildSite build site
func TestBuildStatusDetail ¶
func TestBuildStatusDetailWithTime ¶
func TestBuildStatusDetailWithTime(t *testing.T, dbSession *cdb.Session, entityID string, status string, message *string, timestamp time.Time) *cdbm.StatusDetail
TestBuildStatusDetailWithTime creates a StatusDetail with a specific timestamp This is useful for metrics testing where precise timing is needed
func TestBuildSubnet ¶
func TestBuildSubnet(t *testing.T, dbSession *cdb.Session, tenant *cdbm.Tenant, vpc *cdbm.Vpc, name, status string, segmentID *uuid.UUID) *cdbm.Subnet
TestBuildSubnet build subnet
func TestBuildTenant ¶
func TestBuildTenant(t *testing.T, dbSession *cdb.Session, org string, orgDisplayName string, config *cdbm.TenantConfig, user *cdbm.User) *cdbm.Tenant
TestBuildTenant build tenant
func TestBuildUser ¶
func TestBuildUser(t *testing.T, dbSession *cdb.Session, starfleetID string, orgs []string, roles []string) *cdbm.User
TestBuildUser build user
func TestBuildVPC ¶
func TestBuildVPC(t *testing.T, dbSession *cdb.Session, name string, ip *cdbm.InfrastructureProvider, tn *cdbm.Tenant, st *cdbm.Site, cnvID *uuid.UUID, lb map[string]string, status string, user *cdbm.User) *cdbm.Vpc
TestBuildVPC creates a test VPC
func TestBuildVPCPrefix ¶
func TestBuildVpc ¶
func TestBuildVpc(t *testing.T, dbSession *cdb.Session, ip *cdbm.InfrastructureProvider, site *cdbm.Site, tenant *cdbm.Tenant, name string) *cdbm.Vpc
TestBuildVpc build vpc
func TestSetupSchema ¶
TestSetupSchema setup schema reset the tables needed for Instance tests
func TestSetupSite ¶
TestSetupSite creates a complete site setup for testing (user, infrastructure provider, and site) This is a common utility for all inventory metrics testing
func TestTemporalSiteClientPool ¶
func TestTemporalSiteClientPool(t *testing.T) *sc.ClientPool
TestTemporalSiteClientPool creates a Temporal site client pool
func TestUpdateInstance ¶
func UpdateNVLinkLogicalPartitionStatusInDB ¶
func UpdateNVLinkLogicalPartitionStatusInDB(ctx context.Context, tx *cdb.Tx, dbSession *cdb.Session, nvlinklogicalpartitionID uuid.UUID, status *string, statusMessage *string) (*cdbm.NVLinkLogicalPartition, *cdbm.StatusDetail, error)
UpdateNVLinkLogicalPartitionStatusInDB updates the NVLinkLogicalPartition status in the DB and creates a new StatusDetail
Types ¶
type Attachment ¶
type Attachment struct {
Color string `json:"color,omitempty"`
Fallback string `json:"fallback,omitempty"`
CallbackID string `json:"callback_id,omitempty"`
ID int `json:"id,omitempty"`
AuthorID string `json:"author_id,omitempty"`
AuthorName string `json:"author_name,omitempty"`
AuthorSubname string `json:"author_subname,omitempty"`
AuthorLink string `json:"author_link,omitempty"`
AuthorIcon string `json:"author_icon,omitempty"`
Title string `json:"title,omitempty"`
TitleLink string `json:"title_link,omitempty"`
Pretext string `json:"pretext,omitempty"`
Text string `json:"text,omitempty"`
ImageURL string `json:"image_url,omitempty"`
ThumbURL string `json:"thumb_url,omitempty"`
// Fields and actions are not defined.
MarkdownIn []string `json:"mrkdwn_in,omitempty"`
Ts json.Number `json:"ts,omitempty"`
}
type PagerDutyClient ¶
type PagerDutyClient struct {
// contains filtered or unexported fields
}
PagerDutyClient wraps the official PagerDuty client for sending events
func NewPagerDutyClient ¶
func NewPagerDutyClient(integrationKey string) PagerDutyClient
NewPagerDutyClient creates a new PagerDuty client wrapper
func (PagerDutyClient) SendPagerDutyAlertWithDedupeKey ¶
func (pc PagerDutyClient) SendPagerDutyAlertWithDedupeKey(ctx context.Context, summary, source, dedupKey string, customDetails map[string]string) error
SendPagerDutyAlertWithDedupeKey sends a critical alert to PagerDuty with a custom deduplication key
type SlackClient ¶
type SlackClient struct {
// contains filtered or unexported fields
}
func NewSlackClient ¶
func NewSlackClient(webHookUrl string) SlackClient
NewSlackClient returns a new SlackClient
func (SlackClient) SendSlackNotification ¶
func (sc SlackClient) SendSlackNotification(sm SlackMessage) error
SendSlackNotification will post to the Slack webhook URL
type SlackMessage ¶
type SlackMessage struct {
IconEmoji string `json:"icon_emoji,omitempty"`
Text string `json:"text,omitempty"`
Attachments []Attachment `json:"attachments,omitempty"`
}