本文整理汇总了Golang中github.com/openshift/origin/pkg/deploy/api/test.OkRollingStrategy函数的典型用法代码示例。如果您正苦于以下问题:Golang OkRollingStrategy函数的具体用法?Golang OkRollingStrategy怎么用?Golang OkRollingStrategy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了OkRollingStrategy函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestRolling_deployInitial
func TestRolling_deployInitial(t *testing.T) {
initialStrategyInvoked := false
strategy := &RollingDeploymentStrategy{
decoder: kapi.Codecs.UniversalDecoder(),
rcClient: ktestclient.NewSimpleFake(),
eventClient: ktestclient.NewSimpleFake(),
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor strat.UpdateAcceptor) error {
initialStrategyInvoked = true
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
t.Fatalf("unexpected call to rollingUpdate")
return nil
},
getUpdateAcceptor: getUpdateAcceptor,
apiRetryPeriod: 1 * time.Millisecond,
apiRetryTimeout: 10 * time.Millisecond,
}
config := deploytest.OkDeploymentConfig(1)
config.Spec.Strategy = deploytest.OkRollingStrategy()
deployment, _ := deployutil.MakeDeployment(config, kapi.Codecs.LegacyCodec(registered.GroupOrDie(kapi.GroupName).GroupVersions[0]))
strategy.out, strategy.errOut = &bytes.Buffer{}, &bytes.Buffer{}
err := strategy.Deploy(nil, deployment, 2)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if !initialStrategyInvoked {
t.Fatalf("expected initial strategy to be invoked")
}
}
示例2: TestRolling_deployInitial
func TestRolling_deployInitial(t *testing.T) {
initialStrategyInvoked := false
strategy := &RollingDeploymentStrategy{
codec: api.Codec,
client: ktestclient.NewSimpleFake(),
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor strat.UpdateAcceptor) error {
initialStrategyInvoked = true
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
t.Fatalf("unexpected call to rollingUpdate")
return nil
},
getUpdateAcceptor: getUpdateAcceptor,
apiRetryPeriod: 1 * time.Millisecond,
apiRetryTimeout: 10 * time.Millisecond,
}
config := deploytest.OkDeploymentConfig(1)
config.Template.Strategy = deploytest.OkRollingStrategy()
deployment, _ := deployutil.MakeDeployment(config, kapi.Codec)
err := strategy.Deploy(nil, deployment, 2)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if !initialStrategyInvoked {
t.Fatalf("expected initial strategy to be invoked")
}
}
示例3: TestRolling_deployInitial
func TestRolling_deployInitial(t *testing.T) {
initialStrategyInvoked := false
strategy := &RollingDeploymentStrategy{
codec: api.Codec,
client: &rollingUpdaterClient{
GetReplicationControllerFn: func(namespace, name string) (*kapi.ReplicationController, error) {
t.Fatalf("unexpected call to GetReplicationController")
return nil, nil
},
},
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor kubectl.UpdateAcceptor) error {
initialStrategyInvoked = true
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
t.Fatalf("unexpected call to rollingUpdate")
return nil
},
getUpdateAcceptor: getUpdateAcceptor,
}
config := deploytest.OkDeploymentConfig(1)
config.Template.Strategy = deploytest.OkRollingStrategy()
deployment, _ := deployutil.MakeDeployment(config, kapi.Codec)
err := strategy.Deploy(nil, deployment, 2)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if !initialStrategyInvoked {
t.Fatalf("expected initial strategy to be invoked")
}
}
示例4: TestRolling_deployRolling
func TestRolling_deployRolling(t *testing.T) {
latestConfig := deploytest.OkDeploymentConfig(1)
latestConfig.Template.Strategy = deploytest.OkRollingStrategy()
latest, _ := deployutil.MakeDeployment(latestConfig, kapi.Codec)
config := deploytest.OkDeploymentConfig(2)
config.Template.Strategy = deploytest.OkRollingStrategy()
deployment, _ := deployutil.MakeDeployment(config, kapi.Codec)
deployments := map[string]*kapi.ReplicationController{
latest.Name: latest,
deployment.Name: deployment,
}
deploymentUpdated := false
fake := &ktestclient.Fake{}
fake.AddReactor("get", "replicationcontrollers", func(action ktestclient.Action) (handled bool, ret runtime.Object, err error) {
name := action.(ktestclient.GetAction).GetName()
return true, deployments[name], nil
})
fake.AddReactor("update", "replicationcontrollers", func(action ktestclient.Action) (handled bool, ret runtime.Object, err error) {
updated := action.(ktestclient.UpdateAction).GetObject().(*kapi.ReplicationController)
deploymentUpdated = true
return true, updated, nil
})
var rollingConfig *kubectl.RollingUpdaterConfig
strategy := &RollingDeploymentStrategy{
codec: api.Codec,
client: fake,
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor strat.UpdateAcceptor) error {
t.Fatalf("unexpected call to initial strategy")
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
rollingConfig = config
return nil
},
getUpdateAcceptor: getUpdateAcceptor,
apiRetryPeriod: 1 * time.Millisecond,
apiRetryTimeout: 10 * time.Millisecond,
}
err := strategy.Deploy(latest, deployment, 2)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if rollingConfig == nil {
t.Fatalf("expected rolling update to be invoked")
}
if e, a := latest, rollingConfig.OldRc; e != a {
t.Errorf("expected rollingConfig.OldRc %v, got %v", e, a)
}
if e, a := deployment, rollingConfig.NewRc; e != a {
t.Errorf("expected rollingConfig.NewRc %v, got %v", e, a)
}
if e, a := 1*time.Second, rollingConfig.Interval; e != a {
t.Errorf("expected Interval %d, got %d", e, a)
}
if e, a := 1*time.Second, rollingConfig.UpdatePeriod; e != a {
t.Errorf("expected UpdatePeriod %d, got %d", e, a)
}
if e, a := 20*time.Second, rollingConfig.Timeout; e != a {
t.Errorf("expected Timeout %d, got %d", e, a)
}
// verify hack
if e, a := 1, rollingConfig.NewRc.Spec.Replicas; e != a {
t.Errorf("expected rollingConfig.NewRc.Spec.Replicas %d, got %d", e, a)
}
// verify hack
if !deploymentUpdated {
t.Errorf("expected deployment to be updated for source annotation")
}
sid := fmt.Sprintf("%s:%s", latest.Name, latest.ObjectMeta.UID)
if e, a := sid, rollingConfig.NewRc.Annotations[sourceIdAnnotation]; e != a {
t.Errorf("expected sourceIdAnnotation %s, got %s", e, a)
}
}
示例5: TestRolling_deployRollingHooks
func TestRolling_deployRollingHooks(t *testing.T) {
config := deploytest.OkDeploymentConfig(1)
config.Template.Strategy = deploytest.OkRollingStrategy()
latest, _ := deployutil.MakeDeployment(config, kapi.Codec)
var hookError error
deployments := map[string]*kapi.ReplicationController{latest.Name: latest}
fake := &ktestclient.Fake{}
fake.AddReactor("get", "replicationcontrollers", func(action ktestclient.Action) (handled bool, ret runtime.Object, err error) {
name := action.(ktestclient.GetAction).GetName()
return true, deployments[name], nil
})
fake.AddReactor("update", "replicationcontrollers", func(action ktestclient.Action) (handled bool, ret runtime.Object, err error) {
updated := action.(ktestclient.UpdateAction).GetObject().(*kapi.ReplicationController)
return true, updated, nil
})
strategy := &RollingDeploymentStrategy{
codec: api.Codec,
client: fake,
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor strat.UpdateAcceptor) error {
t.Fatalf("unexpected call to initial strategy")
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
return nil
},
hookExecutor: &hookExecutorImpl{
executeFunc: func(hook *deployapi.LifecycleHook, deployment *kapi.ReplicationController, label string) error {
return hookError
},
},
getUpdateAcceptor: getUpdateAcceptor,
apiRetryPeriod: 1 * time.Millisecond,
apiRetryTimeout: 10 * time.Millisecond,
}
cases := []struct {
params *deployapi.RollingDeploymentStrategyParams
hookShouldFail bool
deploymentShouldFail bool
}{
{rollingParams(deployapi.LifecycleHookFailurePolicyAbort, ""), true, true},
{rollingParams(deployapi.LifecycleHookFailurePolicyAbort, ""), false, false},
{rollingParams("", deployapi.LifecycleHookFailurePolicyAbort), true, false},
{rollingParams("", deployapi.LifecycleHookFailurePolicyAbort), false, false},
}
for _, tc := range cases {
config := deploytest.OkDeploymentConfig(2)
config.Template.Strategy.RollingParams = tc.params
deployment, _ := deployutil.MakeDeployment(config, kapi.Codec)
deployments[deployment.Name] = deployment
hookError = nil
if tc.hookShouldFail {
hookError = fmt.Errorf("hook failure")
}
err := strategy.Deploy(latest, deployment, 2)
if err != nil && tc.deploymentShouldFail {
t.Logf("got expected error: %v", err)
}
if err == nil && tc.deploymentShouldFail {
t.Errorf("expected an error for case: %v", tc)
}
if err != nil && !tc.deploymentShouldFail {
t.Errorf("unexpected error for case: %v: %v", tc, err)
}
}
}
示例6: TestRolling_deployRollingHooks
func TestRolling_deployRollingHooks(t *testing.T) {
config := deploytest.OkDeploymentConfig(1)
config.Spec.Strategy = deploytest.OkRollingStrategy()
latest, _ := deployutil.MakeDeployment(config, kapi.Codecs.LegacyCodec(registered.GroupOrDie(kapi.GroupName).GroupVersions[0]))
var hookError error
deployments := map[string]*kapi.ReplicationController{latest.Name: latest}
client := &fake.Clientset{}
client.AddReactor("get", "replicationcontrollers", func(action core.Action) (handled bool, ret runtime.Object, err error) {
name := action.(core.GetAction).GetName()
return true, deployments[name], nil
})
client.AddReactor("update", "replicationcontrollers", func(action core.Action) (handled bool, ret runtime.Object, err error) {
updated := action.(core.UpdateAction).GetObject().(*kapi.ReplicationController)
return true, updated, nil
})
strategy := &RollingDeploymentStrategy{
decoder: kapi.Codecs.UniversalDecoder(),
rcClient: client.Core(),
eventClient: fake.NewSimpleClientset().Core(),
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor strat.UpdateAcceptor) error {
t.Fatalf("unexpected call to initial strategy")
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
return nil
},
hookExecutor: &hookExecutorImpl{
executeFunc: func(hook *deployapi.LifecycleHook, deployment *kapi.ReplicationController, suffix, label string) error {
return hookError
},
},
getUpdateAcceptor: getUpdateAcceptor,
apiRetryPeriod: 1 * time.Millisecond,
apiRetryTimeout: 10 * time.Millisecond,
}
cases := []struct {
params *deployapi.RollingDeploymentStrategyParams
hookShouldFail bool
deploymentShouldFail bool
}{
{rollingParams(deployapi.LifecycleHookFailurePolicyAbort, ""), true, true},
{rollingParams(deployapi.LifecycleHookFailurePolicyAbort, ""), false, false},
{rollingParams("", deployapi.LifecycleHookFailurePolicyAbort), true, true},
{rollingParams("", deployapi.LifecycleHookFailurePolicyAbort), false, false},
}
for _, tc := range cases {
config := deploytest.OkDeploymentConfig(2)
config.Spec.Strategy.RollingParams = tc.params
deployment, _ := deployutil.MakeDeployment(config, kapi.Codecs.LegacyCodec(registered.GroupOrDie(kapi.GroupName).GroupVersions[0]))
deployments[deployment.Name] = deployment
hookError = nil
if tc.hookShouldFail {
hookError = fmt.Errorf("hook failure")
}
strategy.out, strategy.errOut = &bytes.Buffer{}, &bytes.Buffer{}
err := strategy.Deploy(latest, deployment, 2)
if err != nil && tc.deploymentShouldFail {
t.Logf("got expected error: %v", err)
}
if err == nil && tc.deploymentShouldFail {
t.Errorf("expected an error for case: %#v", tc)
}
if err != nil && !tc.deploymentShouldFail {
t.Errorf("unexpected error for case: %#v: %v", tc, err)
}
}
}
示例7: TestRolling_deployRolling
func TestRolling_deployRolling(t *testing.T) {
latestConfig := deploytest.OkDeploymentConfig(1)
latestConfig.Template.Strategy = deploytest.OkRollingStrategy()
latest, _ := deployutil.MakeDeployment(latestConfig, kapi.Codec)
config := deploytest.OkDeploymentConfig(2)
config.Template.Strategy = deploytest.OkRollingStrategy()
deployment, _ := deployutil.MakeDeployment(config, kapi.Codec)
deployments := map[string]*kapi.ReplicationController{
latest.Name: latest,
deployment.Name: deployment,
}
var rollingConfig *kubectl.RollingUpdaterConfig
deploymentUpdated := false
strategy := &RollingDeploymentStrategy{
codec: api.Codec,
client: &rollingUpdaterClient{
GetReplicationControllerFn: func(namespace, name string) (*kapi.ReplicationController, error) {
return deployments[name], nil
},
UpdateReplicationControllerFn: func(namespace string, rc *kapi.ReplicationController) (*kapi.ReplicationController, error) {
if rc.Name != deployment.Name {
t.Fatalf("unexpected call to UpdateReplicationController for %s", rc.Name)
}
deploymentUpdated = true
return rc, nil
},
},
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor kubectl.UpdateAcceptor) error {
t.Fatalf("unexpected call to initial strategy")
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
rollingConfig = config
return nil
},
getUpdateAcceptor: getUpdateAcceptor,
}
err := strategy.Deploy(latest, deployment, 2)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if rollingConfig == nil {
t.Fatalf("expected rolling update to be invoked")
}
if e, a := latest, rollingConfig.OldRc; e != a {
t.Errorf("expected rollingConfig.OldRc %v, got %v", e, a)
}
if e, a := deployment, rollingConfig.NewRc; e != a {
t.Errorf("expected rollingConfig.NewRc %v, got %v", e, a)
}
if e, a := 1*time.Second, rollingConfig.Interval; e != a {
t.Errorf("expected Interval %d, got %d", e, a)
}
if e, a := 1*time.Second, rollingConfig.UpdatePeriod; e != a {
t.Errorf("expected UpdatePeriod %d, got %d", e, a)
}
if e, a := 20*time.Second, rollingConfig.Timeout; e != a {
t.Errorf("expected Timeout %d, got %d", e, a)
}
// verify hack
if e, a := 1, rollingConfig.NewRc.Spec.Replicas; e != a {
t.Errorf("expected rollingConfig.NewRc.Spec.Replicas %d, got %d", e, a)
}
// verify hack
if !deploymentUpdated {
t.Errorf("expected deployment to be updated for source annotation")
}
sid := fmt.Sprintf("%s:%s", latest.Name, latest.ObjectMeta.UID)
if e, a := sid, rollingConfig.NewRc.Annotations[sourceIdAnnotation]; e != a {
t.Errorf("expected sourceIdAnnotation %s, got %s", e, a)
}
}
示例8: TestRolling_deployRollingHooks
func TestRolling_deployRollingHooks(t *testing.T) {
config := deploytest.OkDeploymentConfig(1)
config.Template.Strategy = deploytest.OkRollingStrategy()
latest, _ := deployutil.MakeDeployment(config, kapi.Codec)
var hookError error
deployments := map[string]*kapi.ReplicationController{latest.Name: latest}
strategy := &RollingDeploymentStrategy{
codec: api.Codec,
client: &rollingUpdaterClient{
GetReplicationControllerFn: func(namespace, name string) (*kapi.ReplicationController, error) {
return deployments[name], nil
},
UpdateReplicationControllerFn: func(namespace string, rc *kapi.ReplicationController) (*kapi.ReplicationController, error) {
return rc, nil
},
},
initialStrategy: &testStrategy{
deployFn: func(from *kapi.ReplicationController, to *kapi.ReplicationController, desiredReplicas int, updateAcceptor kubectl.UpdateAcceptor) error {
t.Fatalf("unexpected call to initial strategy")
return nil
},
},
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
return nil
},
hookExecutor: &hookExecutorImpl{
executeFunc: func(hook *deployapi.LifecycleHook, deployment *kapi.ReplicationController, label string) error {
return hookError
},
},
getUpdateAcceptor: getUpdateAcceptor,
}
cases := []struct {
params *deployapi.RollingDeploymentStrategyParams
hookShouldFail bool
deploymentShouldFail bool
}{
{rollingParams(deployapi.LifecycleHookFailurePolicyAbort, ""), true, true},
{rollingParams(deployapi.LifecycleHookFailurePolicyAbort, ""), false, false},
{rollingParams("", deployapi.LifecycleHookFailurePolicyAbort), true, false},
{rollingParams("", deployapi.LifecycleHookFailurePolicyAbort), false, false},
}
for _, tc := range cases {
config := deploytest.OkDeploymentConfig(2)
config.Template.Strategy.RollingParams = tc.params
deployment, _ := deployutil.MakeDeployment(config, kapi.Codec)
deployments[deployment.Name] = deployment
hookError = nil
if tc.hookShouldFail {
hookError = fmt.Errorf("hook failure")
}
err := strategy.Deploy(latest, deployment, 2)
if err != nil && tc.deploymentShouldFail {
t.Logf("got expected error: %v", err)
}
if err == nil && tc.deploymentShouldFail {
t.Errorf("expected an error for case: %v", tc)
}
if err != nil && !tc.deploymentShouldFail {
t.Errorf("unexpected error for case: %v: %v", tc, err)
}
}
}