Bash "playbooks" for Ceph + OpenNebula
Go to file
Vitaliy Filippov 3c11285ccf +TODO 2023-08-29 13:56:19 +03:00
ceph-deploy Add Ceph playbook 2023-08-29 13:56:19 +03:00
etc Add Ceph playbook 2023-08-29 13:56:19 +03:00
README.md +TODO 2023-08-29 13:56:19 +03:00
all_vars.sample +README 2023-08-29 13:56:19 +03:00
ceph.sh Use config/all_vars 2023-08-29 13:56:19 +03:00
general.sh Use config/all_vars 2023-08-29 13:56:19 +03:00
network.sh Add Ceph playbook 2023-08-29 13:56:19 +03:00
opennebula-ceph-cpds-clone.diff Add the cpds-clone patch 2020-02-04 21:31:07 +03:00
opennebula-ceph-ec-revert.patch Add the cpds-clone patch 2020-02-04 21:31:07 +03:00
opennebula.sh Use config/all_vars 2023-08-29 13:56:19 +03:00
run.sh Add Ceph playbook 2023-08-29 13:56:19 +03:00

README.md

"Плейбуки" на баше для конфигурации Ceph + OpenNebula

Почему на баше? Потому что с ансиблом бесит yaml программирование!

Хотя на баше, конечно, тоже не совсем красиво местами.

Логика та же: можно запускать многократно.

Переменные указываются в файле config/all_vars (предполагается, что он подключается из другого репозитория), пример - в all_vars.sample.

TODO

  • Мониторинг и алерты - пока Prometheus+Grafana настроены вручную на 172.31.1.13 ("подоконник")
  • Написать отдельно скрипты для начальной настройки кластера (создание ceph-deploy, создание пулов в цефе, подключение датастора к opennebula). Оные выполняются только один раз на весь кластер, поэтому отдельно.
  • Сделать на всех хостах LACP из 2x 10GbE сетевых интерфейсов
  • Шаблонизировать mon_initial_members в ceph.conf (?)
  • Попробовать технологизировать "баш-плейбуки". Нужно не так много вещей, но некоторые могли бы быть действительно полезны, например:
    • Функция вида: Скопировать файл на хост и в зависимости от того, отличался ли он до этого, выполнить команду/команды
    • Аналог ansible lineinfile - проверить наличие строки/строк в файле и добавить, если их там нет. В вариантах "просто слить два файла построчно в любом порядке" и "заменить строчку, удовлетворяющую регэкспу"
    • Полечить отступы в heredoc (в баше вложенные heredoc ломаются с отступами)
    • Можно даже попробовать сделать всё это не на баше, но пока что баш выглядит проще всего, на то и шелл - команды дёргать
    • Придумать, на чём красивее шаблонизировать конфиги (НО ТОЛЬКО НЕ НА JINJA!!!) - пока что это вообще envsubst
    • И сделать, чтобы при подстановках проверялось, что никто не забыл установить подставляемые переменные
    • Кстати, ещё были бы полезны функции работы с массивами - вывести через запятую, отфильтровать... - это скорее всего вопрос либо к самому языку написания "плейбуков", либо к тому, что используется как шаблонизатор