Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce multi-stage upgrade #2723

Merged
merged 4 commits into from
Apr 25, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions chart/templates/prometheus-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
### Prometheus RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-prometheus
namespace: {{.Namespace}}
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
Expand All @@ -31,4 +25,10 @@ subjects:
- kind: ServiceAccount
name: linkerd-prometheus
namespace: {{.Namespace}}
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-prometheus
namespace: {{.Namespace}}
{{- end}}
12 changes: 6 additions & 6 deletions chart/templates/proxy_injector-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
### Proxy Injector RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-proxy-injector
namespace: {{.Namespace}}
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand Down Expand Up @@ -41,4 +35,10 @@ roleRef:
kind: ClusterRole
name: linkerd-{{.Namespace}}-proxy-injector
apiGroup: rbac.authorization.k8s.io
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-proxy-injector
namespace: {{.Namespace}}
{{end -}}
12 changes: 6 additions & 6 deletions chart/templates/sp_validator-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
### Service Profile Validator RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
namespace: {{.Namespace}}
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand All @@ -35,4 +29,10 @@ roleRef:
kind: ClusterRole
name: linkerd-{{.Namespace}}-sp-validator
apiGroup: rbac.authorization.k8s.io
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
namespace: {{.Namespace}}
{{end -}}
11 changes: 8 additions & 3 deletions cli/cmd/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,7 @@ func (idvals *installIdentityValues) toIdentityContext() *pb.IdentityContext {
}
}

func validateArgs(args []string, flags *pflag.FlagSet, installOnlyFlags *pflag.FlagSet) (string, error) {
func validateArgs(args []string, flags *pflag.FlagSet, additionalFlags *pflag.FlagSet) (string, error) {
if len(args) > 1 {
return "", fmt.Errorf("only zero or one argument permitted, received: %s", args)
} else if len(args) == 0 {
Expand All @@ -909,12 +909,17 @@ func validateArgs(args []string, flags *pflag.FlagSet, installOnlyFlags *pflag.F
if stage == configStage {
combinedFlags := pflag.NewFlagSet("combined-flags", pflag.ExitOnError)
combinedFlags.AddFlagSet(flags)
combinedFlags.AddFlagSet(installOnlyFlags)
combinedFlags.AddFlagSet(additionalFlags)

invalidFlags := make([]string, 0)
combinedFlags.VisitAll(func(f *pflag.Flag) {
if f.Changed {
invalidFlags = append(invalidFlags, f.Name)
switch f.Name {
case "ignore-cluster":
// allow `linkerd install config --ignore-cluster`
default:
invalidFlags = append(invalidFlags, f.Name)
}
}
})
if len(invalidFlags) > 0 {
Expand Down
32 changes: 16 additions & 16 deletions cli/cmd/testdata/install_config.golden
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,6 @@ spec:
### Prometheus RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-prometheus
namespace: linkerd
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
Expand All @@ -220,16 +214,16 @@ subjects:
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-proxy-injector
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand Down Expand Up @@ -262,16 +256,16 @@ roleRef:
name: linkerd-linkerd-proxy-injector
apiGroup: rbac.authorization.k8s.io
---
###
### Service Profile Validator RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
name: linkerd-proxy-injector
namespace: linkerd
---
###
### Service Profile Validator RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand All @@ -298,3 +292,9 @@ roleRef:
name: linkerd-linkerd-sp-validator
apiGroup: rbac.authorization.k8s.io
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
namespace: linkerd
---
32 changes: 16 additions & 16 deletions cli/cmd/testdata/install_default.golden
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,6 @@ spec:
### Prometheus RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-prometheus
namespace: linkerd
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
Expand All @@ -220,16 +214,16 @@ subjects:
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-proxy-injector
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand Down Expand Up @@ -262,16 +256,16 @@ roleRef:
name: linkerd-linkerd-proxy-injector
apiGroup: rbac.authorization.k8s.io
---
###
### Service Profile Validator RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
name: linkerd-proxy-injector
namespace: linkerd
---
###
### Service Profile Validator RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand All @@ -298,6 +292,12 @@ roleRef:
name: linkerd-linkerd-sp-validator
apiGroup: rbac.authorization.k8s.io
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
namespace: linkerd
---
kind: ConfigMap
apiVersion: v1
metadata:
Expand Down
32 changes: 16 additions & 16 deletions cli/cmd/testdata/install_ha_output.golden
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,6 @@ spec:
### Prometheus RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-prometheus
namespace: linkerd
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
Expand All @@ -220,16 +214,16 @@ subjects:
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-proxy-injector
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand Down Expand Up @@ -262,16 +256,16 @@ roleRef:
name: linkerd-linkerd-proxy-injector
apiGroup: rbac.authorization.k8s.io
---
###
### Service Profile Validator RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
name: linkerd-proxy-injector
namespace: linkerd
---
###
### Service Profile Validator RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand All @@ -298,6 +292,12 @@ roleRef:
name: linkerd-linkerd-sp-validator
apiGroup: rbac.authorization.k8s.io
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
namespace: linkerd
---
kind: ConfigMap
apiVersion: v1
metadata:
Expand Down
32 changes: 16 additions & 16 deletions cli/cmd/testdata/install_ha_with_overrides_output.golden
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,6 @@ spec:
### Prometheus RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-prometheus
namespace: linkerd
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
Expand All @@ -220,16 +214,16 @@ subjects:
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-proxy-injector
name: linkerd-prometheus
namespace: linkerd
---
###
### Proxy Injector RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand Down Expand Up @@ -262,16 +256,16 @@ roleRef:
name: linkerd-linkerd-proxy-injector
apiGroup: rbac.authorization.k8s.io
---
###
### Service Profile Validator RBAC
###
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
name: linkerd-proxy-injector
namespace: linkerd
---
###
### Service Profile Validator RBAC
###
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
Expand All @@ -298,6 +292,12 @@ roleRef:
name: linkerd-linkerd-sp-validator
apiGroup: rbac.authorization.k8s.io
---
kind: ServiceAccount
apiVersion: v1
metadata:
name: linkerd-sp-validator
namespace: linkerd
---
kind: ConfigMap
apiVersion: v1
metadata:
Expand Down
Loading