8000 [Feature] Deprecate AF Mode · arangodb/kube-arangodb@cfde694 · GitHub
[go: up one dir, main page]

Skip to content

Commit cfde694

Browse files
committed
[Feature] Deprecate AF Mode
1 parent cbb16bc commit cfde694

13 files changed

+129
-47
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
- (Feature) DebugPackage ArangoProfiles
1515
- (Feature) Scheduler CLI
1616
- (Feature) Parametrize ForceDelete timeout
17+
- (Feature) Deprecate AF Mode
1718

1819
## [1.2.39](https://github.com/arangodb/kube-arangodb/tree/1.2.39) (2024-03-11)
1920
- (Feature) Extract Scheduler API
@@ -49,7 +50,7 @@
4950
- (Maintenance) Bump Go to 1.21.6
5051
- (Bugfix) Enable LazyLoader for CRD & CRD Schemas
5152
- (Feature) (ML) Restore ReadinessProbe for ML Storage sidecar
52-
- (Feature) AutoDelete for ArangoBackup
53+
- (Feature) AutoDelete for ArangoBackup
5354

5455
## [1.2.36](https://github.com/arangodb/kube-arangodb/tree/1.2.36) (2024-01-08)
5556
- (Documentation) Improvements and fixes for rendered documentation (GH pages)

