1
0
Fork 0
mirror of https://github.com/arangodb/kube-arangodb.git synced 2024-12-14 11:57:37 +00:00

[Feature] Numactl Options (#1368)

This commit is contained in:
Adam Janikowski 2023-07-28 10:00:57 +02:00 committed by GitHub
parent cc1f19651d
commit 647f2aa41b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 586 additions and 115 deletions

View file

@ -7,6 +7,7 @@
- (Feature) Expose core.PodSecurityContext Sysctl options
- (Bugfix) Skip Collection check for missing Database
- (Feature) Abort resignation of leadership when DB server is restared
- (Feature) Numactl Options
## [1.2.31](https://github.com/arangodb/kube-arangodb/tree/1.2.31) (2023-07-14)
- (Improvement) Block traffic on the services if there is more than 1 active leader in ActiveFailover mode

View file

@ -184,6 +184,30 @@ NodeSelector speficies a set of selectors for nodes
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L114)
### .spec.agents.numactl.args: []string
Args define list of the numactl process
Default Value: []
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L38)
### .spec.agents.numactl.enabled: bool
Enabled define if numactl should be enabled
Default Value: false
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L30)
### .spec.agents.numactl.path: string
Path define numactl path within the container
Default Value: /usr/bin/numactl
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L34)
### .spec.agents.overrideDetectedNumberOfCores: bool
OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
@ -220,86 +244,86 @@ PriorityClassName specifies a priority class name
LivenessProbeDisabled if true livenessProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L188)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L191)
### .spec.agents.probes.livenessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.agents.probes.livenessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.agents.probes.livenessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.agents.probes.livenessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.agents.probes.livenessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.agents.probes.ReadinessProbeDisabled: bool
OldReadinessProbeDisabled if true readinessProbes are disabled
Deprecated: This field is deprecated, keept only for backward compatibility.
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L195)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L198)
### .spec.agents.probes.readinessProbeDisabled: bool
ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L197)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L200)
### .spec.agents.probes.readinessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.agents.probes.readinessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.agents.probes.readinessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.agents.probes.readinessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.agents.probes.readinessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.agents.probes.startupProbeDisabled: bool
StartupProbeDisabled if true startupProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L202)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L205)
### .spec.agents.probes.startupProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.agents.probes.startupProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.agents.probes.startupProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.agents.probes.startupProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.agents.probes.startupProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.agents.pvcResizeMode: string
@ -807,6 +831,30 @@ NodeSelector speficies a set of selectors for nodes
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L114)
### .spec.coordinators.numactl.args: []string
Args define list of the numactl process
Default Value: []
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L38)
### .spec.coordinators.numactl.enabled: bool
Enabled define if numactl should be enabled
Default Value: false
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L30)
### .spec.coordinators.numactl.path: string
Path define numactl path within the container
Default Value: /usr/bin/numactl
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L34)
### .spec.coordinators.overrideDetectedNumberOfCores: bool
OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
@ -843,86 +891,86 @@ PriorityClassName specifies a priority class name
LivenessProbeDisabled if true livenessProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L188)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L191)
### .spec.coordinators.probes.livenessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.coordinators.probes.livenessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.coordinators.probes.livenessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.coordinators.probes.livenessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.coordinators.probes.livenessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.coordinators.probes.ReadinessProbeDisabled: bool
OldReadinessProbeDisabled if true readinessProbes are disabled
Deprecated: This field is deprecated, keept only for backward compatibility.
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L195)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L198)
### .spec.coordinators.probes.readinessProbeDisabled: bool
ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L197)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L200)
### .spec.coordinators.probes.readinessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.coordinators.probes.readinessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.coordinators.probes.readinessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.coordinators.probes.readinessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.coordinators.probes.readinessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.coordinators.probes.startupProbeDisabled: bool
StartupProbeDisabled if true startupProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L202)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L205)
### .spec.coordinators.probes.startupProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.coordinators.probes.startupProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.coordinators.probes.startupProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.coordinators.probes.startupProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.coordinators.probes.startupProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.coordinators.pvcResizeMode: string
@ -1345,6 +1393,30 @@ NodeSelector speficies a set of selectors for nodes
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L114)
### .spec.dbservers.numactl.args: []string
Args define list of the numactl process
Default Value: []
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L38)
### .spec.dbservers.numactl.enabled: bool
Enabled define if numactl should be enabled
Default Value: false
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L30)
### .spec.dbservers.numactl.path: string
Path define numactl path within the container
Default Value: /usr/bin/numactl
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L34)
### .spec.dbservers.overrideDetectedNumberOfCores: bool
OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
@ -1381,86 +1453,86 @@ PriorityClassName specifies a priority class name
LivenessProbeDisabled if true livenessProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L188)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L191)
### .spec.dbservers.probes.livenessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.dbservers.probes.livenessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.dbservers.probes.livenessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.dbservers.probes.livenessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.dbservers.probes.livenessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.dbservers.probes.ReadinessProbeDisabled: bool
OldReadinessProbeDisabled if true readinessProbes are disabled
Deprecated: This field is deprecated, keept only for backward compatibility.
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L195)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L198)
### .spec.dbservers.probes.readinessProbeDisabled: bool
ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L197)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L200)
### .spec.dbservers.probes.readinessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.dbservers.probes.readinessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.dbservers.probes.readinessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.dbservers.probes.readinessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.dbservers.probes.readinessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.dbservers.probes.startupProbeDisabled: bool
StartupProbeDisabled if true startupProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L202)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L205)
### .spec.dbservers.probes.startupProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.dbservers.probes.startupProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.dbservers.probes.startupProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.dbservers.probes.startupProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.dbservers.probes.startupProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.dbservers.pvcResizeMode: string
@ -2321,6 +2393,30 @@ NodeSelector speficies a set of selectors for nodes
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L114)
### .spec.single.numactl.args: []string
Args define list of the numactl process
Default Value: []
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L38)
### .spec.single.numactl.enabled: bool
Enabled define if numactl should be enabled
Default Value: false
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L30)
### .spec.single.numactl.path: string
Path define numactl path within the container
Default Value: /usr/bin/numactl
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L34)
### .spec.single.overrideDetectedNumberOfCores: bool
OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
@ -2357,86 +2453,86 @@ PriorityClassName specifies a priority class name
LivenessProbeDisabled if true livenessProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L188)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L191)
### .spec.single.probes.livenessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.single.probes.livenessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.single.probes.livenessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.single.probes.livenessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.single.probes.livenessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.single.probes.ReadinessProbeDisabled: bool
OldReadinessProbeDisabled if true readinessProbes are disabled
Deprecated: This field is deprecated, keept only for backward compatibility.
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L195)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L198)
### .spec.single.probes.readinessProbeDisabled: bool
ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L197)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L200)
### .spec.single.probes.readinessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.single.probes.readinessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.single.probes.readinessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.single.probes.readinessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.single.probes.readinessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.single.probes.startupProbeDisabled: bool
StartupProbeDisabled if true startupProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L202)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L205)
### .spec.single.probes.startupProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.single.probes.startupProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.single.probes.startupProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.single.probes.startupProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.single.probes.startupProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.single.pvcResizeMode: string
@ -2961,6 +3057,30 @@ NodeSelector speficies a set of selectors for nodes
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L114)
### .spec.syncmasters.numactl.args: []string
Args define list of the numactl process
Default Value: []
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L38)
### .spec.syncmasters.numactl.enabled: bool
Enabled define if numactl should be enabled
Default Value: false
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L30)
### .spec.syncmasters.numactl.path: string
Path define numactl path within the container
Default Value: /usr/bin/numactl
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L34)
### .spec.syncmasters.overrideDetectedNumberOfCores: bool
OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
@ -2997,86 +3117,86 @@ PriorityClassName specifies a priority class name
LivenessProbeDisabled if true livenessProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L188)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L191)
### .spec.syncmasters.probes.livenessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.syncmasters.probes.livenessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.syncmasters.probes.livenessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.syncmasters.probes.livenessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.syncmasters.probes.livenessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.syncmasters.probes.ReadinessProbeDisabled: bool
OldReadinessProbeDisabled if true readinessProbes are disabled
Deprecated: This field is deprecated, keept only for backward compatibility.
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L195)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L198)
### .spec.syncmasters.probes.readinessProbeDisabled: bool
ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L197)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L200)
### .spec.syncmasters.probes.readinessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.syncmasters.probes.readinessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.syncmasters.probes.readinessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.syncmasters.probes.readinessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.syncmasters.probes.readinessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.syncmasters.probes.startupProbeDisabled: bool
StartupProbeDisabled if true startupProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L202)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L205)
### .spec.syncmasters.probes.startupProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.syncmasters.probes.startupProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.syncmasters.probes.startupProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.syncmasters.probes.startupProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.syncmasters.probes.startupProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.syncmasters.pvcResizeMode: string
@ -3493,6 +3613,30 @@ NodeSelector speficies a set of selectors for nodes
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L114)
### .spec.syncworkers.numactl.args: []string
Args define list of the numactl process
Default Value: []
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L38)
### .spec.syncworkers.numactl.enabled: bool
Enabled define if numactl should be enabled
Default Value: false
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L30)
### .spec.syncworkers.numactl.path: string
Path define numactl path within the container
Default Value: /usr/bin/numactl
[Code Reference](/pkg/apis/deployment/v1/server_group_numactl_spec.go#L34)
### .spec.syncworkers.overrideDetectedNumberOfCores: bool
OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
@ -3529,86 +3673,86 @@ PriorityClassName specifies a priority class name
LivenessProbeDisabled if true livenessProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L188)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L191)
### .spec.syncworkers.probes.livenessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.syncworkers.probes.livenessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.syncworkers.probes.livenessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.syncworkers.probes.livenessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.syncworkers.probes.livenessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.syncworkers.probes.ReadinessProbeDisabled: bool
OldReadinessProbeDisabled if true readinessProbes are disabled
Deprecated: This field is deprecated, keept only for backward compatibility.
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L195)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L198)
### .spec.syncworkers.probes.readinessProbeDisabled: bool
ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L197)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L200)
### .spec.syncworkers.probes.readinessProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.syncworkers.probes.readinessProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.syncworkers.probes.readinessProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.syncworkers.probes.readinessProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.syncworkers.probes.readinessProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.syncworkers.probes.startupProbeDisabled: bool
StartupProbeDisabled if true startupProbes are disabled
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L202)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L205)
### .spec.syncworkers.probes.startupProbeSpec.failureThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L225)
### .spec.syncworkers.probes.startupProbeSpec.initialDelaySeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L218)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
### .spec.syncworkers.probes.startupProbeSpec.periodSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L219)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L222)
### .spec.syncworkers.probes.startupProbeSpec.successThreshold: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L221)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L224)
### .spec.syncworkers.probes.startupProbeSpec.timeoutSeconds: int32
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L220)
[Code Reference](/pkg/apis/deployment/v1/server_group_spec.go#L223)
### .spec.syncworkers.pvcResizeMode: string

View file

@ -0,0 +1,66 @@
//
// DISCLAIMER
//
// Copyright 2023 ArangoDB GmbH, Cologne, Germany
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Copyright holder is ArangoDB GmbH, Cologne, Germany
//
package v1
import "github.com/arangodb/kube-arangodb/pkg/util"
const ServerGroupSpecNumactlPathDefault = "/usr/bin/numactl"
type ServerGroupSpecNumactl struct {
// Enabled define if numactl should be enabled
// +doc/default: false
Enabled *bool `json:"enabled,omitempty"`
// Path define numactl path within the container
// +doc/default: /usr/bin/numactl
Path *string `json:"path,omitempty"`
// Args define list of the numactl process
// +doc/default: []
Args []string `json:"args,omitempty"`
}
// IsEnabled returns flag if Numactl should be enabled
func (s *ServerGroupSpecNumactl) IsEnabled() bool {
if s == nil {
return false
}
return util.TypeOrDefault(s.Enabled, false)
}
// GetPath returns path of the numactl binary
func (s *ServerGroupSpecNumactl) GetPath() string {
if s == nil {
return ServerGroupSpecNumactlPathDefault
}
return util.TypeOrDefault(s.Path, ServerGroupSpecNumactlPathDefault)
}
// GetArgs returns args of the numactl command
func (s *ServerGroupSpecNumactl) GetArgs() []string {
if s == nil {
return nil
}
return s.Args
}

View file

@ -180,6 +180,9 @@ type ServerGroupSpec struct {
Port *uint16 `json:"port,omitempty"`
// ExporterPort define Port used by exporter
ExporterPort *uint16 `json:"exporterPort,omitempty"`
// Numactl define Numactl options passed to the process
Numactl *ServerGroupSpecNumactl `json:"numactl,omitempty"`
}
// ServerGroupProbesSpec contains specification for probes for pods of the server group

View file

@ -2485,6 +2485,11 @@ func (in *ServerGroupSpec) DeepCopyInto(out *ServerGroupSpec) {
*out = new(uint16)
**out = **in
}
if in.Numactl != nil {
in, out := &in.Numactl, &out.Numactl
*out = new(ServerGroupSpecNumactl)
(*in).DeepCopyInto(*out)
}
return
}
@ -2498,6 +2503,37 @@ func (in *ServerGroupSpec) DeepCopy() *ServerGroupSpec {
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerGroupSpecNumactl) DeepCopyInto(out *ServerGroupSpecNumactl) {
*out = *in
if in.Enabled != nil {
in, out := &in.Enabled, &out.Enabled
*out = new(bool)
**out = **in
}
if in.Path != nil {
in, out := &in.Path, &out.Path
*out = new(string)
**out = **in
}
if in.Args != nil {
in, out := &in.Args, &out.Args
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecNumactl.
func (in *ServerGroupSpecNumactl) DeepCopy() *ServerGroupSpecNumactl {
if in == nil {
return nil
}
out := new(ServerGroupSpecNumactl)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerGroupSpecPodMode) DeepCopyInto(out *ServerGroupSpecPodMode) {
*out = *in

View file

@ -0,0 +1,66 @@
//
// DISCLAIMER
//
// Copyright 2023 ArangoDB GmbH, Cologne, Germany
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Copyright holder is ArangoDB GmbH, Cologne, Germany
//
package v2alpha1
import "github.com/arangodb/kube-arangodb/pkg/util"
const ServerGroupSpecNumactlPathDefault = "/usr/bin/numactl"
type ServerGroupSpecNumactl struct {
// Enabled define if numactl should be enabled
// +doc/default: false
Enabled *bool `json:"enabled,omitempty"`
// Path define numactl path within the container
// +doc/default: /usr/bin/numactl
Path *string `json:"path,omitempty"`
// Args define list of the numactl process
// +doc/default: []
Args []string `json:"args,omitempty"`
}
// IsEnabled returns flag if Numactl should be enabled
func (s *ServerGroupSpecNumactl) IsEnabled() bool {
if s == nil {
return false
}
return util.TypeOrDefault(s.Enabled, false)
}
// GetPath returns path of the numactl binary
func (s *ServerGroupSpecNumactl) GetPath() string {
if s == nil {
return ServerGroupSpecNumactlPathDefault
}
return util.TypeOrDefault(s.Path, ServerGroupSpecNumactlPathDefault)
}
// GetArgs returns args of the numactl command
func (s *ServerGroupSpecNumactl) GetArgs() []string {
if s == nil {
return nil
}
return s.Args
}

View file

@ -180,6 +180,9 @@ type ServerGroupSpec struct {
Port *uint16 `json:"port,omitempty"`
// ExporterPort define Port used by exporter
ExporterPort *uint16 `json:"exporterPort,omitempty"`
// Numactl define Numactl options passed to the process
Numactl *ServerGroupSpecNumactl `json:"numactl,omitempty"`
}
// ServerGroupProbesSpec contains specification for probes for pods of the server group

View file

@ -2485,6 +2485,11 @@ func (in *ServerGroupSpec) DeepCopyInto(out *ServerGroupSpec) {
*out = new(uint16)
**out = **in
}
if in.Numactl != nil {
in, out := &in.Numactl, &out.Numactl
*out = new(ServerGroupSpecNumactl)
(*in).DeepCopyInto(*out)
}
return
}
@ -2498,6 +2503,37 @@ func (in *ServerGroupSpec) DeepCopy() *ServerGroupSpec {
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerGroupSpecNumactl) DeepCopyInto(out *ServerGroupSpecNumactl) {
*out = *in
if in.Enabled != nil {
in, out := &in.Enabled, &out.Enabled
*out = new(bool)
**out = **in
}
if in.Path != nil {
in, out := &in.Path, &out.Path
*out = new(string)
**out = **in
}
if in.Args != nil {
in, out := &in.Args, &out.Args
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecNumactl.
func (in *ServerGroupSpecNumactl) DeepCopy() *ServerGroupSpecNumactl {
if in == nil {
return nil
}
out := new(ServerGroupSpecNumactl)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServerGroupSpecPodMode) DeepCopyInto(out *ServerGroupSpecPodMode) {
*out = *in

View file

@ -188,6 +188,44 @@ func createArangodArgs(cachedStatus interfaces.Inspector, input pod.Input, addit
return args, nil
}
// createArangodNumactl creates command line arguments for a numactl in the given group.
func createArangodNumactl(spec api.ServerGroupSpec) []string {
if !spec.Numactl.IsEnabled() {
return nil
}
args := spec.Numactl.GetArgs()
if len(args) == 0 {
return []string{
spec.Numactl.GetPath(),
}
}
r := make([]string, len(args)+1)
r[0] = spec.Numactl.GetPath()
copy(r[1:], args)
return r
}
// withArangodNumactl creates command line arguments with a numactl in a given group.
func withArangodNumactl(spec api.ServerGroupSpec, args ...string) []string {
nmctl := createArangodNumactl(spec)
if len(nmctl) == 0 {
return args
}
vs := make([]string, len(args)+len(nmctl))
copy(vs, nmctl)
copy(vs[len(nmctl):], args)
return vs
}
// createArangoSyncArgs creates command line arguments for an arangosync server in the given group.
func createArangoSyncArgs(apiObject meta.Object, spec api.DeploymentSpec, group api.ServerGroup,
groupSpec api.ServerGroupSpec, member api.MemberStatus) []string {

View file

@ -121,7 +121,21 @@ func (a *ArangoDContainer) GetPorts() []core.ContainerPort {
}
func (a *ArangoDContainer) GetArgs() ([]string, error) {
return createArangodArgs(a.cachedStatus, a.input)
args, err := createArangodArgs(a.cachedStatus, a.input)
if err != nil {
return nil, err
}
if nmargs := createArangodNumactl(a.groupSpec); len(nmargs) > 0 {
vs := make([]string, len(args)+len(nmargs))
copy(vs, nmargs)
copy(vs[len(nmargs):], args)
return vs, nil
}
return args, nil
}
func (a *ArangoDContainer) GetName() string {

View file

@ -0,0 +1,64 @@
//
// DISCLAIMER
//
// Copyright 2023 ArangoDB GmbH, Cologne, Germany
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Copyright holder is ArangoDB GmbH, Cologne, Germany
//
package resources
import (
"testing"
"github.com/stretchr/testify/require"
api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1"
"github.com/arangodb/kube-arangodb/pkg/util"
)
func TestCreateArangodArgsNumactl(t *testing.T) {
t.Run("Nil", func(t *testing.T) {
require.Nil(t, withArangodNumactl(api.ServerGroupSpec{}))
})
t.Run("With Default", func(t *testing.T) {
require.Equal(t, []string{"arangod"}, withArangodNumactl(api.ServerGroupSpec{}, "arangod"))
})
t.Run("With Numactl", func(t *testing.T) {
require.Equal(t, []string{api.ServerGroupSpecNumactlPathDefault, "arangod"}, withArangodNumactl(api.ServerGroupSpec{
Numactl: &api.ServerGroupSpecNumactl{
Enabled: util.NewType(true),
},
}, "arangod"))
})
t.Run("With Numactl Args", func(t *testing.T) {
require.Equal(t, []string{api.ServerGroupSpecNumactlPathDefault, "--some=opt", "arangod"}, withArangodNumactl(api.ServerGroupSpec{
Numactl: &api.ServerGroupSpecNumactl{
Enabled: util.NewType(true),
Args: []string{
"--some=opt",
},
},
}, "arangod"))
})
t.Run("With Numactl Override", func(t *testing.T) {
require.Equal(t, []string{"numanew", "arangod"}, withArangodNumactl(api.ServerGroupSpec{
Numactl: &api.ServerGroupSpecNumactl{
Enabled: util.NewType(true),
Path: util.NewType("numanew"),
},
}, "arangod"))
})
}