Aktualisieren Sie den Docker-Container MongoDB Replicaset mit Ansible

Aktualisieren Sie den Docker-Container MongoDB Replicaset mit Ansible

Ich versuche, MongoDB in meinem Docker-Container mit Ansible von 3.6 auf 4.2 zu aktualisieren, aber der Docker-Container startet immer wieder neu.
Der Grund für den Neustart ist, dass der Kompatibilitätsgrad auf 3.6 eingestellt ist.
Genauer gesagt:

IMPORTANT: UPGRADE PROBLEM: Found an invalid featureCompatibilityVersion document(ERROR: BadValue: Invalid value for version, found 3.6, expected '4.2' or '4.0'. Contents of featureCompatibilityVersion document in admin.system.version: { _id: "featureCompatibilityVersion", version: "3.6" }. See http://dochub.mongodb.org/core/4.0-feature-compatibility.). If the current featureCompatibilityVersion is below 4.0, see the documentation on upgrading at http://dochub.mongodb.org/core/4.0-upgrade-fcv.

Wie aktualisiere ich dieses Dokument?
Ich habe versucht, einen Ansible-Post-Build-Befehl (nennen wir ihn so) auszuführen, der so aussieht:

  - name: set compatibility level
    state: started
    shell: "docker exec mongodb-primary bash -c 'mongo --eval \"db.adminCommand( { setFeatureCompatibilityVersion: \"4.2\" } )\"'"
    become: True
    become_user: root
    register: result

Ich habe auch eine Reihe anderer Optionen ausprobiert, alles ohne Erfolg.
Und dieses Ansible-Skript schlägt fehl, da es keine Verbindung zu Mongo herstellen kann. Die Verbindung wurde abgelehnt, heißt es. Das ist es, nehme ich an.

Wie kann man Mongo im Docker-Container tatsächlich von 3.6 auf 4.2 aktualisieren? Mit Ansible und Docker-Compose.

Antwort1

Dieses Problem wurde durch ein Upgrade auf 4.0, anschließendes Setzen von featureCompatibilityVersion auf 4.0, anschließendes erneutes Upgrade auf 4.2 und anschließendes Setzen von featureCompatibilityVersion auf 4.2 gelöst.

Antwort2

Ja, mit MongoDB können Sie nicht mit einem Update von 3.6 auf 4.2 springen, sondern müssen zur nächsten Version wechseln und so weiter, bis Sie die Version erhalten, die Sie benötigen.

verwandte Informationen