It("scales from 1 to 3 nodes", func() { var keyVals map[string]string By("setting a persistent value", func() { etcdClient := helpers.NewEtcdClient([]string{ fmt.Sprintf("http://%s:4001", manifest.Properties.Etcd.Machines[0]), }) err := etcdClient.Set(testKey, testValue) Expect(err).ToNot(HaveOccurred()) }) By("scaling up to 3 nodes", func() { manifest.Jobs[0], manifest.Properties = destiny.SetJobInstanceCount(manifest.Jobs[0], manifest.Networks[0], manifest.Properties, 3) members := manifest.EtcdMembers() Expect(members).To(HaveLen(3)) yaml, err := manifest.ToYAML() Expect(err).NotTo(HaveOccurred()) var wg sync.WaitGroup done := make(chan struct{}) keysChan := helpers.SpamEtcd(done, &wg, manifest.Properties.Etcd.Machines) err = client.Deploy(yaml) Expect(err).NotTo(HaveOccurred()) Eventually(func() ([]bosh.VM, error) { return client.DeploymentVMs(manifest.Name)