ci

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Critical = Label("Critical")

importance

View Source
var Day1 = Label("day1")

day1/day1-post and day2

View Source
var Day1Post = Label("day1-post")
View Source
var Day1Prepare = Label("day1-prepare")
View Source
var Day2 = Label("day2")
View Source
var Day3 = Label("day3")

day3 : the test cases will destroy default resource

View Source
var Destroy = Label("destroy")

destroy

View Source
var Exclude = Label("Exclude")

exclude

View Source
var FeatureIDP = Label("feature-idp")
View Source
var FeatureImport = Label("feature-import")
View Source
var FeatureMachinepool = Label("feature-machinepool")

Features

View Source
var High = Label("High")
View Source
var Low = Label("Low")
View Source
var Medium = Label("Medium")
View Source
var (
	RHCSConnection = createConnectionWithToken(RHCSOCMToken)
)

Regular users in the organization 'Red Hat-Service Delivery-tester'

View Source
var (
	RHCSOCMToken = os.Getenv(CON.TokenENVName)
)

Functions

func ConvertFilterToString added in v1.4.0

func ConvertFilterToString(qs interface{}) (filter string)

ConvertFilterToString will Convert a fileter struct to a string if "like" in the value will be keeped if no 'like' in value, the string will contains key=value if map in value the substring will be key.subkey='subvalue'

func ConvertToMap added in v1.4.0

func ConvertToMap(qs interface{}) map[string]interface{}

func ConvertToStringArray added in v1.4.0

func ConvertToStringArray(interfaceList []interface{}) []string

ConvertToStringArray will convert the []interface to []string

func ConvertToStringMap added in v1.4.0

func ConvertToStringMap(interfaceMap map[string]interface{}) map[string]string

ConvertToStringMap will convert the []interface to []string

func CreateRHCSClusterByProfile

func CreateRHCSClusterByProfile(token string, profile *Profile) (string, error)

func DestroyRHCSClusterByProfile added in v1.4.0

func DestroyRHCSClusterByProfile(token string, profile *Profile) error

func ElementInArray added in v1.4.0

func ElementInArray(target string, str_array []string) bool

check if one element is in the array. if yes, return true; or return false

func GenerateClusterCreationArgsByProfile

func GenerateClusterCreationArgsByProfile(token string, profile *Profile) (clusterArgs *EXE.ClusterCreationArgs, manifestsDir string, err error)

func GetElements added in v1.4.0

func GetElements(content map[string]interface{}, element string, num ...int) interface{}

GetElements will return an array or a string get from the items based on the num If num 0 and itemkey id passed it will return the itemkey value with index 0

func GetYAMLProfileFile added in v1.4.0

func GetYAMLProfileFile(fileName string) (filename string)

func PrepareAccountRoles

func PrepareAccountRoles(token string, accountRolePrefix string, accountRolesPath string, awsRegion string, openshiftVersion string, channelGroup string, manifestDir string) (
	*EXE.AccountRolesOutput, error)

func PrepareAdditionalSecurityGroups added in v1.5.0

func PrepareAdditionalSecurityGroups(region string, vpcID string, sgNumbers int) ([]string, error)

func PrepareKMSKey

func PrepareKMSKey()

func PrepareOIDCProviderAndOperatorRoles added in v1.4.0

func PrepareOIDCProviderAndOperatorRoles(token string, oidcConfigType string, operatorRolePrefix string, accountRolePrefix string, accountRolesPath string, awsRegion string) (
	*EXE.OIDCProviderOperatorRolesOutput, error)

func PrepareProxy

func PrepareProxy()

func PrepareRHCSClusterByProfileENV added in v1.4.0

func PrepareRHCSClusterByProfileENV() (string, error)

PrepareRHCSClusterByProfileENV will be used for all day2 tests. Do not need to create a cluster, it needs an existing cluster Two ways:

  • If you created a cluster by other way, you can Export CLUSTER_ID=<cluster id>
  • If you are using this CI created the cluster, just need to Export CLUSTER_PROFILE=<profile name>

func PrepareRoute53

func PrepareRoute53()

func PrepareVPC

func PrepareVPC(region string, privateLink bool, multiZone bool, azIDs []string, name ...string) (*EXE.VPCOutput, error)

func PrepareVersion added in v1.4.0

func PrepareVersion(connection *client.Connection, versionTag string, channelGroup string, profile *Profile) string

PrepareVersion supports below types version with a openshift version like 4.13.12 version with latest verion with x-1, it means the version will choose one with x-1 version which can be used for x stream upgrade version with y-1, it means the version will choose one with y-1 version which can be used for y stream upgrade

func TrimName added in v1.4.0

func TrimName(name string) string

func TrimVersion added in v1.4.0

