Ansible динамический инвентарь с bash-скриптом - PullRequest
0 голосов
/ 23 мая 2019

Недавно мы создали API, который позволяет нам запрашивать список виртуальных машин, а не использовать файл инвентаризации.Я пытаюсь включить это в нашу податливую установку.Я очень новичок в использовании динамического инвентаря и пробовал несколько разных вариантов с bash, так как я не очень разбираюсь в python.

Это почти работает, но до тех пор, пока книга игр не стала истинной.Если в пьесе требуется sudo, я получаю эту ошибку

FAILED! => {"changed": false, "module_stderr": "/bin/sh: sudo: command not found", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 127}

SERVER1=($(curl -sS --request GET https://foo/bar| awk 'BEGIN {FS="["} {print $1}'))

cat <<EOF
{
    "test1": {
        "hosts": ["$SERVER1"],
    }
}
EOF

Я пытался найти примеры того, что я пытаюсь сделать, но у меня не получилось.

У меня есть 3 группы, в которых мне нужно запустить игру (test1, test2, test3). Это самое близкое, что я заставил его работать.Если сделать это с помощью Python проще или я бы предпочел этот метод, чтобы понять это, я просто не могу сказать, близок ли я к решению или отстранен.Любая помощь приветствуется.

SERVER1=($(curl -sS --request GET https://foo/bar| awk 'BEGIN {FS="["} {print $1}'))
SERVER2=($(curl -sS --request GET https://foo/bar| awk 'BEGIN {FS="["} {print $2}'))
SERVER3=($(curl -sS --request GET https://foo/bar| awk 'BEGIN {FS="["} {print $3}'))

cat <<EOF
{
    "test1": {
        "hosts": ["$SERVER1"],
    },
    "test2": {
        "hosts": ["$SERVER2"],
    },
    "test3": {
        "hosts": ["$SERVER3"],
    }
}
EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...