bertvv/ansible-role-bind

Need help: 'dict object' has no attribute 'ljust'

Closed this issue · 2 comments

I try to have:

*.apps IN CNAME lbvip
apps IN CNAME lbvip

Config:

bind_zone_domains:
  - name: "{{ hostname_domain }}"
    hosts:
      - name: helper
        ip: "{{ ansible_default_ipv4.address }}"
      - name: lbvip
        ip: "{{ ansible_default_ipv4.address }}"
      - name: bootstrap
        ip: "192.168.1.9"
      - name: "*.apps"
        aliases:
          - name: lbvip
            type: CNAME
      - name: "apps"
        aliases:
          - name: lbvip
            type: CNAME

Result.

ASK [bertvv.bind : Master | Create forward lookup zone file] *********************************************************************************************************************************************
failed: [helper.ocp44-01.c4lab.local] (item={'name': 'ocp44-01.c4lab.local', 'hosts': [{'name': 'helper', 'ip': '30.105.100.90'}, {'name': 'lbvip', 'ip': '30.105.100.90'}, {'name': 'bootstrap', 'ip': '192.168.1.9'}, {'name': 'apps', 'aliases': [{'name': 'lbvip', 'type': 'CNAME'}]}]}) => {"ansible_loop_var": "item", "changed": false, "item": {"hosts": [{"ip": "30.105.100.90", "name": "helper"}, {"ip": "30.105.100.90", "name": "lbvip"}, {"ip": "192.168.1.9", "name": "bootstrap"}, {"aliases": [{"name": "lbvip", "type": "CNAME"}], "name": "apps"}], "name": "ocp44-01.c4lab.local"}, "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'ljust'"}

ok first, my config here is wrong. Should be

- name: "lbvip"
        ip: "{{ ansible_default_ipv4.address }}"
        aliases:
          - name: "apps"
            type: CNAME
        #   - name: "*.apps"
        #     type: CNAME

But here it looks like I have an Ansible issue. Or jinja issue. The function ljust hasn't been found..
I'm on Ansible 2.9.7

No, my bad. The right config was:

-      name: "lbvip"
        ip: "{{ ansible_default_ipv4.address }}"
        aliases:
          - "apps"
          - "*.apps"