Code Monkey home page Code Monkey logo

ansible-cartridge's People

Contributors

andreyermilov avatar dokshina avatar fizikroot avatar hackallcode avatar kasen avatar lenkis avatar mrrvz avatar no1seman avatar oleggator avatar opomuc avatar runsfor avatar

ansible-cartridge's Issues

Улучшение процедур бекапа и восстановления

Сейчас есть две проблемы:

  • Если снапшот на одном узле из всего кластера выполняется в момент бекапа, то выполнение плейбука свалится с ошибкой
  • Восстановление всего репликасета часто ведёт к тому, что репликация ломается из-за потерянных транзакций. (Missing xlog file)

Для решения второй проблемы необходимо реализовать следующее:

  • Возможность через директиву when ансибла выполнять taskи только на мастерах
  • При восстановлении бекапа все узлы репликасета необходимо восстанавливать с бекапа мастера. При этом на самом мастере восстанавливать весь датасет, а на репликах только конфигурацию картриджа. Датасет сам подтянется с мастера после инициализации узла.

Add support for Alt linux

It seems that the installation of the tarantool package doesn't work on Alt-Linux. All other parts work.

Как администратор системы я хочу производить бекап только в одной зоне доступности кластера

что бы не гонять трафик между зонами доступности.

Возможен такой кейс, что кластер расположен в нескольких ЦОД(зонах доступности). При этом бекапить все узлы репликасета смысла нет, для восстановления хватит бекапа только одного узла. Предлагаю сделать возможность забекапить только одну зону доступности, которую определять по параметру zone.

В случае если переменные среды изменены в одном playbook, а перезагрузка происходит в другом, то узлы не перезагружаются

Пример:

- name: Configure instance parameters
  hosts: all
  roles:
    - tarantool.cartridge
  become: true
  become_user: root
  gather_facts: false
  vars:
    cartridge_scenario:
      - configure_instance

- name: Restart replicas
  hosts: replicas
  serial: 4
  roles:
    - tarantool.cartridge
  become: true
  become_user: root
  gather_facts: false
  vars:
    cartridge_scenario:
      - restart_instance
      - wait_instance_started
      - wait_members_alive
      - wait_cluster_has_no_issues

Добавить возможность отключения сознания systemd файлов

Нужно отключать блок BLOCK: Extend systemd unit files
В одном проекте мы используем этот плейбук вместе с супервизором и используем параметр cartridge_extra_vars что приводит к включению этого блока, который создаёт ненужные файлы и каталоги

Добавить поддержку ansible 2.15

Начиная с этого PR ansible/ansible#80542 ansible более строго начал проверять аргументы кастомных модулей. Таким образом при выполнении плейбука происходит ошибка:

TASK [tarantool.cartridge : Collect tasks for scenario steps] *******************************************************************************************************************
вторник 06 июня 2023  18:48:20 +0300 (0:00:00.016)       0:01:05.989 **********
fatal: [router-1 -> localhost]: FAILED! => {"changed": false, "msg": "argument 'custom_steps_dir' is of type <class 'NoneType'> and we were unable to convert to str: 'None' is not a string and conversion is not allowed"}

Для того, что бы этого избежать необходимо выставить всем параметрам, которые переданы как null в defaults/main.yml, параметр Default: None

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.