From 64671208fbf0764e7ab27bff096e4b006618b670 Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Mon, 12 Feb 2024 22:18:44 +0200 Subject: [PATCH] build: update to controller-tools 0.14.0. Update controller-tools to 0.14.0. It handles some errors better than simply throwing a panic, leaving the user with little to no hint about what is really wrong. Regenerate CRDs since this version also generates multiline YAML strings differently than 0.12.0. Signed-off-by: Krisztian Litkey --- Makefile | 2 +- .../bases/config.nri_balloonspolicies.yaml | 176 ++++++++++-------- .../bases/config.nri_templatepolicies.yaml | 37 ++-- .../config.nri_topologyawarepolicies.yaml | 83 +++++---- .../crds/config.nri_balloonspolicies.yaml | 176 ++++++++++-------- .../crds/config.nri_templatepolicies.yaml | 37 ++-- .../config.nri_topologyawarepolicies.yaml | 83 +++++---- .../log/klogcontrol/zz_generated.deepcopy.go | 1 - .../v1alpha1/log/zz_generated.deepcopy.go | 1 - .../control/cpu/zz_generated.deepcopy.go | 1 - .../resmgr/control/zz_generated.deepcopy.go | 1 - .../policy/balloons/zz_generated.deepcopy.go | 1 - .../policy/template/zz_generated.deepcopy.go | 1 - .../topologyaware/zz_generated.deepcopy.go | 1 - .../config/v1alpha1/zz_generated.deepcopy.go | 1 - 15 files changed, 339 insertions(+), 263 deletions(-) diff --git a/Makefile b/Makefile index 568b773af..03e0c5895 100644 --- a/Makefile +++ b/Makefile @@ -446,7 +446,7 @@ CLIENT_GEN ?= $(LOCALBIN)/client-gen GIT_CLONE := git clone # External generation tool versions -CONTROLLER_TOOLS_VERSION ?= v0.12.0 +CONTROLLER_TOOLS_VERSION ?= v0.14.0 CLIENT_GEN_VERSION ?= v0.28.1 CODE_GENERATOR_REPO ?= https://github.com/kubernetes/code-generator CODE_GENERATOR_VERSION ?= v0.28.1 diff --git a/config/crd/bases/config.nri_balloonspolicies.yaml b/config/crd/bases/config.nri_balloonspolicies.yaml index e39fd0adc..2fe4b12e8 100644 --- a/config/crd/bases/config.nri_balloonspolicies.yaml +++ b/config/crd/bases/config.nri_balloonspolicies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: balloonspolicies.config.nri spec: group: config.nri @@ -21,14 +21,19 @@ spec: policy. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,12 +41,14 @@ spec: description: BalloonsPolicySpec describes a balloons policy. properties: allocatorTopologyBalancing: - description: 'If AllocatorTopologyBalancing is true, balloons are - allocated and resized so that all topology elements (packages, dies, - numa nodes, cores) have roughly same amount of allocations. The - default is false: balloons are packed tightly to optimize power - efficiency. The value set here can be overridden with the balloon - type specific setting with the same name.' + description: |- + If AllocatorTopologyBalancing is true, balloons are + allocated and resized so that all topology elements + (packages, dies, numa nodes, cores) have roughly same + amount of allocations. The default is false: balloons are + packed tightly to optimize power efficiency. The value set + here can be overridden with the balloon type specific + setting with the same name. type: boolean availableResources: additionalProperties: @@ -55,10 +62,11 @@ spec: properties: allocatorPriority: default: high - description: AllocatorPriority (High, Normal, Low, None) This - parameter is passed to CPU allocator when creating or resizing - a balloon. At init, balloons with highest priority CPUs are - allocated first. + description: |- + AllocatorPriority (High, Normal, Low, None) + This parameter is passed to CPU allocator when creating or + resizing a balloon. At init, balloons with highest priority + CPUs are allocated first. enum: - high - normal @@ -66,82 +74,93 @@ spec: - none type: string allocatorTopologyBalancing: - description: AllocatorTopologyBalancing is the balloon type - specific parameter of the policy level parameter with the - same name. + description: |- + AllocatorTopologyBalancing is the balloon type specific + parameter of the policy level parameter with the same name. type: boolean cpuClass: - description: CpuClass controls how CPUs of a balloon are (re)configured + description: |- + CpuClass controls how CPUs of a balloon are (re)configured whenever a balloon is created, inflated or deflated. type: string maxBalloons: - description: MaxBalloons is the maximum number of balloon instances - that is allowed to co-exist. If reached, new balloons cannot - be created anymore. + description: |- + MaxBalloons is the maximum number of balloon instances that + is allowed to co-exist. If reached, new balloons cannot be + created anymore. type: integer maxCPUs: - description: MaxCpus specifies the maximum number of CPUs exclusively + description: |- + MaxCpus specifies the maximum number of CPUs exclusively usable by containers in a balloon. Balloon size will not be inflated larger than MaxCpus. type: integer minBalloons: - description: MinBalloons is the number of balloon instances - that always exist even if they would become empty. At init - this number of instances will be created before assigning - any containers. + description: |- + MinBalloons is the number of balloon instances that always + exist even if they would become empty. At init this number + of instances will be created before assigning any + containers. type: integer minCPUs: - description: MinCpus specifies the minimum number of CPUs exclusively + description: |- + MinCpus specifies the minimum number of CPUs exclusively usable by containers in a balloon. When new balloon is created, - this will be the number of CPUs reserved for it even if a - container would request less. + this will be the number of CPUs reserved for it even if a container + would request less. type: integer name: description: Name of the balloon definition. type: string namespaces: - description: Namespaces control which namespaces are assigned - into balloon instances from this definition. This is used - by namespace assign methods. + description: |- + Namespaces control which namespaces are assigned into + balloon instances from this definition. This is used by + namespace assign methods. items: type: string type: array preferCloseToDevices: - description: 'PreferCloseToDevices: prefer creating new balloons - of this type close to listed devices.' + description: |- + PreferCloseToDevices: prefer creating new balloons of this + type close to listed devices. items: type: string type: array preferNewBalloons: - description: 'PreferNewBalloons: prefer creating new balloons - over adding containers to existing balloons. The default is - false: prefer using filling free capacity and possibly inflating - existing balloons before creating new ones.' + description: |- + PreferNewBalloons: prefer creating new balloons over adding + containers to existing balloons. The default is false: + prefer using filling free capacity and possibly inflating + existing balloons before creating new ones. type: boolean preferPerNamespaceBalloon: - description: 'PreferPerNamespaceBalloon: if true, containers - in different namespaces are preferrably placed in separate - balloons, even if the balloon type is the same for all of - them. On the other hand, containers in the same namespace - will be placed in the same balloon instances. The default - is false: namespaces have no effect on placement.' + description: |- + PreferPerNamespaceBalloon: if true, containers in different + namespaces are preferrably placed in separate balloons, + even if the balloon type is the same for all of them. On + the other hand, containers in the same namespace will be + placed in the same balloon instances. The default is false: + namespaces have no effect on placement. type: boolean preferSpreadOnPhysicalCores: - description: PreferSpreadOnPhysicalCores is the balloon type - specific parameter of the policy level parameter with the - same name. + description: |- + PreferSpreadOnPhysicalCores is the balloon type specific + parameter of the policy level parameter with the same name. type: boolean preferSpreadingPods: - description: 'PreferSpreadingPods: containers of the same pod - may be placed on separate balloons. The default is false: - prefer placing containers of a pod to the same balloon(s).' + description: |- + PreferSpreadingPods: containers of the same pod may be + placed on separate balloons. The default is false: prefer + placing containers of a pod to the same balloon(s). type: boolean shareIdleCPUsInSame: - description: 'ShareIdleCpusInSame : if there - are idle CPUs, that is CPUs not in any balloon, in the same - as any CPU in the balloon, then allow workloads - to run on those (shared) CPUs in addition to the (dedicated) - CPUs of the balloon.' + description: |- + ShareIdleCpusInSame : if there are idle + CPUs, that is CPUs not in any balloon, in the same + as any CPU in the balloon, then allow + workloads to run on those (shared) CPUs in addition to the + (dedicated) CPUs of the balloon. enum: - "" - system @@ -192,16 +211,17 @@ spec: type: object type: object idleCPUClass: - description: IdleCpuClass controls how unusded CPUs outside any a + description: |- + IdleCpuClass controls how unusded CPUs outside any a balloons are (re)configured. type: string instrumentation: description: Config provides runtime configuration for instrumentation. properties: httpEndpoint: - description: HTTPEndpoint is the address our HTTP server listens - on. This endpoint is used to expose Prometheus metrics among - other things. + description: |- + HTTPEndpoint is the address our HTTP server listens on. This endpoint is used + to expose Prometheus metrics among other things. example: :8891 type: string prometheusExport: @@ -218,11 +238,13 @@ spec: example: 100000 type: integer tracingCollector: - description: 'TracingCollector defines the external endpoint for - tracing data collection. Endpoints are specified as full URLs, - or as plain URL schemes which then imply scheme-specific defaults. - The supported schemes and their default URLs are: - otlp-http, - http: localhost:4318 - otlp-grpc, grpc: localhost:4317' + description: |- + TracingCollector defines the external endpoint for tracing data collection. + Endpoints are specified as full URLs, or as plain URL schemes which then + imply scheme-specific defaults. The supported schemes and their default + URLs are: + - otlp-http, http: localhost:4318 + - otlp-grpc, grpc: localhost:4317 example: otlp-http://localhost:4318 type: string type: object @@ -279,19 +301,21 @@ spec: description: PinMemory controls pinning containers to memory nodes. type: boolean preferSpreadOnPhysicalCores: - description: 'PreferSpreadOnPhysicalCores prefers allocating logical - CPUs (possibly hyperthreads) for a balloon from separate physical - CPU cores. This prevents workloads in the balloon from interfering - with themselves as they do not compete on the resources of the same - CPU cores. On the other hand, it allows more interference between + description: |- + PreferSpreadOnPhysicalCores prefers allocating logical CPUs + (possibly hyperthreads) for a balloon from separate physical CPU + cores. This prevents workloads in the balloon from interfering with + themselves as they do not compete on the resources of the same CPU + cores. On the other hand, it allows more interference between workloads in different balloons. The default is false: balloons are packed tightly to a minimum number of physical CPU cores. The - value set here is the default for all balloon types, but it can - be overridden with the balloon type specific setting with the same - name.' + value set here is the default for all balloon types, but it can be + overridden with the balloon type specific setting with the same + name. type: boolean reservedPoolNamespaces: - description: ReservedPoolNamespaces is a list of namespace globs that + description: |- + ReservedPoolNamespaces is a list of namespace globs that will be allocated to reserved CPUs. items: type: string diff --git a/config/crd/bases/config.nri_templatepolicies.yaml b/config/crd/bases/config.nri_templatepolicies.yaml index 0e5e92d9d..8d95d9e1e 100644 --- a/config/crd/bases/config.nri_templatepolicies.yaml +++ b/config/crd/bases/config.nri_templatepolicies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: templatepolicies.config.nri spec: group: config.nri @@ -21,14 +21,19 @@ spec: policy. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -79,9 +84,9 @@ spec: description: Config provides runtime configuration for instrumentation. properties: httpEndpoint: - description: HTTPEndpoint is the address our HTTP server listens - on. This endpoint is used to expose Prometheus metrics among - other things. + description: |- + HTTPEndpoint is the address our HTTP server listens on. This endpoint is used + to expose Prometheus metrics among other things. example: :8891 type: string prometheusExport: @@ -98,11 +103,13 @@ spec: example: 100000 type: integer tracingCollector: - description: 'TracingCollector defines the external endpoint for - tracing data collection. Endpoints are specified as full URLs, - or as plain URL schemes which then imply scheme-specific defaults. - The supported schemes and their default URLs are: - otlp-http, - http: localhost:4318 - otlp-grpc, grpc: localhost:4317' + description: |- + TracingCollector defines the external endpoint for tracing data collection. + Endpoints are specified as full URLs, or as plain URL schemes which then + imply scheme-specific defaults. The supported schemes and their default + URLs are: + - otlp-http, http: localhost:4318 + - otlp-grpc, grpc: localhost:4317 example: otlp-http://localhost:4318 type: string type: object diff --git a/config/crd/bases/config.nri_topologyawarepolicies.yaml b/config/crd/bases/config.nri_topologyawarepolicies.yaml index fd40a190c..af7faacee 100644 --- a/config/crd/bases/config.nri_topologyawarepolicies.yaml +++ b/config/crd/bases/config.nri_topologyawarepolicies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: topologyawarepolicies.config.nri spec: group: config.nri @@ -21,14 +21,19 @@ spec: policy. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -38,18 +43,20 @@ spec: availableResources: additionalProperties: type: string - description: AvailableResources defines the bounding set for the policy - to allocate resources from. + description: |- + AvailableResources defines the bounding set for the policy to allocate + resources from. type: object colocateNamespaces: - description: ColocateNamespaces controls whether an attempt is made - to allocate all containers of pods in a namespace close to each - other (to the same topology zone). + description: |- + ColocateNamespaces controls whether an attempt is made to allocate all + containers of pods in a namespace close to each other (to the same topology + zone). type: boolean colocatePods: - description: ColocatePods controls whether an attempt is made to allocate - containers within the same pod close to each other (to the same - topology zone). + description: |- + ColocatePods controls whether an attempt is made to allocate containers + within the same pod close to each other (to the same topology zone). type: boolean control: properties: @@ -91,9 +98,9 @@ spec: description: Config provides runtime configuration for instrumentation. properties: httpEndpoint: - description: HTTPEndpoint is the address our HTTP server listens - on. This endpoint is used to expose Prometheus metrics among - other things. + description: |- + HTTPEndpoint is the address our HTTP server listens on. This endpoint is used + to expose Prometheus metrics among other things. example: :8891 type: string prometheusExport: @@ -110,11 +117,13 @@ spec: example: 100000 type: integer tracingCollector: - description: 'TracingCollector defines the external endpoint for - tracing data collection. Endpoints are specified as full URLs, - or as plain URL schemes which then imply scheme-specific defaults. - The supported schemes and their default URLs are: - otlp-http, - http: localhost:4318 - otlp-grpc, grpc: localhost:4317' + description: |- + TracingCollector defines the external endpoint for tracing data collection. + Endpoints are specified as full URLs, or as plain URL schemes which then + imply scheme-specific defaults. The supported schemes and their default + URLs are: + - otlp-http, http: localhost:4318 + - otlp-grpc, grpc: localhost:4317 example: otlp-http://localhost:4318 type: string type: object @@ -174,29 +183,31 @@ spec: type: boolean preferIsolatedCPUs: default: true - description: PreferIsolated controls whether kernel-isolated CPUs - are preferred for Guaranteed QoS-class containers that request 1 - full CPU. + description: |- + PreferIsolated controls whether kernel-isolated CPUs are preferred for + Guaranteed QoS-class containers that request 1 full CPU. type: boolean preferSharedCPUs: - description: PreferShared controls whether exclusive CPU allocation - is considered for all eligible containers. If set to trues, exclusive - CPU allocation is only considered for eligible containers which - are explicitly annotated to opt out from shared allocation. + description: |- + PreferShared controls whether exclusive CPU allocation is considered for + all eligible containers. If set to trues, exclusive CPU allocation is only + considered for eligible containers which are explicitly annotated to opt + out from shared allocation. type: boolean reservedPoolNamespaces: - description: ReservedPoolNamespaces lists extra namespaces which are - treated like 'kube-system' (resources allocate from the reserved - pool). + description: |- + ReservedPoolNamespaces lists extra namespaces which are treated like + 'kube-system' (resources allocate from the reserved pool). items: type: string type: array reservedResources: additionalProperties: type: string - description: ReservedResources defines the resources reserved namespaces - get assigned to. If AvailableResources is defined, ReservedResources - must be a subset of it. + description: |- + ReservedResources defines the resources reserved namespaces get assigned + to. If AvailableResources is defined, ReservedResources must be a subset + of it. type: object required: - reservedResources diff --git a/deployment/helm/balloons/crds/config.nri_balloonspolicies.yaml b/deployment/helm/balloons/crds/config.nri_balloonspolicies.yaml index e39fd0adc..2fe4b12e8 100644 --- a/deployment/helm/balloons/crds/config.nri_balloonspolicies.yaml +++ b/deployment/helm/balloons/crds/config.nri_balloonspolicies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: balloonspolicies.config.nri spec: group: config.nri @@ -21,14 +21,19 @@ spec: policy. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,12 +41,14 @@ spec: description: BalloonsPolicySpec describes a balloons policy. properties: allocatorTopologyBalancing: - description: 'If AllocatorTopologyBalancing is true, balloons are - allocated and resized so that all topology elements (packages, dies, - numa nodes, cores) have roughly same amount of allocations. The - default is false: balloons are packed tightly to optimize power - efficiency. The value set here can be overridden with the balloon - type specific setting with the same name.' + description: |- + If AllocatorTopologyBalancing is true, balloons are + allocated and resized so that all topology elements + (packages, dies, numa nodes, cores) have roughly same + amount of allocations. The default is false: balloons are + packed tightly to optimize power efficiency. The value set + here can be overridden with the balloon type specific + setting with the same name. type: boolean availableResources: additionalProperties: @@ -55,10 +62,11 @@ spec: properties: allocatorPriority: default: high - description: AllocatorPriority (High, Normal, Low, None) This - parameter is passed to CPU allocator when creating or resizing - a balloon. At init, balloons with highest priority CPUs are - allocated first. + description: |- + AllocatorPriority (High, Normal, Low, None) + This parameter is passed to CPU allocator when creating or + resizing a balloon. At init, balloons with highest priority + CPUs are allocated first. enum: - high - normal @@ -66,82 +74,93 @@ spec: - none type: string allocatorTopologyBalancing: - description: AllocatorTopologyBalancing is the balloon type - specific parameter of the policy level parameter with the - same name. + description: |- + AllocatorTopologyBalancing is the balloon type specific + parameter of the policy level parameter with the same name. type: boolean cpuClass: - description: CpuClass controls how CPUs of a balloon are (re)configured + description: |- + CpuClass controls how CPUs of a balloon are (re)configured whenever a balloon is created, inflated or deflated. type: string maxBalloons: - description: MaxBalloons is the maximum number of balloon instances - that is allowed to co-exist. If reached, new balloons cannot - be created anymore. + description: |- + MaxBalloons is the maximum number of balloon instances that + is allowed to co-exist. If reached, new balloons cannot be + created anymore. type: integer maxCPUs: - description: MaxCpus specifies the maximum number of CPUs exclusively + description: |- + MaxCpus specifies the maximum number of CPUs exclusively usable by containers in a balloon. Balloon size will not be inflated larger than MaxCpus. type: integer minBalloons: - description: MinBalloons is the number of balloon instances - that always exist even if they would become empty. At init - this number of instances will be created before assigning - any containers. + description: |- + MinBalloons is the number of balloon instances that always + exist even if they would become empty. At init this number + of instances will be created before assigning any + containers. type: integer minCPUs: - description: MinCpus specifies the minimum number of CPUs exclusively + description: |- + MinCpus specifies the minimum number of CPUs exclusively usable by containers in a balloon. When new balloon is created, - this will be the number of CPUs reserved for it even if a - container would request less. + this will be the number of CPUs reserved for it even if a container + would request less. type: integer name: description: Name of the balloon definition. type: string namespaces: - description: Namespaces control which namespaces are assigned - into balloon instances from this definition. This is used - by namespace assign methods. + description: |- + Namespaces control which namespaces are assigned into + balloon instances from this definition. This is used by + namespace assign methods. items: type: string type: array preferCloseToDevices: - description: 'PreferCloseToDevices: prefer creating new balloons - of this type close to listed devices.' + description: |- + PreferCloseToDevices: prefer creating new balloons of this + type close to listed devices. items: type: string type: array preferNewBalloons: - description: 'PreferNewBalloons: prefer creating new balloons - over adding containers to existing balloons. The default is - false: prefer using filling free capacity and possibly inflating - existing balloons before creating new ones.' + description: |- + PreferNewBalloons: prefer creating new balloons over adding + containers to existing balloons. The default is false: + prefer using filling free capacity and possibly inflating + existing balloons before creating new ones. type: boolean preferPerNamespaceBalloon: - description: 'PreferPerNamespaceBalloon: if true, containers - in different namespaces are preferrably placed in separate - balloons, even if the balloon type is the same for all of - them. On the other hand, containers in the same namespace - will be placed in the same balloon instances. The default - is false: namespaces have no effect on placement.' + description: |- + PreferPerNamespaceBalloon: if true, containers in different + namespaces are preferrably placed in separate balloons, + even if the balloon type is the same for all of them. On + the other hand, containers in the same namespace will be + placed in the same balloon instances. The default is false: + namespaces have no effect on placement. type: boolean preferSpreadOnPhysicalCores: - description: PreferSpreadOnPhysicalCores is the balloon type - specific parameter of the policy level parameter with the - same name. + description: |- + PreferSpreadOnPhysicalCores is the balloon type specific + parameter of the policy level parameter with the same name. type: boolean preferSpreadingPods: - description: 'PreferSpreadingPods: containers of the same pod - may be placed on separate balloons. The default is false: - prefer placing containers of a pod to the same balloon(s).' + description: |- + PreferSpreadingPods: containers of the same pod may be + placed on separate balloons. The default is false: prefer + placing containers of a pod to the same balloon(s). type: boolean shareIdleCPUsInSame: - description: 'ShareIdleCpusInSame : if there - are idle CPUs, that is CPUs not in any balloon, in the same - as any CPU in the balloon, then allow workloads - to run on those (shared) CPUs in addition to the (dedicated) - CPUs of the balloon.' + description: |- + ShareIdleCpusInSame : if there are idle + CPUs, that is CPUs not in any balloon, in the same + as any CPU in the balloon, then allow + workloads to run on those (shared) CPUs in addition to the + (dedicated) CPUs of the balloon. enum: - "" - system @@ -192,16 +211,17 @@ spec: type: object type: object idleCPUClass: - description: IdleCpuClass controls how unusded CPUs outside any a + description: |- + IdleCpuClass controls how unusded CPUs outside any a balloons are (re)configured. type: string instrumentation: description: Config provides runtime configuration for instrumentation. properties: httpEndpoint: - description: HTTPEndpoint is the address our HTTP server listens - on. This endpoint is used to expose Prometheus metrics among - other things. + description: |- + HTTPEndpoint is the address our HTTP server listens on. This endpoint is used + to expose Prometheus metrics among other things. example: :8891 type: string prometheusExport: @@ -218,11 +238,13 @@ spec: example: 100000 type: integer tracingCollector: - description: 'TracingCollector defines the external endpoint for - tracing data collection. Endpoints are specified as full URLs, - or as plain URL schemes which then imply scheme-specific defaults. - The supported schemes and their default URLs are: - otlp-http, - http: localhost:4318 - otlp-grpc, grpc: localhost:4317' + description: |- + TracingCollector defines the external endpoint for tracing data collection. + Endpoints are specified as full URLs, or as plain URL schemes which then + imply scheme-specific defaults. The supported schemes and their default + URLs are: + - otlp-http, http: localhost:4318 + - otlp-grpc, grpc: localhost:4317 example: otlp-http://localhost:4318 type: string type: object @@ -279,19 +301,21 @@ spec: description: PinMemory controls pinning containers to memory nodes. type: boolean preferSpreadOnPhysicalCores: - description: 'PreferSpreadOnPhysicalCores prefers allocating logical - CPUs (possibly hyperthreads) for a balloon from separate physical - CPU cores. This prevents workloads in the balloon from interfering - with themselves as they do not compete on the resources of the same - CPU cores. On the other hand, it allows more interference between + description: |- + PreferSpreadOnPhysicalCores prefers allocating logical CPUs + (possibly hyperthreads) for a balloon from separate physical CPU + cores. This prevents workloads in the balloon from interfering with + themselves as they do not compete on the resources of the same CPU + cores. On the other hand, it allows more interference between workloads in different balloons. The default is false: balloons are packed tightly to a minimum number of physical CPU cores. The - value set here is the default for all balloon types, but it can - be overridden with the balloon type specific setting with the same - name.' + value set here is the default for all balloon types, but it can be + overridden with the balloon type specific setting with the same + name. type: boolean reservedPoolNamespaces: - description: ReservedPoolNamespaces is a list of namespace globs that + description: |- + ReservedPoolNamespaces is a list of namespace globs that will be allocated to reserved CPUs. items: type: string diff --git a/deployment/helm/template/crds/config.nri_templatepolicies.yaml b/deployment/helm/template/crds/config.nri_templatepolicies.yaml index 0e5e92d9d..8d95d9e1e 100644 --- a/deployment/helm/template/crds/config.nri_templatepolicies.yaml +++ b/deployment/helm/template/crds/config.nri_templatepolicies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: templatepolicies.config.nri spec: group: config.nri @@ -21,14 +21,19 @@ spec: policy. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -79,9 +84,9 @@ spec: description: Config provides runtime configuration for instrumentation. properties: httpEndpoint: - description: HTTPEndpoint is the address our HTTP server listens - on. This endpoint is used to expose Prometheus metrics among - other things. + description: |- + HTTPEndpoint is the address our HTTP server listens on. This endpoint is used + to expose Prometheus metrics among other things. example: :8891 type: string prometheusExport: @@ -98,11 +103,13 @@ spec: example: 100000 type: integer tracingCollector: - description: 'TracingCollector defines the external endpoint for - tracing data collection. Endpoints are specified as full URLs, - or as plain URL schemes which then imply scheme-specific defaults. - The supported schemes and their default URLs are: - otlp-http, - http: localhost:4318 - otlp-grpc, grpc: localhost:4317' + description: |- + TracingCollector defines the external endpoint for tracing data collection. + Endpoints are specified as full URLs, or as plain URL schemes which then + imply scheme-specific defaults. The supported schemes and their default + URLs are: + - otlp-http, http: localhost:4318 + - otlp-grpc, grpc: localhost:4317 example: otlp-http://localhost:4318 type: string type: object diff --git a/deployment/helm/topology-aware/crds/config.nri_topologyawarepolicies.yaml b/deployment/helm/topology-aware/crds/config.nri_topologyawarepolicies.yaml index fd40a190c..af7faacee 100644 --- a/deployment/helm/topology-aware/crds/config.nri_topologyawarepolicies.yaml +++ b/deployment/helm/topology-aware/crds/config.nri_topologyawarepolicies.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: topologyawarepolicies.config.nri spec: group: config.nri @@ -21,14 +21,19 @@ spec: policy. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -38,18 +43,20 @@ spec: availableResources: additionalProperties: type: string - description: AvailableResources defines the bounding set for the policy - to allocate resources from. + description: |- + AvailableResources defines the bounding set for the policy to allocate + resources from. type: object colocateNamespaces: - description: ColocateNamespaces controls whether an attempt is made - to allocate all containers of pods in a namespace close to each - other (to the same topology zone). + description: |- + ColocateNamespaces controls whether an attempt is made to allocate all + containers of pods in a namespace close to each other (to the same topology + zone). type: boolean colocatePods: - description: ColocatePods controls whether an attempt is made to allocate - containers within the same pod close to each other (to the same - topology zone). + description: |- + ColocatePods controls whether an attempt is made to allocate containers + within the same pod close to each other (to the same topology zone). type: boolean control: properties: @@ -91,9 +98,9 @@ spec: description: Config provides runtime configuration for instrumentation. properties: httpEndpoint: - description: HTTPEndpoint is the address our HTTP server listens - on. This endpoint is used to expose Prometheus metrics among - other things. + description: |- + HTTPEndpoint is the address our HTTP server listens on. This endpoint is used + to expose Prometheus metrics among other things. example: :8891 type: string prometheusExport: @@ -110,11 +117,13 @@ spec: example: 100000 type: integer tracingCollector: - description: 'TracingCollector defines the external endpoint for - tracing data collection. Endpoints are specified as full URLs, - or as plain URL schemes which then imply scheme-specific defaults. - The supported schemes and their default URLs are: - otlp-http, - http: localhost:4318 - otlp-grpc, grpc: localhost:4317' + description: |- + TracingCollector defines the external endpoint for tracing data collection. + Endpoints are specified as full URLs, or as plain URL schemes which then + imply scheme-specific defaults. The supported schemes and their default + URLs are: + - otlp-http, http: localhost:4318 + - otlp-grpc, grpc: localhost:4317 example: otlp-http://localhost:4318 type: string type: object @@ -174,29 +183,31 @@ spec: type: boolean preferIsolatedCPUs: default: true - description: PreferIsolated controls whether kernel-isolated CPUs - are preferred for Guaranteed QoS-class containers that request 1 - full CPU. + description: |- + PreferIsolated controls whether kernel-isolated CPUs are preferred for + Guaranteed QoS-class containers that request 1 full CPU. type: boolean preferSharedCPUs: - description: PreferShared controls whether exclusive CPU allocation - is considered for all eligible containers. If set to trues, exclusive - CPU allocation is only considered for eligible containers which - are explicitly annotated to opt out from shared allocation. + description: |- + PreferShared controls whether exclusive CPU allocation is considered for + all eligible containers. If set to trues, exclusive CPU allocation is only + considered for eligible containers which are explicitly annotated to opt + out from shared allocation. type: boolean reservedPoolNamespaces: - description: ReservedPoolNamespaces lists extra namespaces which are - treated like 'kube-system' (resources allocate from the reserved - pool). + description: |- + ReservedPoolNamespaces lists extra namespaces which are treated like + 'kube-system' (resources allocate from the reserved pool). items: type: string type: array reservedResources: additionalProperties: type: string - description: ReservedResources defines the resources reserved namespaces - get assigned to. If AvailableResources is defined, ReservedResources - must be a subset of it. + description: |- + ReservedResources defines the resources reserved namespaces get assigned + to. If AvailableResources is defined, ReservedResources must be a subset + of it. type: object required: - reservedResources diff --git a/pkg/apis/config/v1alpha1/log/klogcontrol/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/log/klogcontrol/zz_generated.deepcopy.go index 89002d038..d214be0f6 100644 --- a/pkg/apis/config/v1alpha1/log/klogcontrol/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/log/klogcontrol/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/log/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/log/zz_generated.deepcopy.go index b48b779ef..82a5779af 100644 --- a/pkg/apis/config/v1alpha1/log/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/log/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/resmgr/control/cpu/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/resmgr/control/cpu/zz_generated.deepcopy.go index a8ff9f43e..6bbbdaa84 100644 --- a/pkg/apis/config/v1alpha1/resmgr/control/cpu/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/resmgr/control/cpu/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/resmgr/control/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/resmgr/control/zz_generated.deepcopy.go index cd4de66c1..cd420082e 100644 --- a/pkg/apis/config/v1alpha1/resmgr/control/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/resmgr/control/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/resmgr/policy/balloons/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/resmgr/policy/balloons/zz_generated.deepcopy.go index be332eaae..33d9aa844 100644 --- a/pkg/apis/config/v1alpha1/resmgr/policy/balloons/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/resmgr/policy/balloons/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/resmgr/policy/template/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/resmgr/policy/template/zz_generated.deepcopy.go index b0aa0c6db..2e83ac916 100644 --- a/pkg/apis/config/v1alpha1/resmgr/policy/template/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/resmgr/policy/template/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/resmgr/policy/topologyaware/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/resmgr/policy/topologyaware/zz_generated.deepcopy.go index 40c6f78e5..55752b406 100644 --- a/pkg/apis/config/v1alpha1/resmgr/policy/topologyaware/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/resmgr/policy/topologyaware/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. // diff --git a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go index 123bbebb5..608c046b7 100644 --- a/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/config/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Copyright The NRI Plugins Authors. All Rights Reserved. //