{% for vm in pillar[grains['datacenter'] + '_nodes'] %}
{% if pillar[grains['datacenter'] + '_nodes'][vm]['generate'] %}
generate-{{ vm }}:
file.managed:
- name: /var/preseed/{{ vm }}/preseed.cfg
- source: salt://kvm/files/preseed
- user: root
- group: root
- mode: 644
- template: jinja
- context:
ip_address: {{ pillar[grains['datacenter'] + '_nodes'][vm]['ip_address'] }}
netmask: {{ pillar[grains['datacenter'] + '_nodes'][vm]['netmask'] }}
gateway: {{ pillar[grains['datacenter'] + '_nodes'][vm]['gateway'] }}
dns_server: {{ pillar[grains['datacenter'] + '_nodes'][vm]['dns_server'] }}
- require:
- file: /etc/network/interfaces
- file: /etc/libvirt/qemu.conf
cmd.run:
- name: virt-install --name={{ vm }} --arch=x86_64 --vcpus={{ pillar[grains['datacenter'] + '_nodes'][vm]['num_cpus'] }} --cpu host --ram={{ pillar[grains['datacenter'] + '_nodes'][vm]['ram_in_mb'] }} --os-type=linux --os-variant=debianwheezy --hvm --connect=qemu:///system --network bridge:br0,model=virtio --location={{ pillar['nodes_global']['installation_media'] }} --disk path=/mnt/virtual_images/{{ vm }}.img,size={{ pillar[grains['datacenter'] + '_nodes'][vm]['hdd_size_in_gb'] }},cache=none,bus=virtio --graphics vnc,port={{ pillar[grains['datacenter'] + '_nodes'][vm]['vnc_port'] }},keymap=en-us --accelerate --noautoconsole --initrd-inject=/var/preseed/{{ vm }}/preseed.cfg --extra-args="auto=true priority=critical"
- unless: virsh list --all | grep -q {{ vm }}
- order: last
- require:
- file: /etc/network/interfaces
- file: /etc/libvirt/qemu.conf
- file: /var/preseed/{{ vm }}/preseed.cfg
- file: /mnt/virtual_images
{% endif %}
{% endfor %}
local:Data failed to compile:----------Rendering SLS kvm failed, render error: Undefined jinja variable; line 64 in template---[...]- unless: virsh list --all | grep -q {{ vm }}- order: last- require:- file: /etc/network/interfaces- file: /etc/libvirt/qemu.conf- file: /var/preseed/{{ vm }}/preseed.cfg <======================- file: /mnt/virtual_images{% endif %}{% endfor %}---
--
You received this message because you are subscribed to the Google Groups "Salt-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to salt-users+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
{% for vm_id, vm_config in pillar[grains['datacenter'] + '_nodes'].items() %}{% if vm_config['generate'] %}
generate-{{ vm_id }}:file.managed:- name: /var/preseed/{{ vm_id }}/preseed.cfg
- source: salt://kvm/files/preseed- user: root- group: root- mode: 644- template: jinja- context:
ip_address: {{ vm_config['ip_address'] }}netmask: {{ vm_config['netmask'] }}gateway: {{ vm_config['gateway'] }}dns_server: {{ vm_config['dns_server'] }}
- require:- file: /etc/network/interfaces- file: /etc/libvirt/qemu.confcmd.run:
- name: virt-install --name={{ vm_id }} --arch=x86_64 --vcpus={{ vm_config['num_cpus'] }} --cpu host --ram={{ vm_config['ram_in_mb'] }} --os-type=linux --os-variant=debianwheezy --hvm --connect=qemu:///system --network bridge:br0,model=virtio --location={{ pillar['nodes_global']['installation_media'] }} --disk path=/mnt/virtual_images/{{ vm_id }}.img,size={{ vm_config['hdd_size_in_gb'] }},cache=none,bus=virtio --graphics vnc,port={{ vm_config['vnc_port'] }},keymap=en-us --accelerate --noautoconsole --initrd-inject=/var/preseed/{{ vm_id }}/preseed.cfg --extra-args="auto=true priority=critical"- unless: virsh list --all | grep -q {{ vm_id }}
- order: last- require:- file: /etc/network/interfaces- file: /etc/libvirt/qemu.conf
- file: /var/preseed/{{ vm_id }}/preseed.cfg
- file: /mnt/virtual_images{% endif %}{% endfor %}
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/salt/state.py", line 1992, in render_state
rendered_sls=mods
File "/usr/local/lib/python2.7/dist-packages/salt/template.py", line 69, in compile_template
ret = render(input_data, env, sls, **render_kwargs)
File "/usr/local/lib/python2.7/dist-packages/salt/renderers/jinja.py", line 42, in render
tmp_data.get('data', 'Unknown render error in jinja renderer')
SaltRenderError: Undefined jinja variable; line 64 in template
---
[...]
- unless: virsh list --all | grep -q {{ vm_id }}
- order: last
- require:
- file: /etc/network/interfaces
- file: /etc/libvirt/qemu.conf
- file: /var/preseed/{{ vm_id }}/preseed.cfg <======================
- file: /mnt/virtual_images
{% endif %}
{% endfor %}
---
dpdcn_nodes:
webadmin:
role:
- adminserver
- webserver
ip_address: xxx.xxx.xxx.xxx
netmask: 255.255.255.0
gateway: xxx.xxx.xxx.xxx
dns_server: xxx.xxx.xxx.xxx
vnc_port: 5900
num_cpus: 2
ram_in_mb: 12288
hdd_size_in_gb: 20
generate: true
/tmp/test:
file.managed:
- source: salt://kvm/files/test.txt
- user: root
- group: root
- mode: 644
- template: jinja
{% set nodes = pillar[grains['datacenter'] + '_nodes'] -%}
{%- for vm, vm_config in pillar[grains['datacenter'] + '_nodes'].items() %}
{%- if vm_config['generate'] == True %}
{{ vm }}
{{ vm_config }}
{%- endif %}
{%- endfor %}
cws-dev1v1
{'dns_server': '129.120.14.122', 'num_cpus': 2, 'vnc_port': 5900, 'hdd_size_in_gb': 20, 'generate': True, 'ram_in_mbs': 12288, 'netmask': '255.255.255.0', 'role': ['webserver'], 'ip_address': '129.120.108.10', 'gateway': '129.120.108.250'}
--
You received this message because you are subscribed to a topic in the Google Groups "Salt-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/salt-users/1fkRhpdnyq0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to salt-users+...@googlegroups.com.
--