Нет возможности обновить профиль? Ansible модуль bigip_profile_client_ssl - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь создать игру Ansible, в которой ранее загруженные сертификаты SSL затем распространяются на наши F5.Я обновил до последней версии, которую разрешит наша лицензия, 12.1.4.Я могу разместить ключи и файлы сертификатов на F5.Я могу вручную настроить эти сертификаты, и все работает нормально ... но мне нужно, чтобы этот процесс был автоматизирован с помощью Ansible.

Наши F5 в настоящее время используются в качестве отработки отказа для службы под названием WaveForm, которая контролирует аудиопотоки.Я пытаюсь использовать bigip_profile_client_ssl, чтобы обновить профиль клиента для WaveForm, чтобы он указывал на новые сертификаты SSL, которые были загружены на предыдущих этапах.Проблема в том, что я не могу понять, как обновить существующий профиль, bigip_profile_client_ssl, кажется, только создает новый профиль с тем же именем.Я искал документы, Google и т. Д. И не могу найти ответ, как выполнить, в частности, обновление клиентского профиля SSL.

Поэтому, естественно, я подумал, что, возможно, я смогу удалитьСтарая запись и создать новую запись.Просто, правда?Но я также сталкиваюсь с проблемами: я не могу понять, как установить Приложение или Раздел / Путь с помощью модуля bigip_profile_client_ssl.Я думаю, именно настройка приложения будет связывать конфигурацию SSL с реальным сетевым ресурсом.

См. Ansible docs: https://docs.ansible.com/ansible/latest/modules/bigip_profile_client_ssl_module.html

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

Вот модуль, с которым у меня возникают проблемы:

# fullpath from facts: "/Common/wf.site.com.app/wf.site.com_client-ssl"
- name: Update Client SSL Profile for WaveForm
  bigip_profile_client_ssl:
    provider:
      server: "{{ server }}"
      server_port: "{{ server_port }}"
      user: "{{ f5_ad_user }}"
      password: "{{ f5_ad_password }}"
      transport: rest
      validate_certs: no # temporary ignore SSL validation
    state: present # as opposed to absent
    name: "wf.site.com_client-ssl"
    parent: "/Common/clientssl"
    cert_key_chain:
      - cert: "/Common/default.crt" #test-cert-fullchain.crt"
        key: "/Common/default.key" #test-key.key"
      # chain: 
  delegate_to: localhost

После этого я получаю 2 записи для wf.site.com_client-ssl.Одна из них является новой и содержит правильные сертификаты, но не настроена для использования через параметр приложения, другая активно используемая запись остается неизменной.

Правильная запись выглядит примерно так в профилях локального трафика ›: SSL: Страница клиента:

Имя |Применение |Родительский профиль |Раздел / Путь wf.site.com_client-ssl |wf.site.com |клиенты |Common / wf.site.com.app

Где новая запись выглядит примерно так:

Имя |Применение |Родительский профиль |Раздел / Путь wf.site.com_client-ssl |(пусто) |клиенты |Общий

Какие у меня есть варианты?Команды оболочки?

1 Ответ

0 голосов
/ 18 апреля 2019

Я обнаружил, что многократный запуск моей книги воспроизведения Ansible не привел к появлению нескольких новых клиентских профилей SSL.Поэтому в качестве обходного пути я игнорирую существующий настроенный клиентский профиль SSL, я использовал мою книгу воспроизведения Ansible для создания нового клиентского профиля SSL, изменил настройки приложения, чтобы указать на этот новый клиентский профиль SSL, и кажется, что SSL для формы сигнала все еще находится в-tact.Я могу обновить с помощью Common / default.crt и default.key и увидеть, что SSL-формы волны не работает, и могу снова запустить сценарий ansible с правильным ключом и сертификатом полной цепочки и увидеть, как форма сигнала работает, как ожидается, по действительному HTTPS.Конфигурация приложения, похоже, больше ничего не делает ... просто изменила настроенный клиентский профиль SSL, и все, кажется, работает должным образом.

Надеюсь, это поможет кому-то еще, кто может столкнуться с подобными проблемами.

...