in contrib/cmd/runkperf/commands/bench/cilium_cr_list.go [69:113]
func ciliumCustomResourceListRun(cliCtx *cli.Context) (*internaltypes.BenchmarkReport, error) {
ctx := context.Background()
rgCfgFile, rgSpec, rgCfgFileDone, err := newLoadProfileFromEmbed(cliCtx, "loadprofile/cilium_cr_list.yaml")
if err != nil {
return nil, err
}
defer func() { _ = rgCfgFileDone() }()
kubeCfgPath := cliCtx.GlobalString("kubeconfig")
kr := utils.NewKubectlRunner(kubeCfgPath, "")
if cliCtx.BoolT(installCiliumCRDsFlag) {
if err := installCiliumCRDs(ctx, kr); err != nil {
return nil, fmt.Errorf("failed to install Cilium CRDs: %w", err)
}
}
numCID := cliCtx.Int(numCIDFlag)
numCEP := cliCtx.Int(numCEPFlag)
if err := loadCiliumData(ctx, kr, numCID, numCEP); err != nil {
return nil, fmt.Errorf("failed to load Cilium data: %w", err)
}
rgResult, err := utils.DeployRunnerGroup(ctx,
cliCtx.GlobalString("kubeconfig"),
cliCtx.GlobalString("runner-image"),
rgCfgFile,
cliCtx.GlobalString("runner-flowcontrol"),
cliCtx.GlobalString("rg-affinity"),
)
if err != nil {
return nil, fmt.Errorf("failed to deploy runner group: %w", err)
}
return &internaltypes.BenchmarkReport{
Description: fmt.Sprintf(`Deploy %d CiliumIdentities and %d CiliumEndpoints, then run stale list requests against them`, numCID, numCEP),
LoadSpec: *rgSpec,
Result: *rgResult,
Info: map[string]interface{}{
"numCiliumIdentities": numCID,
"numCiliumEndpoints": numCEP,
},
}, nil
}