Forum Discussion

KernelPanic's avatar
KernelPanic
Icon for Nimbostratus rankNimbostratus
Jan 24, 2018

Ansible F5 bigip_profile_client_ssl unrecognized by Ansible

Hi Dev's I'm automating my app deployments and the play to create a clientssl profile is not working at all. Everything else is working, this module is the only issue, I've tried every mutation and I get this error. Ansible doesn't appear to recognize the module.

    The Play
=============================================================
  - name: "Create client SSL profile with specific ciphers"
    bigip_profile_client_ssl:
      server: "{{inventory_hostname}}"
      user: "{{adminuser}}"
      password: "{{adminpass}}"
      state: "present"
      name: "{{appnm}}_{{dc}}_{{zone}}_clientssl"
      ciphers: "!SSLv3:!SSLv2:ECDHE+AES-GCM+SHA256:ECDHE-RSA-AES128-CBC-SHA"
      cert_key_chain:
        - cert: "/Common/default.crt"
        - key: "/Common/default.key"
    delegate_to: localhost

============================
The Error

        [brian@quasar roles]$ ansible-playbook site.yml -u brian -vvvvv -C
    ansible-playbook 2.4.2.0
      config file = /etc/ansible/ansible.cfg
      configured module search path = ['/home/brian/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible python module location = /usr/lib/python3.5/site-packages/ansible
      executable location = /usr/bin/ansible-playbook
      python version = 3.5.4 (default, Aug 23 2017, 18:32:05) [GCC 6.4.1 20170727 (Red Hat 6.4.1-1)]
    Using /etc/ansible/ansible.cfg as config file
    setting up inventory plugins
    Parsed /etc/ansible/hosts inventory source with ini plugin
    ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

    The error appears to have been in '/home/brian/ansible/roles/pegasbx/tasks/main.yml': line 92, column 5, but may
    be elsewhere in the file depending on the exact syntax problem.

    The offending line appears to be:


      - name: "Create client SSL profile with specific ciphers"
        ^ here
  • I found that I could use the URI: module as a workaround, but it fails if the profile exists, so you can only use it once, and there is no state option

      - name: "Create client SSL profile with specific ciphers"
        uri:
          url: "https://{{inventory_hostname}}/mgmt/tm/ltm/profile/client-ssl/"
          method: "POST"
          validate_certs: no
          body_format: "json"
          user: "{{adminuser}}"
          password: "{{adminpass}}"
          body:
    name: "{{appnm}}_{{dc}}_{{zone}}_clientssl"
    partition: "Common"
    cert: "/Common/default.crt"
    key: "/Common/default.key"
    username: "{{adminuser}}"
    password: "{{adminpass}}"
    

    delegate_to: localhost

  • I am running into similar issue. Did you find any workaround.