ArangoDeployment spec.architecture silently ignores additional architectures
Hi :wave:
it would be cool if specifying multiple architectures in an ArangoDeployment spec.architecture would result in multiple nodeAffinity entries on the pod specs:
in the original implementation there was an error "Only one architecture type is supported currently", but that seems to have disappeared before/during/after merging that PR.
only the first architecture specified here is respected, however. the rest is ignored (only one nodeAffinity is added to the pods). maybe the error should not have gone 🤔 ref https://github.com/arangodb/arangodb-docker/issues/110#issuecomment-1273629942
Originally posted by @ddelange in https://github.com/arangodb/docs/issues/1141#issuecomment-1273645764
Hello!
Arch switch will be possible to do in 1.2.20/1.3.0. PR is already merged on master (#1107).
Once applied, you will be able to change Architecture of running Members (but member will be able to have assigned only one Architecture at same time).
Will keep you informed.
Best Regards, Adam.
Hi Adam, thanks for the reply! Are you referring to switching a currently running cluster ref https://github.com/arangodb/arangodb-docker/issues/53#issuecomment-1252131888 ?
This issue is about spinning up fresh clusters: specifying multiple arch in ArangoDeployment, e.g. spec.architecture = [arm64, amd64] should either result in multiple NodeAffinity entries, or should throw an error.
in the original implementation there was an error
"Only one architecture type is supported currently", but that seems to have disappeared before/during/after merging that PR.
Currently, specifying multiple arch's (fresh cluster boot) will result in only the first one being respected.
Hello!
About this line spec.architecture = [1, 2] - we do not pass yet 2 architectures directly to the pods (only ID will be able to do it).
For 3.11 we plan to mark this feature as Production together with weights (you can configure that you prefer to run on arm, but in case use also amd). It will be accessible before 3.11 as a alpha feature in Operator.
3.10 is first ARM64 release, especially 3.10.0. We need to ensure everything will be fine with multi-arch clusters and dynamic arch switching inside cluster (especially when you will upload custom analyzers).
Best Regards, Adam.