Hello,

I am trying to configure a playbook for setting up nodes in an open stack 
cluster. As part of the openstack cluster, you can pass a "group" variable 
which will put nodes in the group on different compute nodes. We already 
have a naming convention that allows us to do this fairly easily.
For example, our database servers are named loc-env-ssdb-01, 
loc-env-ssdb-02, loc-env-ssdb-03, etc. 
Since we want all the db servers on different compute nodes, we should just 
be able to pass the node name, trimmed of the last three characters, into 
the group value. This would keep the vms on different hosts. However, I 
can't find a great way to do this in the YAML file.

Here is what I have so far:

      nova_compute:
        state: present
        login_username: '{{ tenant_username }}'
        login_password: '{{ tenant_password }}'
        login_tenant_name: '{{ tenant_env }}' 
        auth_url: '{{ auth_url }}'
        flavor_id: '{{ flavor_id }}'
        key_name: '{{ keypair_name }}'
        name: '{{ item.vm_name }}'
        wait_for: 440
        image_id: '{{ image.id }}'
        nics:
          - net-id: '{{ network_id }}'
        userdata: '{{ userdata }}'
        meta: #'{{item.meta }}'
          group: '{{ item.vm_name }}' # This is where I want a regex or 
something to trim the last 3 characters from the vm name and pass that in 
as the group.
          #role: '{{ item.meta.role }}' 
      register: vm
      with_items: vms


Any help would be appreciated. 

Thanks,
Danny

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to