Merge pull request #15951 from kargakis/factory-expose-method

Make CanBeExposed and CanBeAutoscaled composable
pull/6/head
Jerzy Szczepkowski 2015-10-27 11:04:40 +01:00
commit 154923221f
2 changed files with 14 additions and 7 deletions

View File

@ -768,8 +768,8 @@ __EOF__
# Pre-condition: don't need
# Command
output_message=$(! kubectl expose nodes 127.0.0.1 2>&1 "${kube_flags[@]}")
# Post-condition: the error message has "invalid resource" string
kube::test::if_has_string "${output_message}" 'invalid resource'
# Post-condition: the error message has "cannot expose" string
kube::test::if_has_string "${output_message}" 'cannot expose'
### Try to generate a service with invalid name (exceeding maximum valid size)
# Pre-condition: use --name flag

View File

@ -262,14 +262,21 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
return generator, ok
},
CanBeExposed: func(kind string) error {
if kind != "ReplicationController" && kind != "Service" && kind != "Pod" {
return fmt.Errorf("invalid resource provided: %v, only a replication controller, service or pod is accepted", kind)
switch kind {
case "ReplicationController", "Service", "Pod":
// nothing to do here
default:
return fmt.Errorf("cannot expose a %s", kind)
}
return nil
},
CanBeAutoscaled: func(kind string) error { // TODO: support autoscale for deployments
if kind != "ReplicationController" {
return fmt.Errorf("invalid resource provided: %v, only a replication controller is accepted", kind)
CanBeAutoscaled: func(kind string) error {
switch kind {
// TODO: support autoscale for deployments
case "ReplicationController":
// nothing to do here
default:
return fmt.Errorf("cannot autoscale a %s", kind)
}
return nil
},