framework.ExpectNoError(checkMasterVersion(f.ClientSet, v)) }) cm.Register(func(sem *chaosmonkey.Semaphore) { // Close over f. testServiceRemainsUp(f, sem) }) cm.Do() }) }) framework.KubeDescribe("node upgrade", func() { It("should maintain a functioning cluster [Feature:NodeUpgrade]", func() { cm := chaosmonkey.New(func() { v, err := realVersion(framework.TestContext.UpgradeTarget) framework.ExpectNoError(err) framework.ExpectNoError(framework.NodeUpgrade(f, v, framework.TestContext.UpgradeImage)) framework.ExpectNoError(checkNodesVersions(f.ClientSet, v)) }) cm.Register(func(sem *chaosmonkey.Semaphore) { // Close over f. testServiceUpBeforeAndAfter(f, sem) }) cm.Do() }) It("should maintain responsive services [Feature:ExperimentalNodeUpgrade]", func() { cm := chaosmonkey.New(func() { v, err := realVersion(framework.TestContext.UpgradeTarget) framework.ExpectNoError(err) framework.ExpectNoError(framework.NodeUpgrade(f, v, framework.TestContext.UpgradeImage)) framework.ExpectNoError(checkNodesVersions(f.ClientSet, v))
framework.ExpectNoError(checkMasterVersion(f.Client, v)) }) cm.Register(func(sem *chaosmonkey.Semaphore) { // Close over f. testServiceRemainsUp(f, sem) }) cm.Do() }) }) framework.KubeDescribe("node upgrade", func() { It("should maintain a functioning cluster [Feature:NodeUpgrade]", func() { cm := chaosmonkey.New(func() { v, err := realVersion(framework.TestContext.UpgradeTarget) framework.ExpectNoError(err) framework.ExpectNoError(framework.NodeUpgrade(f, v)) framework.ExpectNoError(checkNodesVersions(f.Client, v)) }) cm.Register(func(sem *chaosmonkey.Semaphore) { // Close over f. testServiceUpBeforeAndAfter(f, sem) }) cm.Do() }) It("should maintain responsive services [Feature:ExperimentalNodeUpgrade]", func() { cm := chaosmonkey.New(func() { v, err := realVersion(framework.TestContext.UpgradeTarget) framework.ExpectNoError(err) framework.ExpectNoError(framework.NodeUpgrade(f, v)) framework.ExpectNoError(checkNodesVersions(f.Client, v))