README.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ covers individual newer features separately.
8585
| [Force Rebuild Out Synced Shards](docs/features/rebuild_out_synced_shards.md) | 1.2.27 | 1.2.27 | >= 3.8.0 | Community, Enterprise | Production | False | --deployment.feature.force-rebuild-out-synced-shards | It should be used only if user is aware of the risks. |
8686
| [Spec Default Restore](docs/features/deployment_spec_defaults.md) | 1.2.25 | 1.2.21 | >= 3.8.0 | Community, Enterprise | Beta | True | --deployment.feature.deployment-spec-defaults-restore | If set to False Operator will not change ArangoDeployment Spec |
8787
| Version Check | 1.2.23 | 1.1.4 | >= 3.8.0 | Community, Enterprise | Production | True | --deployment.feature.upgrade-version-check | N/A |
88-
| [Failover Leader service](docs/features/failover_leader_service.md) | 1.2.13 | 1.2.13 | >= 3.8.0 | Community, Enterprise | Production | False | --deployment.feature.failover-leadership | N/A |
88+
| [Failover Leader service](docs/features/failover_leader_service.md) | 1.2.13 | 1.2.13 | < 3.12.0 | Community, Enterprise | Production | False | --deployment.feature.failover-leadership | N/A |
8989
| Graceful Restart | 1.2.5 | 1.0.7 | >= 3.8.0 | Community, Enterprise | Production | True | ---deployment.feature.graceful-shutdown | N/A |
9090
| Optional Graceful Restart | 1.2.0 | 1.2.5 | >= 3.8.0 | Community, Enterprise | Production | False | --deployment.feature.optional-graceful-shutdown | N/A |
9191
| Operator Internal Metrics Exporter | 1.2.0 | 1.2.0 | >= 3.8.0 | Community, Enterprise | Production | True | --deployment.feature.metrics-exporter | N/A |
@@ -95,6 +95,7 @@ covers individual newer features separately.
9595
| JWT Rotation Support | 1.1.0 | 1.0.3 | >= 3.8.0 | Enterprise | Production | True | --deployment.feature.jwt-rotation | N/A |
9696
| Operator Single Mode | 1.0.4 | 1.0.4 | >= 3.8.0 | Community, Enterprise | Production | False | --mode.single | Only 1 instance of Operator allowed in namespace when feature is enabled |
9797
| TLS SNI Support | 1.0.3 | 1.0.3 | >= 3.8.0 | Enterprise | Production | True | --deployment.feature.tls-sni | N/A |
98+
| ActiveFailover Support | 1.0.0 | 1.0.0 | < 3.12.0 | Community, Enterprise | Production | True | --deployment.feature.active-failover | N/A |
9899
| Disabling of liveness probes | 0.3.11 | 0.3.10 | >= 3.8.0 | Community, Enterprise | Production | True | N/A | N/A |
99100
| Pod Disruption Budgets | 0.3.11 | 0.3.10 | >= 3.8.0 | Community, Enterprise | Production | True | N/A | N/A |
100101
| Prometheus Metrics Exporter | 0.3.11 | 0.3.10 | >= 3.8.0 | Community, Enterprise | Production | True | N/A | Prometheus required |
@@ -138,27 +139,28 @@ Flags:
138139
--chaos.allowed Set to allow chaos in deployments. Only activated when allowed and enabled in deployment
139140
--crd.install Install missing CRD if access is possible (default true)
140141
--crd.validation-schema stringArray Overrides default set of CRDs which should have validation schema enabled <crd-name>=<true/false>.
141-
--deployment.feature.agency-poll Enable Agency Poll for Enterprise deployments - Required ArangoDB 3.8.0 or higher (default true)
142+
--deployment.feature.active-failover Support for ActiveFailover mode - Required ArangoDB >= 3.8.0, < 3.12 (default true)
143+
--deployment.feature.agency-poll Enable Agency Poll for Enterprise deployments - Required ArangoDB >= 3.8.0 (default true)
142144
--deployment.feature.all Enable ALL Features
143-
--deployment.feature.async-backup-creation Create backups asynchronously to avoid blocking the operator and reaching the timeout - Required ArangoDB 3.8.0 or higher
144-
--deployment.feature.deployment-spec-defaults-restore Restore defaults from last accepted state of deployment - Required ArangoDB 3.8.0 or higher (default true)
145-
--deployment.feature.enforced-resign-leadership Enforce ResignLeadership and ensure that Leaders are moved from restarted DBServer - Required ArangoDB 3.8.0 or higher (default true)
146-
--deployment.feature.ephemeral-volumes Enables ephemeral volumes for apps and tmp directory - Required ArangoDB 3.8.0 or higher
147-
--deployment.feature.failover-leadership Support for leadership in fail-over mode - Required ArangoDB 3.8.0 or higher
148-
--deployment.feature.init-containers-copy-resources Copy resources spec to built-in init containers if they are not specified - Required ArangoDB 3.8.0 or higher (default true)
149-
--deployment.feature.init-containers-upscale-resources Copy resources spec to built-in init containers if they are not specified or lower - Required ArangoDB 3.8.0 or higher (default true)
150-
--deployment.feature.local-storage.pass-reclaim-policy [LocalStorage] Pass ReclaimPolicy from StorageClass instead of using hardcoded Retain - Required ArangoDB 3.8.0 or higher
151-
--deployment.feature.local-volume-replacement-check Replace volume for local-storage if volume is unschedulable (ex. node is gone) - Required ArangoDB 3.8.0 or higher
152-
--deployment.feature.random-pod-names Enables generating random pod names - Required ArangoDB 3.8.0 or higher
153-
--deployment.feature.rebalancer-v2 Rebalancer V2 feature - Required ArangoDB 3.10.0 or higher
154-
--deployment.feature.restart-policy-always Allow to restart containers with always restart policy - Required ArangoDB 3.8.0 or higher
155-
--deployment.feature.secured-containers Create server's containers with non root privileges. It enables 'ephemeral-volumes' feature implicitly - Required ArangoDB 3.8.0 or higher
156-
--deployment.feature.sensitive-information-protection Hide sensitive information from metrics and logs - Required ArangoDB 3.8.0 or higher
157-
--deployment.feature.short-pod-names Enable Short Pod Names - Required ArangoDB 3.8.0 or higher
158-
--deployment.feature.timezone-management Enable timezone management for pods - Required ArangoDB 3.8.0 or higher
159-
--deployment.feature.tls-sni TLS SNI Support - Required ArangoDB EE 3.8.0 or higher (default true)
160-
--deployment.feature.upgrade-version-check Enable initContainer with pre version check - Required ArangoDB 3.8.0 or higher (default true)
161-
--deployment.feature.upgrade-version-check-v2 Enable initContainer with pre version check based by Operator - Required ArangoDB 3.8.0 or higher
145+
--deployment.feature.async-backup-creation Create backups asynchronously to avoid blocking the operator and reaching the timeout - Required ArangoDB >= 3.8.0
146+
--deployment.feature.deployment-spec-defaults-restore Restore defaults from last accepted state of deployment - Required ArangoDB >= 3.8.0 (default true)
147+
--deployment.feature.enforced-resign-leadership Enforce ResignLeadership and ensure that Leaders are moved from restarted DBServer - Required ArangoDB >= 3.8.0 (default true)
148+
--deployment.feature.ephemeral-volumes Enables ephemeral volumes for apps and tmp directory - Required ArangoDB >= 3.8.0
149+
--deployment.feature.failover-leadership Support for leadership in fail-over mode - Required ArangoDB >= 3.8.0, < 3.12
150+
--deployment.feature.init-containers-copy-resources Copy resources spec to built-in init containers if they are not specified - Required ArangoDB >= 3.8.0 (default true)
151+
--deployment.feature.init-containers-upscale-resources Copy resources spec to built-in init containers if they are not specified or lower - Required ArangoDB >= 3.8.0 (default true)
152+
--deployment.feature.local-storage.pass-reclaim-policy [LocalStorage] Pass ReclaimPolicy from StorageClass instead of using hardcoded Retain - Required ArangoDB >= 3.8.0
153+
--deployment.feature.local-volume-replacement-check Replace volume for local-storage if volume is unschedulable (ex. node is gone) - Required ArangoDB >= 3.8.0
154+
--deployment.feature.random-pod-names Enables generating random pod names - Required ArangoDB >= 3.8.0
155+
--deployment.feature.rebalancer-v2 Rebalancer V2 feature - Required ArangoDB >= 3.10.0
156+
--deployment.feature.restart-policy-always Allow to restart containers with always restart policy - Required ArangoDB >= 3.8.0
157+
--deployment.feature.secured-containers Create server's containers with non root privileges. It enables 'ephemeral-volumes' feature implicitly - Required ArangoDB >= 3.8.0
158+
--deployment.feature.sensitive-information-protection Hide sensitive information from metrics and logs - Required ArangoDB >= 3.8.0
159+
--deployment.feature.short-pod-names Enable Short Pod Names - Required ArangoDB >= 3.8.0
160+
--deployment.feature.timezone-management Enable timezone management for pods - Required ArangoDB >= 3.8.0
161+
--deployment.feature.tls-sni TLS SNI Support - Required ArangoDB EE >= 3.8.0 (default true)
162+
--deployment.feature.upgrade-version-check Enable initContainer with pre version check - Required ArangoDB >= 3.8.0 (default true)
163+
--deployment.feature.upgrade-version-check-v2 Enable initContainer with pre version check based by Operator - Required ArangoDB >= 3.8.0
162164
--features-config-map-name string Name of the Feature Map ConfigMap (default "arangodb-operator-feature-config-map")
163165
-h, --help help for arangodb_operator
164166
--image.discovery.status Discover Operator Image from Pod Status by default. When disabled Pod Spec is used. (default true)