func TrimVersion(version string, groupChannel string) string

Types

type Profile

type Profile struct {
	Name                  string `ini:"name,omitempty" json:"name,omitempty"`
	ClusterName           string `ini:"cluster_name,omitempty" json:"cluster_name,omitempty"`
	ProductID             string `ini:"product_id,omitempty" json:"product_id,omitempty"`
	MajorVersion          string `ini:"major_version,omitempty" json:"major_version,omitempty"`
	Version               string `ini:"version,omitempty" json:"version,omitempty"` //Version supports indicated version started with openshift-v or minor-1
	ChannelGroup          string `ini:"channel_group,omitempty" json:"channel_group,omitempty"`
	CloudProvider         string `ini:"cloud_provider,omitempty" json:"cloud_provider,omitempty"`
	Region                string `ini:"region,omitempty" json:"region,omitempty"`
	InstanceType          string `ini:"instance_type,omitempty" json:"instance_type,omitempty"`
	Zones                 string `ini:"zones,omitempty" json:"zones,omitempty"`           // zones should be like a,b,c,d
	StorageLB             bool   `ini:"storage_lb,omitempty" json:"storage_lb,omitempty"` // the unit is GIB, don't support unit set
	Tagging               bool   `ini:"tagging,omitempty" json:"tagging,omitempty"`
	Labeling              bool   `ini:"labeling,omitempty" json:"labeling,omitempty"`
	Etcd                  bool   `ini:"etcd_encryption,omitempty" json:"etcd_encryption,omitempty"`
	FIPS                  bool   `ini:"fips,omitempty" json:"fips,omitempty"`
	CCS                   bool   `ini:"ccs,omitempty" json:"ccs,omitempty"`
	STS                   bool   `ini:"sts,omitempty" json:"sts,omitempty"`
	Autoscale             bool   `ini:"autoscaling_enabled,omitempty" json:"autoscaling_enabled,omitempty"`
	MultiAZ               bool   `ini:"multi_az,omitempty" json:"multi_az,omitempty"`
	BYOVPC                bool   `ini:"byovpc,omitempty" json:"byovpc,omitempty"`
	PrivateLink           bool   `ini:"private_link,omitempty" json:"private_link,omitempty"`
	Private               bool   `ini:"private,omitempty" json:"private,omitempty"`
	BYOK                  bool   `ini:"byok,omitempty" json:"byok,omitempty"`
	ETCDKMS               bool   `ini:"etcd_kms,omitempty" json:"etcd_kms,omitempty"`
	NetWorkingSet         bool   `ini:"networking_set,omitempty" json:"networking_set,omitempty"`
	Proxy                 bool   `ini:"proxy,omitempty" json:"proxy,omitempty"`
	Hypershift            bool   `ini:"hypershift,omitempty" json:"hypershift,omitempty"`
	OIDCConfig            string `ini:"oidc_config,omitempty" json:"oidc_config,omitempty"`
	ProvisionShard        string `ini:"provisionShard,omitempty" json:"provisionShard,omitempty"`
	Ec2MetadataHttpTokens string `ini:"imdsv2,omitempty" json:"imdsv2,omitempty"`
	ComputeMachineType    string `ini:"compute_machine_type,omitempty" json:"compute_machine_type,omitempty"`
	AuditLogForward       bool   `ini:"auditlog_forward,omitempty" json:"auditlog_forward,omitempty"`
	AdminEnabled          bool   `ini:"admin_enabled,omitempty" json:"admin_enabled,omitempty"`
	ManagedPolicies       bool   `ini:"managed_policies,omitempty" json:"managed_policies,omitempty"`
	WorkerDiskSize        int    `ini:"worker_disk_size,omitempty" json:"worker_disk_size,omitempty"`
	AdditionalSGNumber    int    `ini:"additional_sg_number,omitempty" json:"additional_sg_number,omitempty"`
	ManifestsDIR          string `ini:"manifests_dir,omitempty" json:"manifests_dir,omitempty"`
	UnifiedAccRolesPath   string `ini:"unified_acc_role_path,omitempty" json:"unified_acc_role_path,omitempty"`
}

Profile Provides profile struct for cluster creation be matrix

func LoadProfileYamlFile added in v1.4.0

func LoadProfileYamlFile(profileName string) *Profile

func LoadProfileYamlFileByENV added in v1.4.0

func LoadProfileYamlFileByENV() *Profile

type Response added in v1.4.0

type Response struct {
	StatusCode int
	Body       []byte
}

func (*Response) Bytes added in v1.4.0

func (r *Response) Bytes() []byte

func (*Response) Status added in v1.4.0

func (r *Response) Status() int

func (*Response) String added in v1.4.0

func (r *Response) String() string

Jump to

Keyboard shortcuts

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