Skip to content

Commit 56f9327

Browse files
author
zryfish
authored
Merge pull request #163 from JohnNiang/bug/admission-review-v1-not-found
Upgrade controller-manager from 0.4.0 to 0.7.1
2 parents 014d648 + c2e7e3f commit 56f9327

File tree

2,908 files changed

+2963
-1157590
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,908 files changed

+2963
-1157590
lines changed

Makefile

+50-12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ IMG ?= kubespheredev/s2ioperator:latest
44
NAMESPACE ?= kubesphere-devops-system
55
export GO111MODULE=on
66

7+
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
8+
ifeq (,$(shell go env GOBIN))
9+
GOBIN=$(shell go env GOPATH)/bin
10+
else
11+
GOBIN=$(shell go env GOBIN)
12+
endif
13+
14+
# Setting SHELL to bash allows bash commands to be executed by recipes.
15+
# This is a requirement for 'setup-envtest.sh' in the test target.
16+
# Options are set to exit when a recipe line exits non-zero or a piped command fails.
17+
SHELL = /usr/bin/env bash -o pipefail
18+
.SHELLFLAGS = -ec
19+
720
all: test manager
821

922
# Run tests
@@ -23,14 +36,14 @@ install-crd: manifests
2336
kubectl apply -f config/crds
2437

2538
# Deploy controller in the configured Kubernetes cluster in ~/.kube/config
26-
deploy: manifests update-cert
39+
deploy: manifests update-cert kustomize
2740
kubectl apply -f config/templates
2841
kubectl apply -f config/crds
29-
kubectl kustomize config | kubectl apply -f -
42+
$(KUSTOMIZE) config | kubectl apply -f -
3043

3144
# Generate manifests e.g. CRD, RBAC etc.
32-
manifests:
33-
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd:trivialVersions=true rbac:roleName=manager-role paths="./pkg/apis/...;./pkg/controller/..." output:crd:artifacts:config=config/crds
45+
manifests: controller-gen
46+
$(CONTROLLER_GEN) crd:trivialVersions=true rbac:roleName=manager-role paths="./pkg/apis/...;./pkg/controller/..." output:crd:artifacts:config=config/crds
3447

3548
# Run go fmt against code
3649
fmt:
@@ -44,13 +57,12 @@ client-gen:
4457
./hack/generate_group.sh all github.com/kubesphere/s2ioperator/pkg/client github.com/kubesphere/s2ioperator/pkg/apis "devops:v1alpha1" --go-header-file ./hack/boilerplate.go.txt
4558

4659
# Generate code
47-
generate:
48-
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go object:headerFile=./hack/boilerplate.go.txt paths=./pkg/apis/...
49-
go run vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go -O openapi_generated -i k8s.io/api/core/v1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/util/intstr,k8s.io/apimachinery/pkg/version,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1 -p github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1 -h hack/boilerplate.go.txt --report-filename api/api-rules/violation_exceptions.list
50-
60+
generate: controller-gen openapi-gen
61+
$(CONTROLLER_GEN) object:headerFile=./hack/boilerplate.go.txt paths=./pkg/apis/...
62+
$(OPENAPI_GEN) -O openapi_generated -i k8s.io/api/core/v1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/util/intstr,k8s.io/apimachinery/pkg/version,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1 -p github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1 -h hack/boilerplate.go.txt --report-filename api/api-rules/violation_exceptions.list
5163

5264
# Build the docker image
53-
docker-build:
65+
docker-build: manager
5466
docker build -f deploy/Dockerfile -t $(IMG) bin/
5567
docker push $(IMG)
5668

@@ -60,8 +72,8 @@ image-multiarch:
6072
debug: manager
6173
./hack/build-image.sh
6274

63-
release: manager test docker-build update-cert
64-
kubectl kustomize config > deploy/s2ioperator.yaml
75+
release: kustomize manager test docker-build update-cert
76+
$(KUSTOMIZE) config > deploy/s2ioperator.yaml
6577