docs/features/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ title: List of all features
1919
| [Force Rebuild Out Synced Shards](rebuild_out_synced_shards.md) | 1.2.27 | 1.2.27 | >= 3.8.0 | Community, Enterprise | Production | False | --deployment.feature.force-rebuild-out-synced-shards | It should be used only if user is aware of the risks. |
2020
| [Spec Default Restore](deployment_spec_defaults.md) | 1.2.25 | 1.2.21 | >= 3.8.0 | Community, Enterprise | Beta | True | --deployment.feature.deployment-spec-defaults-restore | If set to False Operator will not change ArangoDeployment Spec |
2121
| Version Check | 1.2.23 | 1.1.4 | >= 3.8.0 | Community, Enterprise | Production | True | --deployment.feature.upgrade-version-check | N/A |
22-
| [Failover Leader service](failover_leader_service.md) | 1.2.13 | 1.2.13 | >= 3.8.0 | Community, Enterprise | Production | False | --deployment.feature.failover-leadership | N/A |
22+
| [Failover Leader service](failover_leader_service.md) | 1.2.13 | 1.2.13 | < 3.12.0 | Community, Enterprise | Production | False | --deployment.feature.failover-leadership | N/A |
2323
| Graceful Restart | 1.2.5 | 1.0.7 | >= 3.8.0 | Community, Enterprise | Production | True | ---deployment.feature.graceful-shutdown | N/A |
2424
| Optional Graceful Restart | 1.2.0 | 1.2.5 | >= 3.8.0 | Community, Enterprise | Production | False | --deployment.feature.optional-graceful-shutdown | N/A |
2525
| Operator Internal Metrics Exporter | 1.2.0 | 1.2.0 | >= 3.8.0 | Community, Enterprise | Production | True | --deployment.feature.metrics-exporter | N/A |
@@ -29,6 +29,7 @@ title: List of all features
2929
| JWT Rotation Support | 1.1.0 | 1.0.3 | >= 3.8.0 | Enterprise | Production | True | --deployment.feature.jwt-rotation | N/A |
3030
| Operator Single Mode | 1.0.4 | 1.0.4 | >= 3.8.0 | Community, Enterprise | Production | False | --mode.single | Only 1 instance of Operator allowed in namespace when feature is enabled |
3131
| TLS SNI Support | 1.0.3 | 1.0.3 | >= 3.8.0 | Enterprise | Production | True | --deployment.feature.tls-sni | N/A |
32+
| ActiveFailover Support | 1.0.0 | 1.0.0 | < 3.12.0 | Community, Enterprise | Production | True | --deployment.feature.active-failover | N/A |
3233
| Disabling of liveness probes | 0.3.11 | 0.3.10 | >= 3.8.0 | Community, Enterprise | Production | True | N/A | N/A |
3334
| Pod Disruption Budgets | 0.3.11 | 0.3.10 | >= 3.8.0 | Community, Enterprise | Production | True | N/A | N/A |
3435
| Prometheus Metrics Exporter | 0.3.11 | 0.3.10 | >= 3.8.0 | Community, Enterprise | Production | True | N/A | Prometheus required |

