recursive loop detected in template string problem

hi , how do i address CB.C1.COUNTER in CB.C1.BUCKETS_DICT

vars file:

CB:
C1:
COUNT: 4
BUCKETS_DICT:

  • { bucket_name: “Test”, bucket_type: ‘couchbase’, bucket_port: ‘11211’, bucket_ram_quota: “{{ ( 800 / CB.C1[‘COUNT’] ) | int }}” }

task:

  • name: create buckets
    run_once: true
    shell: “/opt/couchbase/bin/couchbase-cli bucket-create -c 127.0.0.1:8091 --bucket={{ item.bucket_name }} --bucket-type={{ item.bucket_type }} --bucket-port={{ item.bucket_port }} --bucket-ramsize={{ item.bucket_ram_quota }} -u {{ admin_user }} -p {{ admin_password }}”
    with_items: “{{ CB.C1.BUCKETS_DICT }}”

thanks

need help with this really
cant move on with infrastructure
pls help

I can’t answer the dictionary lookup question directly. I suggest you use a flatter variable structure instead if you can, i.e.

cb_c1_count: 4
cb_c1_buckets:

  • name: ‘xxx’
  • type: ‘yyy’
  • quota: “{{ 800 / cb_c1_count | int }}”

This should avoid using self-referential lookups. Not quite elegant for large number of variables though.