没有更新个人资料的选项? Ansible bigip_profile_client_ssl模块

时间:2019-04-17 21:35:15

标签: ssl ansible f5

我正在尝试创建一个Ansible游戏,在该游戏中,先前下载的SSL证书随后被分发到我们的F5。我已经更新为我们的许可证允许的最新版本12.1.4。我可以将密钥和证书文件放在F5上。我可以手动配置这些证书,并且一切正常……但是我需要通过Ansible使该过程自动化。

我们的F5目前被用作名为WaveForm的服务的故障转移,该服务监视音频馈送。我正在尝试使用bigip_profile_client_ssl更新WaveForm的客户端配置文件,以指向先前步骤中已上传的新SSL证书。问题是我不知道如何更新现有的配置文件,bigip_profile_client_ssl似乎只能创建一个具有相同名称的新配置文件。我已经搜索了文档,谷歌等,但是找不到如何执行的答案,特别是客户端SSL配置文件的更新。

因此,自然地,我在想也许可以删除旧条目并创建一个新条目。简单吧?但是我在那里也遇到了问题:我似乎无法弄清楚如何使用bigip_profile_client_ssl模块设置应用程序或分区/路径。我认为,“应用程序”设置是将SSL配置绑定到实际网络资源的具体方式。

请参阅Ansible文档: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 | clientsl | Common / wf.site.com.app

新条目的外观如下:

名称|申请|家长资料|分区/路径 wf.site.com_client-ssl | (空白)| clientsl |普通

在这里我有什么选择? Shell命令?

1 个答案:

答案 0 :(得分:0)

我发现多次运行Ansible剧本不会产生多个新的客户端SSL配置文件。因此,为了解决该问题,我不理会现有的已配置客户端SSL配置文件,我使用Ansible剧本创建了一个新的客户端SSL配置文件,修改了应用程序设置以指向此新的客户端SSL配置文件,并且似乎仍在波形中-机智。我可以使用Common / default.crt和default.key更新,并看到波形SSL失败,并且可以使用正确的密钥和完整链证书再次运行ansible脚本,并看到波形在有效HTTPS上按预期运行。应用程序配置似乎没有任何其他操作...只是更改了配置的客户端SSL配置文件,一切似乎都可以正常工作。

我希望这可以帮助可能遇到类似问题的其他人。