create file using ansible variable

25 views
Skip to first unread message

Pradeep Ghorpade

unread,
Aug 28, 2020, 2:04:48 AM8/28/20
to Ansible Development
Hello,

i am trying to create file which will be use to create partition in windows.
I am using variables in below format.
additional_disks:
- drive_letter: E
  mount_point: TMP1
  disk_size: 7
  label: DBInstall
  block_size: 4096k
  datastore: vsanDatastoreCMP001
- drive_letter: F
  mount_point: TMP2
  disk_size: 9
  label: DBInstall1
  block_size: 4096k
  datastore: vsanDatastoreCMP001
- drive_letter: G
  mount_point: TMP3
  disk_size: 10
  label: DBInstall2
  block_size: 4096k
  datastore: vsanDatastoreCMP001

I am using below code:
- name: Testing Iteration
  copy:
    dest: /tmp/testtemp
    content: |
      {% for var in additional_disks %}
      select disk {{ my_idx | int +2 }}
      create partition primary
      assign letter "{{ item.drive_letter }}"
      format fs=ntfs label={{ item.label }} quick
      {% endfor %}
  with_items:
    - "{{ additional_disks }}"
  loop_control:
    index_var: my_idx
    label: " "
  delegate_to: localhost

Gettin output:
select disk 4
create partition primary
assign letter "G"
format fs=ntfs label=DBInstall2 quick
select disk 4
create partition primary
assign letter "G"
format fs=ntfs label=DBInstall2 quick
select disk 4
create partition primary
assign letter "G"
format fs=ntfs label=DBInstall2 quick

expected output:
select disk 2
create partition primary
assign letter E
format fs=ntfs label=DBInstall quick

select disk 3
create partition primary
assign letter F
format fs=ntfs label=DBInstall quick

select disk 4
create partition primary
assign letter G
format fs=ntfs label=DBInstall2 quick


Can you please help to get correct outpt.


Chriztoffer Hansen

unread,
Aug 28, 2020, 2:00:54 PM8/28/20
to Ansible Development

Chriztoffer Hansen

unread,
Aug 28, 2020, 2:02:05 PM8/28/20
to Ansible Development

Have you tried using loop instead of var_items?

Reply all
Reply to author
Forward
0 new messages