Page tree
Skip to end of metadata
Go to start of metadata

Выбиратор версии базы данных в башне не предполагает, что он проведет миграцию базы с одной версии на другую.

Процедура обновления базы может быть достаточно сложной и сильно зависеть от окружения.

Пожалуйста читайте соответствующую документацию по обновлению на вашей операционной системе.


Однако системе надо знать какую версию постгреса и монги ждать.

Что бы башня ставила соответствующую версию было сделано дополнительная защита от ошибки админа указать версию можно только через переменные окружения.

Вариант того куда ставить эту переменную окружения зависит от методики запуска башни. Возможны несколько вариантов

Запуск по необходимости с командной строки

Башня нужна только на время деплоя и если систему надо настроить. Поэтому держать ее запущенной только в нужные моменты достаточно мудрое решение.

обычно команда запуска описанная в мануале по инсталяции выглядит так

su - tower -c "cd /opt/tower && ./bin/tower-web"

ее надо исправить до

su - tower -c "cd /opt/tower && MONGO_VERSION=3.4 POSTGRES_VERSION=9.6 ./bin/tower-web"

Запуск через systemd

Для тех кто запускает башню через systemd стандартным вариантом будет добавление опции EnvironmentFile=. Тут описанны юнит можно дополнить этой опцией и получить, что то вроде

[Unit]
Description=NOC supervisor service
After=network.target

[Service]
EnvironmentFile=/etc/defaults/tower
WorkingDirectory=/opt/tower
User=tower
ExecStart=/opt/tower/bin/tower-web --listen=127.0.0.1:8888

[Install]
WantedBy=multi-user.target

А в файле /etc/defaults/tower указать эти же опции по одной в строке

MONGO_VERSION=3.4
POSTGRES_VERSION=9.6

После модификации юнита надо перезапустить systemd и башню.

Указанный путь в вашей операционной системе может отличаться.

Вариант Docker

Наверное самый простой. Модифицировать docker-compose.yml раскоментировав эти опции в файле с примером.

получится так

version: '2.1'
services:
  tower:
    image: registry.getnoc.com/noc/tower:master_alpine
    restart: always
    hostname: TEST-TOWER
    ports:
      - "8888:8888"
    volumes:
      - "/opt/tower/var:/opt/tower/var/"
      - "$PWD/root:/root"
    environment:
#      PROMETHEUS_ENABLED: "True"
#      INFLUXDB_ENABLED: "False"
      HISTCONTROL: "ignoreboth:erasedups"
      MONGO_VERSION: 3.4
      POSTGRES_VERSION: 9.6

перезапустить контейнер по результатам

  • No labels