Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

Commit e658916

Browse files
authored
Upgrade CRD to apiextensions.k8s.io/v1 to support k8s >= 1.22 (#72)
1 parent 2746a34 commit e658916

File tree

1,280 files changed

+254831
-44316
lines changed

Some content is hidden

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

1,280 files changed

+254831
-44316
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ A Framework represents an application with a set of Tasks:
7575
12. Aligned with Kubernetes [Controller Design Guidelines](https://github.com/kubernetes/community/blob/f0dd87ad477e1e91c53866902adf7832c32ce543/contributors/devel/sig-api-machinery/controllers.md) and [API Conventions](https://github.com/kubernetes/community/blob/a2cdce51a0bbbc214f0e8813e0a877176ad3b6c9/contributors/devel/sig-architecture/api-conventions.md)
7676

7777
## Prerequisite
78-
1. A Kubernetes cluster, v1.14.2 or above, on-cloud or on-premise.
78+
1. A Kubernetes cluster, v1.16.15 or above, on-cloud or on-premise.
7979

8080
## Quick Start
8181
1. [Run Controller](example/run)

doc/user-manual.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ As Framework is actually a [Kubernetes CRD](https://kubernetes.io/docs/concepts/
4040
| API Kind | Operations |
4141
|:---- |:---- |
4242
| Framework | [CREATE](#CREATE_Framework) [DELETE](#DELETE_Framework) [GET](#GET_Framework) [LIST](#LIST_Frameworks) [WATCH](#WATCH_Framework) [WATCH_LIST](#WATCH_LIST_Frameworks)<br>[PATCH](#PATCH_Framework) ([Start](#Start_Framework), [Stop](#Stop_Framework), [Add TaskRole](#Add_TaskRole), [Delete TaskRole](#Delete_TaskRole), [Add/Delete Task](#Add_Delete_Task)) |
43-
| [ConfigMap](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#configmap-v1-core) | All operations except for [CREATE](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#create-configmap-v1-core) [PUT](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#replace-configmap-v1-core) [PATCH](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#patch-configmap-v1-core) |
44-
| [Pod](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#pod-v1-core) | All operations except for [CREATE](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#create-pod-v1-core) [PUT](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#replace-pod-v1-core) [PATCH](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#patch-pod-v1-core) |
43+
| [ConfigMap](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#configmap-v1-core) | All operations except for [CREATE](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#create-configmap-v1-core) [PUT](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#replace-configmap-v1-core) [PATCH](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#patch-configmap-v1-core) |
44+
| [Pod](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#pod-v1-core) | All operations except for [CREATE](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#create-pod-v1-core) [PUT](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#replace-pod-v1-core) [PATCH](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#patch-pod-v1-core) |
4545

4646
#### <a name="CREATE_Framework">CREATE Framework</a>
4747
**Request**
@@ -65,7 +65,7 @@ Any [ExecutionType](#FrameworkExecutionType) can be specified to create the Fram
6565
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
6666
| Created(201) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
6767
| Accepted(202) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
68-
| Conflict(409) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework already exists. |
68+
| Conflict(409) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework already exists. |
6969

7070
#### <a name="PATCH_Framework">PATCH Framework</a>
7171
##### <a name="Start_Framework">Start Framework</a>
@@ -98,7 +98,7 @@ Before the Start, the Framework will not start to run or complete, but the objec
9898
| Code | Body | Description |
9999
|:---- |:---- |:---- |
100100
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
101-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
101+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
102102

103103
##### <a name="Stop_Framework">Stop Framework</a>
104104
**Request**
@@ -130,7 +130,7 @@ After the Stop, the Framework will start to complete, but the object of the Fram
130130
| Code | Body | Description |
131131
|:---- |:---- |:---- |
132132
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
133-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
133+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
134134

135135
##### <a name="Add_TaskRole">Add TaskRole</a>
136136
**Request**
@@ -164,7 +164,7 @@ See more in [Framework ScaleUp/ScaleDown](#FrameworkRescale).
164164
| Code | Body | Description |
165165
|:---- |:---- |:---- |
166166
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
167-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
167+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
168168

169169
##### <a name="Delete_TaskRole">Delete TaskRole</a>
170170
**Request**
@@ -205,8 +205,8 @@ Notes:
205205
| Code | Body | Description |
206206
|:---- |:---- |:---- |
207207
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
208-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
209-
| UnprocessableEntity(422) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified $(TaskRoleName) does not exist or does not match the specified $(TaskRoleIndex). |
208+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
209+
| UnprocessableEntity(422) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified $(TaskRoleName) does not exist or does not match the specified $(TaskRoleIndex). |
210210

211211
##### <a name="Add_Delete_Task">Add/Delete Task</a>
212212
**Request**
@@ -272,8 +272,8 @@ See more in [Framework ScaleUp/ScaleDown](#FrameworkRescale).
272272
| Code | Body | Description |
273273
|:---- |:---- |:---- |
274274
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
275-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
276-
| UnprocessableEntity(422) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified $(TaskRoleName) does not exist or does not match the specified $(TaskRoleIndex). |
275+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
276+
| UnprocessableEntity(422) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified $(TaskRoleName) does not exist or does not match the specified $(TaskRoleIndex). |
277277

278278
#### <a name="DELETE_Framework">DELETE Framework</a>
279279
**Request**
@@ -301,15 +301,15 @@ Delete the specified Framework.
301301
302302
Notes:
303303
* If you need to achieve all the [Framework ConsistencyGuarantees](#ConsistencyGuarantees) or achieve higher [Framework Availability](#FrameworkAvailability) by leveraging the [PodGracefulDeletionTimeoutSec](../pkg/apis/frameworkcontroller/v1/types.go), you should always use and only use the [Foreground Deletion](https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/#foreground-cascading-deletion) in the provided body.
304-
* However, `kubectl delete` does not support to specify the Foreground Deletion at least for [Kubernetes v1.14.2](https://github.com/kubernetes/kubernetes/issues/66110#issuecomment-413761559), so you may have to use other [Supported Client](#SupportedClient).
304+
* However, `kubectl delete` does not support to specify the Foreground Deletion at least for [Kubernetes v1.23.2](https://github.com/kubernetes/kubernetes/issues/66110#issuecomment-413761559), so you may have to use other [Supported Client](#SupportedClient).
305305

306306
**Response**
307307

308308
| Code | Body | Description |
309309
|:---- |:---- |:---- |
310310
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | The specified Framework is deleting.<br>Return current Framework. |
311-
| OK(200) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is deleted. |
312-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
311+
| OK(200) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is deleted. |
312+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
313313

314314
#### <a name="GET_Framework">GET Framework</a>
315315
**Request**
@@ -325,15 +325,15 @@ Get the specified Framework.
325325
| Code | Body | Description |
326326
|:---- |:---- |:---- |
327327
| OK(200) | [Framework](../pkg/apis/frameworkcontroller/v1/types.go) | Return current Framework. |
328-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
328+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
329329

330330
#### <a name="LIST_Frameworks">LIST Frameworks</a>
331331
**Request**
332332

333333
GET /apis/frameworkcontroller.microsoft.com/v1/namespaces/{FrameworkNamespace}/frameworks
334334
GET /apis/frameworkcontroller.microsoft.com/v1/frameworks
335335

336-
QueryParameters: Same as [StatefulSet QueryParameters](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#list-statefulset-v1-apps)
336+
QueryParameters: Same as [StatefulSet QueryParameters](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#list-statefulset-v1-apps)
337337

338338
**Description**
339339

@@ -350,7 +350,7 @@ Get all Frameworks (in the specified FrameworkNamespace).
350350

351351
GET /apis/frameworkcontroller.microsoft.com/v1/watch/namespaces/{FrameworkNamespace}/frameworks/{FrameworkName}
352352

353-
QueryParameters: Same as [StatefulSet QueryParameters](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#watch-statefulset-v1-apps)
353+
QueryParameters: Same as [StatefulSet QueryParameters](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#watch-statefulset-v1-apps)
354354

355355
**Description**
356356

@@ -360,16 +360,16 @@ Watch the change events of the specified Framework.
360360

361361
| Code | Body | Description |
362362
|:---- |:---- |:---- |
363-
| OK(200) | [WatchEvent](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#watchevent-v1-meta) | Streaming the change events of the specified Framework. |
364-
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#status-v1-meta) | The specified Framework is not found. |
363+
| OK(200) | [WatchEvent](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#watchevent-v1-meta) | Streaming the change events of the specified Framework. |
364+
| NotFound(404) | [Status](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#status-v1-meta) | The specified Framework is not found. |
365365

366366
#### <a name="WATCH_LIST_Frameworks">WATCH_LIST Frameworks</a>
367367
**Request**
368368

369369
GET /apis/frameworkcontroller.microsoft.com/v1/watch/namespaces/{FrameworkNamespace}/frameworks
370370
GET /apis/frameworkcontroller.microsoft.com/v1/watch/frameworks
371371

372-
QueryParameters: Same as [StatefulSet QueryParameters](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#watch-list-statefulset-v1-apps)
372+
QueryParameters: Same as [StatefulSet QueryParameters](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#watch-list-statefulset-v1-apps)
373373

374374
**Description**
375375

@@ -379,7 +379,7 @@ Watch the change events of all Frameworks (in the specified FrameworkNamespace).
379379

380380
| Code | Body | Description |
381381
|:---- |:---- |:---- |
382-
| OK(200) | [WatchEvent](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#watchevent-v1-meta) | Streaming the change events of all Frameworks (in the specified FrameworkNamespace). |
382+
| OK(200) | [WatchEvent](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#watchevent-v1-meta) | Streaming the change events of all Frameworks (in the specified FrameworkNamespace). |
383383

384384
## <a name="FrameworkExecutionType">Framework ExecutionType</a>
385385
Framework [ExecutionType](../pkg/apis/frameworkcontroller/v1/types.go) can be specified to control the execution of the Framework:
@@ -422,7 +422,7 @@ spec:
422422
image: ubuntu:trusty
423423
command: ["sh", "-c", "printenv && sleep infinity"]
424424
```
425-
2. Use above creation response's `metadata.uid` to override below {{FrameworkUID}}, and [Create ServiceAccount](https://v1-14.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#create-serviceaccount-v1-core) with above Framework reference as below:
425+
2. Use above creation response's `metadata.uid` to override below {{FrameworkUID}}, and [Create ServiceAccount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#create-serviceaccount-v1-core) with above Framework reference as below:
426426
```yaml
427427
apiVersion: v1
428428
kind: ServiceAccount

go.mod

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,18 @@ module github.com/microsoft/frameworkcontroller
33
go 1.12
44

55
require (
6-
github.com/evanphx/json-patch v4.2.0+incompatible // indirect
7-
github.com/gogo/protobuf v1.2.1 // indirect
86
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
9-
github.com/golang/protobuf v1.3.1 // indirect
10-
github.com/google/gofuzz v1.0.0 // indirect
117
github.com/google/uuid v1.1.2 // indirect
128
github.com/googleapis/gnostic v0.2.0 // indirect
13-
github.com/hashicorp/golang-lru v0.5.1 // indirect
149
github.com/imdario/mergo v0.3.7 // indirect
15-
github.com/json-iterator/go v1.1.6 // indirect
16-
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 // indirect
17-
github.com/pborman/uuid v1.2.1 // indirect
1810
github.com/pkg/errors v0.8.1
19-
github.com/spf13/pflag v1.0.3 // indirect
20-
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5 // indirect
21-
golang.org/x/net v0.0.0-20190603091049-60506f45cf65 // indirect
22-
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
23-
golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed // indirect
24-
golang.org/x/text v0.3.2 // indirect
25-
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
2611
google.golang.org/appengine v1.6.0 // indirect
27-
gopkg.in/inf.v0 v0.9.1 // indirect
28-
gopkg.in/yaml.v2 v2.2.2
29-
k8s.io/api v0.0.0-20190516230258-a675ac48af67
30-
k8s.io/apiextensions-apiserver v0.0.0-20190516231611-bf6753f2aa24
31-
k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d
32-
k8s.io/client-go v0.0.0-20190516230509-ae8359b20417
33-
k8s.io/klog v0.3.2
34-
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208 // indirect
35-
k8s.io/utils v0.0.0-20190529001817-6999998975a7 // indirect
36-
sigs.k8s.io/yaml v1.1.0 // indirect
12+
gopkg.in/yaml.v2 v2.2.8
13+
k8s.io/api v0.16.15
14+
k8s.io/apiextensions-apiserver v0.16.15
15+
k8s.io/apimachinery v0.16.15
16+
k8s.io/client-go v0.16.15
17+
k8s.io/code-generator v0.16.15
18+
k8s.io/klog v1.0.0
19+
sigs.k8s.io/yaml v1.2.0 // indirect
3720
)

0 commit comments

Comments
 (0)