Ansible Tower API не принимает токен - PullRequest
0 голосов
/ 07 мая 2018

Я выполняю следующие действия POST на сервере Tower:

http://<my-tower-url>/api/v2/job_templates/10/launch/


Headers:
Content-Type:application/json
Authorization:sometokenhere

И получаю сообщение об ошибке:

{"detail": "Учетные данные аутентификациине были предоставлены. "}

Также пробовали следующее:

Headers:
Content-Type:application/json
Authorization:Token sometokenhere

как предложено здесь .

То же самое происходит при прохожденииНеобработанное имя пользователя / пароль в теле POST выглядит следующим образом (и пропускается заголовок Authorization):

{
    "username": "myusername",
    "password": "mypass",
    "inventory": "inventoryname",
    "verbosity": 0,
    "extra_vars": {
        "var1": "somevar1",
        "var2": "somevar2",
        "var3": "somevar3",
        "var4": "somevar4",
        "var5": "somevar5"
    }
}

Есть идеи, почему это не работает?

1 Ответ

0 голосов
/ 11 мая 2018

Я использовал базовую аутентификацию следующим образом:

1 . Создайте пользователя, для которого вы хотите запускать ваши задания ci, с помощью

2 . Выполните следующее сообщение на соответствующем задании CI:

curl -o /dev/null -s -w \"%{http_code}\n\" -X POST http://<my-tower-url>/api/v2/job_templates/10/launch/ \
                  -H \"authorization: Basic $MY_AUTH_TOKEN\" \
                  -H \"content-type: application/json\" \
                  -d \"@awx_data.json

Где

  • awx_data.json - это файл, содержащий фактическое POST тело
  • MY_AUTH_TOKEN - это типичное base64 закодированное имя пользователя + пароль указанного выше пользователя

Вы также можете присвоить приведенный выше результат и сравнить его с 201, что и AWX возвращает при успешном создании вакансии.

Опрос сервера AWX, чтобы проверить, успешно ли завершена работа, - это, конечно, другая история.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...