Skip to content

Commit

Permalink
The --fd-as-zone option takes the value 1..255, which indicates at …
Browse files Browse the repository at this point in the history
…what level

nesting `hosts` contains the required name `zone`

For example, when configuring:
```yaml
hosts:
  - name: region
    hosts:
      - name: datacenter
        hosts:
          - name: host
```
Team:
```shell
genin build --fd-as-zone=2
```
We get:
```yaml
hosts:
  role:
    zone: datacenter
    config:
```
  • Loading branch information
Alexandr Sorokin committed Apr 23, 2024
1 parent a8f515b commit 744f5f2
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -541,8 +541,33 @@ will be on the specified hosts.
You can also use a failure domain name as a value for the [`zone`](https://github.com/tarantool/ansible-cartridge/blob/master/doc/variables.md?plain=1#L90) property of the instances config. Just add the `--fd-as-zone` flag to your `build` command, for example: `genin build --fd-as-zone`.
The `--fd-as-zone` option takes the value 1..255, which indicates at what level
nesting `hosts` contains the required name `zone`
With this flag, once the instances are distributed over the target hosts according to the failure_domains algorithm, the final host name of each instance becomes its zone parameter and gets stored in the instance's config.
For example, when configuring:
```yaml
hosts:
- name: region
hosts:
- name: datacenter
hosts:
- name: host
```
Team:
```shell
genin build --fd-as-zone=2
```
We get:
```yaml
hosts:
role:
zone: datacenter
config:
```
---
#### Configuration `ansible-host`
Expand Down
24 changes: 24 additions & 0 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -561,11 +561,35 @@ hosts:

Есть возможность использовать финальный хост (конкретный `failure_domain`, куда распределяется инстанс) в качестве параметра [`zone`](https://github.com/tarantool/ansible-cartridge/blob/master/doc/variables.md?plain=1#L90) в ansible-конфигурации инстанса. Для этого необходимо передать флаг `--fd-as-zone` в команду `build`, например: `genin build --fd-as-zone`.

Опция `--fd-as-zone` принимает значение 1..255, которое указываение на каком уровне
вложенности `hosts` находится нужное наименование `zone`

Точное поведение `Genin` при передаче этого флага будет следующим:

0. После работы стандартного алгоритма `failure_domains`, инстансы будут распределены на некоторые хосты согласно их конфигурации;
1. Имя итогового хоста, на который был распределен инстанс, будет использовано в качестве параметра `zone` в ansible-конфигурации инстанса.

Например, при конфигурации:
```yaml
hosts:
- name: region
hosts:
- name: datacenter
hosts:
- name: host
```
Команда:
```shell
genin build --fd-as-zone=2
```
Получим:
```yaml
hosts:
role:
zone: datacenter
config:
```

---

#### Параметр `ansible-host`
Expand Down

0 comments on commit 744f5f2

Please sign in to comment.