Рейтинг:0

ansible.windows.win_package передает сведения о машине инвентаризации в аргументы msi

флаг uz

Я пытаюсь установить файл MSI с помощью ansible.windows.win_package модуль
Один из аргументов должен содержать имя машины сервера приложений.
Попытка использовать следующий синтаксис - не сработала (я сжимаю список аргументов в следующем примере файла задачи):

- имя: Установить Server.msi center_primary_dbserver
  ansible.windows.win_package:
    путь: c:\r10_files\Server.msi
    аргументы:
      ...
      АУТЕНТИФИКАЦИЯ = ОКНА
      APPSERVER={{ center_primary_appservers }}
      RABBITSERVER={{ center_qservers.hosts[0] }}
      ... 
      THUMBPRINT={{ cert_thumbprint }}
      ЗАЩИЩЕНО=1
      SQLSERVERNAME={{ inventory_hostname_short }}
      LOG_SIZE=100
      ...
  когда: "'center_primary_dbservers' в group_names"

Вот часть моего инвентарного файла:

---
все:
  дети:
    корень:
      дети:
        центр:
          дети:
            center_primary_appservers:
              хосты:
                vm1.домен.com:
            center_qсерверы:
              хосты:
                vm2.домен.com:
            center_primary_dbservers:
              хосты:
                vm3.домен.com:

Как мы можем видеть -
Мне нужно разместить значение center_primary_appserver машина в ПРИЛОЖЕНИЕ аргумент,
и стоимость center_qserver машина в КРОЛИКСЕРВЕР аргумент
Для ОТПЕЧАТОК Я создал отдельный файл задачи, результаты которого регистрируются с помощью cert_thumbprint переменная, например:

- имя: импортировать отпечаток сертификата
  ansible.windows.win_certificate_store:
    путь: "{{ cert_path.files[0].path }}"
    тип_файла: pkcs12
    пароль: "FooF!ght3rs"
    store_location: Локальная машина
    key_storage: машина
    состояние: присутствует
  стать: да
  be_method: руны
  стать_пользователем: СИСТЕМА
  регистрация: cert_thumbprint
  когда: "'certificate_autohrities' в group_names"

Итак, в настоящее время выполнение этой задачи приводит к следующей ошибке:

{
    «изменено»: ложь,
    "вызов": {
        "module_args": {
            "аргументы":
            ... 
            THUMBPRINT={'изменено': False, 'пропущено': True, 
                        'skip_reason': 'Условный результат был False'} 
            RABBIT_PARENT_SERVER=center_qservers.hosts[0] 
            ЗАЩИЩЕНО=1
            SQLSERVERNAME=vm3
            LOG_SIZE=100 
            ...         
           }
        }
    }
}

Подводя итог вопросу:
Каков правильный синтаксис для:

  • прописать в MSI Arguments - прописанную переменную из другого файла задачи (в нашем примере: cert_thumbprint)?
  • назначьте в MSI Arguments - машинная переменная из инвентаря (в нашем примере: center_primary_appservers, center_qservers.hosts[0])?
Semicolon avatar
флаг jo
Вы думаете, что в «группе» center_primary_appservers будет только один хост? Если да - вы уверены, что вам нужно, чтобы это была группа?
флаг uz
@ Точка с запятой, В этой конкретной лаборатории - только один, В другой лаборатории - нет. Здесь важна гибкость

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.