6678
install-travis:
6779
chmod +x ./hack/*.sh
@@ -78,4 +90,30 @@ ca-secret:
7890
update-cert: ca-secret
7991
./hack/update-cert.sh
8092

81-
.PHONY : clean test
93+
.PHONY : clean test
94+
95+
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
96+
controller-gen: ## Download controller-gen locally if necessary.
97+
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/[email protected])
98+
99+
KUSTOMIZE = $(shell pwd)/bin/kustomize
100+
kustomize: ## Download kustomize locally if necessary.
101+
$(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/[email protected])
102+
103+
OPENAPI_GEN = $(shell pwd)/bin/openapi-gen
104+
openapi-gen: ## Download openapi-gen locally if necessary
105+
$(call go-get-tool,$(OPENAPI_GEN),k8s.io/code-generator/cmd/[email protected])
106+
107+
# go-get-tool will 'go get' any package $2 and install it to $1.
108+
PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
109+
define go-get-tool
110+
@[ -f $(1) ] || { \
111+
set -e ;\
112+
TMP_DIR=$$(mktemp -d) ;\
113+
cd $$TMP_DIR ;\
114+
go mod init tmp ;\
115+
echo "Downloading $(2)" ;\
116+
GOBIN=$(PROJECT_DIR)/bin go install $(2) ;\
117+
rm -rf $$TMP_DIR ;\
118+
}
119+
endef

api/api-rules/violation_exceptions.list

+2-23
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis
44
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,Parameter,OptValues
55
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iAutoScale,Containers
66
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iBuildResult,ImageRepoTags
7-
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iBuilderList,Items
8-
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iBuilderTemplateList,Items
97
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iBuilderTemplateSpec,ContainerInfo
108
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iBuilderTemplateSpec,Parameters
119
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iConfig,AddHost
@@ -16,16 +14,13 @@ API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis
1614
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iConfig,NodeAffinityValues
1715
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iConfig,RuntimeArtifacts
1816
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iConfig,SecurityOpt
19-
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,S2iRunList,Items
2017
API rule violation: list_type_missing,github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1,UserDefineTemplate,Parameters
2118
API rule violation: list_type_missing,k8s.io/api/core/v1,AvoidPods,PreferAvoidPods
2219
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Add
2320
API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Drop
2421
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSPersistentVolumeSource,Monitors
2522
API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSVolumeSource,Monitors
2623
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatus,Conditions
27-
API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatusList,Items
28-
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapList,Items
2924
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapProjection,Items
3025
API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapVolumeSource,Items
3126
API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args
@@ -41,7 +36,6 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Addresse
4136
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,NotReadyAddresses
4237
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Ports
4338
API rule violation: list_type_missing,k8s.io/api/core/v1,Endpoints,Subsets
44-
API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointsList,Items
4539
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Args
4640
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Command
4741
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env
@@ -50,23 +44,18 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommo
5044
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices
5145
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts
5246
API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainers,EphemeralContainers
53-
API rule violation: list_type_missing,k8s.io/api/core/v1,EventList,Items
5447
API rule violation: list_type_missing,k8s.io/api/core/v1,ExecAction,Command
5548
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,TargetWWNs
5649
API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,WWIDs
5750
API rule violation: list_type_missing,k8s.io/api/core/v1,HTTPGetAction,HTTPHeaders
5851
API rule violation: list_type_missing,k8s.io/api/core/v1,HostAlias,Hostnames
5952
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,Portals
6053
API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIVolumeSource,Portals
61-
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeList,Items
6254
API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeSpec,Limits
63-
API rule violation: list_type_missing,k8s.io/api/core/v1,List,Items
6455
API rule violation: list_type_missing,k8s.io/api/core/v1,LoadBalancerStatus,Ingress
65-
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceList,Items
6656
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceSpec,Finalizers
6757
API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceStatus,Conditions
6858
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeAffinity,PreferredDuringSchedulingIgnoredDuringExecution
69-
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeList,Items
7059
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelector,NodeSelectorTerms
7160
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorRequirement,Values
7261
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchExpressions
@@ -78,11 +67,9 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Conditions
7867
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Images
7968
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesAttached
8069
API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesInUse
81-
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimList,Items
8270
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimSpec,AccessModes
8371
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,AccessModes
8472
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,Conditions
85-
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeList,Items
8673
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,AccessModes
8774
API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,MountOptions
8875
API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,PreferredDuringSchedulingIgnoredDuringExecution
@@ -94,7 +81,6 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Nameserver
9481
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Options
9582
API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Searches
9683
API rule violation: list_type_missing,k8s.io/api/core/v1,PodExecOptions,Command
97-
API rule violation: list_type_missing,k8s.io/api/core/v1,PodList,Items
9884
API rule violation: list_type_missing,k8s.io/api/core/v1,PodPortForwardOptions,Ports
9985
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,SupplementalGroups
10086
API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,Sysctls
@@ -111,26 +97,21 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,ContainerStat
11197
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,EphemeralContainerStatuses
11298
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,InitContainerStatuses
11399
API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,PodIPs
114-
API rule violation: list_type_missing,k8s.io/api/core/v1,PodTemplateList,Items
115100
API rule violation: list_type_missing,k8s.io/api/core/v1,ProjectedVolumeSource,Sources
116101
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
117102
API rule violation: list_type_missing,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
118103
API rule violation: list_type_missing,k8s.io/api/core/v1,RangeAllocation,Data
119-
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerList,Items
120104
API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerStatus,Conditions
121-
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaList,Items
122105
API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaSpec,Scopes
123106
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopeSelector,MatchExpressions
124107
API rule violation: list_type_missing,k8s.io/api/core/v1,ScopedResourceSelectorRequirement,Values
125-
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretList,Items
126108
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretProjection,Items
127109
API rule violation: list_type_missing,k8s.io/api/core/v1,SecretVolumeSource,Items
128110
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,ImagePullSecrets
129111
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,Secrets
130-
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccountList,Items
131-
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceList,Items
132112
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,ExternalIPs
133113
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,LoadBalancerSourceRanges
114+
API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,TopologyKeys
134115
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorLabelRequirement,Values
135116
API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorTerm,MatchLabelExpressions
136117
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
@@ -146,11 +127,9 @@ API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Delet
146127
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
147128
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
148129
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
149-
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
150130
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
151131
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
152132
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
153-
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
154133
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
155134
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
156135
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
@@ -182,7 +161,7 @@ API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,S
182161
API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,DiscoveryCHAPAuth
183162
API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,SessionCHAPAuth
184163
API rule violation: names_match,k8s.io/api/core/v1,NodeResources,Capacity
185-
API rule violation: names_match,k8s.io/api/core/v1,NodeSpec,DoNotUse_ExternalID
164+
API rule violation: names_match,k8s.io/api/core/v1,NodeSpec,DoNotUseExternalID
186165
API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,CephFS
187166
API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,StorageOS
188167
API rule violation: names_match,k8s.io/api/core/v1,PodSpec,DeprecatedServiceAccount

cmd/manager/main.go

+18-5
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,32 @@ package main
1818

1919
import (
2020
"flag"
21+
"os"
22+
2123
"github.com/kubesphere/s2ioperator/pkg/apis"
2224
"github.com/kubesphere/s2ioperator/pkg/apis/devops/v1alpha1"
2325
"github.com/kubesphere/s2ioperator/pkg/controller"
2426
"github.com/kubesphere/s2ioperator/pkg/handler"
2527
"github.com/kubesphere/s2ioperator/pkg/metrics"
2628
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
27-
"os"
29+
"k8s.io/klog/klogr"
30+
ctrl "sigs.k8s.io/controller-runtime"
2831
"sigs.k8s.io/controller-runtime/pkg/client/config"
2932
"sigs.k8s.io/controller-runtime/pkg/manager"
3033
"sigs.k8s.io/controller-runtime/pkg/manager/signals"
31-
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
3234
)
3335

36+
func init() {
37+
// At startup, the default logger in controller runtime is a nil logger.
38+
// We set it to klogr that is implemented by klog.
39+
ctrl.SetLogger(klogr.New())
40+
}
41+
3442
func main() {
3543
var metricsAddr string
3644
flag.StringVar(&metricsAddr, "metrics-addr", ":8080", "The address the metric endpoint binds to.")
3745
flag.Parse()
38-
logf.SetLogger(logf.ZapLogger(false))
39-
log := logf.Log.WithName("entrypoint")
46+
log := ctrl.Log.WithName("entrypoint")
4047

4148
// Get a config to talk to the apiserver
4249
log.Info("setting up client for manager")
@@ -48,7 +55,13 @@ func main() {
4855

4956
// Create a newgo Cmd to provide shared dependencies and start components
5057
log.Info("setting up manager")
51-
mgr, err := manager.New(cfg, manager.Options{MetricsBindAddress: metricsAddr})
58+
mgr, err := manager.New(cfg, manager.Options{
59+
MetricsBindAddress: metricsAddr,
60+
// We have to set the port to 443 for consistency, because the default port value has been changed
61+
// from 443 to 9443 after controller-runtime 0.7.0
62+
// Please see also https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.7.0
63+
Port: 443,
64+
})
5265
if err != nil {
5366
log.Error(err, "unable to set up overall controller manager")
5467
os.Exit(1)

0 commit comments

Comments
 (0)