Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/virtwork/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ via systemd.`,
}

f := cmd.Flags()
f.StringSlice("workloads", workloads.AllWorkloadNames, "Workloads to deploy (comma-separated)")
f.StringSlice("workloads", workloads.AllWorkloadNames(), "Workloads to deploy (comma-separated)")
f.Int("vm-count", 1, "Number of VMs per workload")
f.Int("cpu-cores", 0, "CPU cores per VM")
f.String("memory", "", "Memory per VM (e.g., 2Gi)")
Expand Down
4 changes: 2 additions & 2 deletions cmd/virtwork/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func newRootCmd() *cobra.Command {
},
}
rf := runCmd.Flags()
rf.StringSlice("workloads", workloads.AllWorkloadNames, "Workloads to deploy (comma-separated)")
rf.StringSlice("workloads", workloads.AllWorkloadNames(), "Workloads to deploy (comma-separated)")
rf.Int("vm-count", 1, "Number of VMs per workload")
rf.Int("cpu-cores", 0, "CPU cores per VM")
rf.String("memory", "", "Memory per VM (e.g., 2Gi)")
Expand Down Expand Up @@ -628,7 +628,7 @@ var _ = Describe("CLI end-to-end scenarios", func() {
// Default run creates 8 VMs: cpu=1 + memory=1 + disk=1 + database=1 + network=2 + tps=2
registry := workloads.DefaultRegistry()
totalVMs := 0
for _, name := range workloads.AllWorkloadNames {
for _, name := range workloads.AllWorkloadNames() {
cfg := config.WorkloadConfig{
Enabled: true,
VMCount: 1,
Expand Down
7 changes: 5 additions & 2 deletions internal/workloads/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,11 @@ type WorkloadFactory func(config.WorkloadConfig, *RegistryOpts) Workload
// Registry maps workload names to their factory functions.
type Registry map[string]WorkloadFactory

// AllWorkloadNames is a sorted list of all built-in workload names.
var AllWorkloadNames = []string{"cpu", "database", "disk", "memory", "network", "tps"}
// AllWorkloadNames returns a sorted list of all built-in workload names,
// derived from the default registry.
func AllWorkloadNames() []string {
return DefaultRegistry().List()
}

// DefaultRegistry returns a Registry pre-populated with all built-in workloads.
func DefaultRegistry() Registry {
Expand Down
6 changes: 4 additions & 2 deletions internal/workloads/registry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ var _ = Describe("Registry", func() {
Expect(err.Error()).To(ContainSubstring("disk"))
Expect(err.Error()).To(ContainSubstring("memory"))
Expect(err.Error()).To(ContainSubstring("network"))
Expect(err.Error()).To(ContainSubstring("tps"))
})

It("should list all names sorted alphabetically", func() {
Expand Down Expand Up @@ -168,7 +169,8 @@ var _ = Describe("Registry", func() {
})

var _ = Describe("AllWorkloadNames", func() {
It("should contain all six workload names sorted", func() {
Expect(workloads.AllWorkloadNames).To(Equal([]string{"cpu", "database", "disk", "memory", "network", "tps"}))
It("should derive names from DefaultRegistry", func() {
// Verify that AllWorkloadNames() always matches DefaultRegistry().List()
Expect(workloads.AllWorkloadNames()).To(Equal(workloads.DefaultRegistry().List()))
})
})
Loading