internal/features.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,17 @@ features:
140140
doc: docs/features/failover_leader_service.md
141141
flag: --deployment.feature.failover-leadership
142142
enabled: false
143+
arangoDBVersion: "< 3.12.0"
143144
releases:
144145
- operatorVersion: 1.2.13
145146
state: Production
147+
- name: ActiveFailover Support
148+
flag: --deployment.feature.active-failover
149+
enabled: true
150+
arangoDBVersion: "< 3.12.0"
151+
releases:
152+
- operatorVersion: 1.0.0
153+
state: Production
146154
- name: Spec Default Restore
147155
doc: docs/features/deployment_spec_defaults.md
148156
flag: --deployment.feature.deployment-spec-defaults-restore

pkg/deployment/features/failoverleadership.go renamed to pkg/deployment/features/active-failover.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,29 @@ package features
2222

2323
func init() {
2424
registerFeature(failoverLeadership)
25+
registerFeature(activeFailover)
26+
}
27+
28+
var activeFailover = &feature{
29+
name: "active-failover",
30+
description: "Support for ActiveFailover mode",
31+
version: newFeatureVersion("", "3.12"),
32+
enterpriseRequired: false,
33+
enabledByDefault: true,
2534
}
2635

2736
var failoverLeadership = &feature{
2837
name: "failover-leadership",
2938
description: "Support for leadership in fail-over mode",
39+
version: newFeatureVersion("", "3.12"),
3040
enterpriseRequired: false,
3141
enabledByDefault: false,
3242
}
3343

3444
func FailoverLeadership() Feature {
3545
return failoverLeadership
3646
}
47+
48+
func ActiveFailover() Feature {
49+
return activeFailover
50+
}

0 commit comments

Comments
 (0)
0