Ansible пользовательский модуль: неподдерживаемые параметры для модуля (custom_module_name): param3 Поддерживаемые параметры включают param1 param2 - PullRequest
1 голос
/ 28 февраля 2020

Я редактирую имена переменных здесь для облегчения понимания. Моя проблема касается Ansible playbook, который использует пользовательский модуль Ansible. Выполнение playbook приводит к следующей ошибке:

TASK [ansiblecustommodulename.service_scale] ******************************************************************************************************************************************************
fatal: [myenv.mydomain]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (ansiblecustommodulename) module: param3 Supported parameters include: param1, param2"}

Playbook включает следующее (пропуская первую часть playbook для краткости)

   - name: ansiblecustommodulename.service_scale
     ansiblecustommodulename:
       action: service.scale
       param1: "{{ otherapp_param1 }}"
       param2: "{{ otherapp_param2 }}"
       param3: "{{ otherapp_param3 }}"

В custom_module.py Файл, AnsibleModule был использован:

def main():
    """
    Manage mydomain services.
    """

    module = AnsibleModule(
        argument_spec={
            'param1': {'required': None},
            'param2': {'default': None},
            'param3': {'default': None},
            'action': {'required': True, 'choices': [
                'service.scale',
            ]}
        }

Я вставил опцию отладчика в конце книги воспроизведения. Запуск p task_vars показывает, что переменная param3 была правильно инициализирована:

          'param1': 'ec2',
          'param2': 'default',
          'param3': '3',
 'param1': 'ec2',
 'param2': 'default',
 'param3': '3',

Но я все еще получаю ошибку "Unsupported ..". Есть идеи по этому поводу?

1 Ответ

1 голос
/ 28 февраля 2020

Решено удалением резервной версии .py в папке / library. Оказалось, что Ansible фактически загружает все файлы .py в папку библиотеки (если у вас есть локальный модуль). Это привело к чтению неправильного модуля .py и игнорированию новейших изменений, которые исправили ошибку.

Мы можем считать это закрытым.

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