func (s *FakeStemcell) Apply(input bftinput.Input, previousInput bftinput.Input) bftinput.Input { input.Stemcells = []bftinput.StemcellConfig{ {Name: "fake-stemcell"}, } return input }
func (s *stemcell) Apply(input bftinput.Input, previousInput bftinput.Input) bftinput.Input { input.Stemcells = nil var stemcellConfig bftinput.StemcellConfig if s.definition == "os" { stemcellConfig = bftinput.StemcellConfig{ OS: "toronto-os", } } else { stemcellConfig = bftinput.StemcellConfig{ Name: "ubuntu-stemcell", } } usedStemcells := map[string]bool{} if len(input.CloudConfig.VmTypes) > 0 { for _, vmType := range input.CloudConfig.VmTypes { stemcellConfig.Version = s.stemcellVersions[rand.Intn(len(s.stemcellVersions))] stemcellConfig.Alias = fmt.Sprintf("stemcell-%s", stemcellConfig.Version) if usedStemcells[stemcellConfig.Alias] != true { input.Stemcells = append(input.Stemcells, stemcellConfig) } usedStemcells[stemcellConfig.Alias] = true for j := range input.Jobs { if input.Jobs[j].VmType == vmType.Name { input.Jobs[j].Stemcell = stemcellConfig.Alias } } } } else { for r, _ := range input.CloudConfig.ResourcePools { stemcellConfig.Version = s.stemcellVersions[rand.Intn(len(s.stemcellVersions))] input.CloudConfig.ResourcePools[r].Stemcell = stemcellConfig } for j := range input.Jobs { input.Jobs[j].Stemcell = "" } } return input }
func (g *inputGenerator) fuzzInput(input bftinput.Input, previousInput bftinput.Input) bftinput.Input { input.CloudConfig = previousInput.CloudConfig input.Stemcells = previousInput.Stemcells input = g.parameterProvider.Get("availability_zone").Apply(input, previousInput) input = g.parameterProvider.Get("vm_type").Apply(input, previousInput) input = g.parameterProvider.Get("stemcell").Apply(input, previousInput) input = g.parameterProvider.Get("persistent_disk").Apply(input, previousInput) input = g.parameterProvider.Get("network").Apply(input, previousInput) input = g.parameterProvider.Get("template").Apply(input, previousInput) input = g.parameterProvider.Get("compilation").Apply(input, previousInput) input = g.parameterProvider.Get("update").Apply(input, previousInput) input = g.parameterProvider.Get("cloud_properties").Apply(input, previousInput) input = g.parameterProvider.Get("fixed_migrated_from").Apply(input, previousInput) return input }