Текущая версия OpenShift MongoDB:
sh-4.2$ mongod --version
db version v3.2.10
git version: 79d9b3ab5ce20f51c272b4411202710a082d0317
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
Мне сказали, что последняя доступная версия OpenShift была 3.6
.
Доступны следующие шаги поддержки OpenShift:
Перейдите к следующему:
Приложения> Развертывания> Раскрытие действий (справа) и Правка.
Оттуда измените значение для версии в разделе Images / Image Stream Tag:
openshift / mongodb: 3.6
Имейте в виду, что это просто обновит версию MongoDB,вам все еще может потребоваться выполнить другие задачи для обновления данных до соответствия, которое выходит за рамки поддержки.
Я немного обеспокоен возможными "другими задачами".
Как я могу безопасно обновить MongoDB с 3.2.10 до 3.6 на OpenShift?
Редактировать
Я попытался выполнить перечисленные шаги, и это было результатом:
Веб-сайт Frontend отображает:
{"name":"MongoError","message":"Topology was destroyed"}
И это различные кадры с консоли.
![enter image description here](https://i.stack.imgur.com/Dpjto.png)
![enter image description here](https://i.stack.imgur.com/oNIyA.png)
![enter image description here](https://i.stack.imgur.com/jr8kC.png)
Я погуглил Topology was destroyed
и наткнулся на этот ответ:
https://stackoverflow.com/a/31950062
, который, хотя и ссылается на Mongoose, а я этим не пользуюсь, говорил о том, что Node волнуется, когда не можетподключиться к MongoDB.
Итак, я уменьшил модуль Node, затем модуль MongoDB, а затем увеличил модуль MongoDB, а затем модуль Node.
Кажется, он вернулся к последнему работающему развертыванию MongoDB.
Затем я нажимаю Deploy
для модуля MongoDB, и он снова застревает с сообщением, показанным на первом изображении выше.
Редактировать 2
Я попытался уменьшить масштаб обоих модулей, а затем развернуть, я заметил это в журналах MongoDB:
2018-09-14T14:08:40.176+0000 F CONTROL [initandlisten] ** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.
2018-09-14T14:08:40.176+0000 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2018-09-14T14:08:40.176+0000 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2018-09-14T14:08:40.176+0000 I REPL [initandlisten] shutdown: removing all drop-pending collections...
2018-09-14T14:08:40.176+0000 I REPL [initandlisten] shutdown: removing checkpointTimestamp collection...
2018-09-14T14:08:40.176+0000 I STORAGE [initandlisten] WiredTigerKVEngine shutting down
=> Waiting for MongoDB daemon up
2018-09-14T14:08:40.416+0000 I STORAGE [initandlisten] WiredTiger message [1536934120:416170][26:0x7f20e10adb80], txn-recover: Main recovery loop: starting at 61/3200
2018-09-14T14:08:40.529+0000 I STORAGE [initandlisten] WiredTiger message [1536934120:529090][26:0x7f20e10adb80], txn-recover: Recovering log 61 through 62
2018-09-14T14:08:40.593+0000 I STORAGE [initandlisten] WiredTiger message [1536934120:593166][26:0x7f20e10adb80], txn-recover: Recovering log 62 through 62
2018-09-14T14:08:40.684+0000 I STORAGE [initandlisten] shutdown: removing fs lock...
2018-09-14T14:08:40.684+0000 I CONTROL [initandlisten] now exiting
2018-09-14T14:08:40.684+0000 I CONTROL [initandlisten] shutting down with code:62
=> Waiting for MongoDB daemon up
Редактировать 3
Я добился определенного прогресса, я предпринял следующие шаги:
- Уменьшил модули MongoDB и Node.
- Установите версию MongoDB на 3,4
![enter image description here](https://i.stack.imgur.com/9k78e.png)
Модуль запускается и работает, но затем, когдая пытаюсь сделать то же самое с 3.6, он показывает сообщение об ошибке в журналах о The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6
.
Редактировать 4
Re:
https://docs.mongodb.com/manual/release-notes/3.6-upgrade-standalone/#upgrade-version-path
Я запустил это в терминале модуля:
env | grep MONGODB // to confirm i had admin password correct
mongo -u admin -p ************ admin
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
и он вернул:
{ "featureCompatibilityVersion" : "3.2", "ok" : 1 }
Итак, я сделал:
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "ok" : 1 }
> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : "3.4", "ok" : 1 }
Затем я убедился, что все модули были уменьшены и изменил версию MongoDB с 3.4
на 3.6
, развернул и попытался снова увеличить модуль MongoDB.
И это вернулось!
Редактировать 5
Я вернулся в терминал и запустил:
> db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
{ "ok" : 1 }
, потому что я получил эту ошибку в консоли инструментов браузера dev:
FeatureCompatibilityVersion должно быть 3,6, чтобы использовать arrayFilters.См. http://dochub.mongodb.org/core/3.6-feature-compatibility.
И функциональность теперь работает на переднем конце!