infra/roles/pve/tasks/enable_vlans.yml
Sergey Bubnov (omg) d89c7ab77e prevent wrong behaviour when more than one dhcp on interfaces
firts we check that the VM has already get some IP address
and if so we just deploy as usual. If VM have no IP address
on any interface we throw all interfaces except first (eth0) to
the `empty vlan` that have no DHCP server enabled. VLAD ID defined
in environment variable. After network configuration inside VM we
restore propper VLAN IDs on all interfaces. This approach should help
in situations when DHCP available on more than one interfaces and those
interfaces configured as dhcp-clients, thus more than one default gw
will be configured with some metrics and all traffic will be routed
to the right one or will be not.
2019-06-27 13:21:48 +04:00

29 lines
957 B
YAML

---
- set_fact: node_name="{{inventory_hostname_short}}"
- set_fact: vm_name="{{node_name}}.{{stack.name}}"
- name: "[{{vm_name}}] enable all VLANs"
proxmox_kvm:
node: srv
api_user: "{{env.pve.username}}"
api_password: "{{env.pve.password}}"
api_host: "{{env.pve.api_url}}"
name: "{{vm_name}}"
agent: yes
cpu: host
kvm: yes
cores: "{{stack.nodes[node_name].cores}}"
memory: "{{stack.nodes[node_name].mem}}"
net: "{{stack.nodes[node_name].net | to_proxmox_net}}"
update: yes
state: present
ipconfig0: "ip={{stack.nodes[node_name].net.eth0.ipv4[0]}},gw={{stack.nodes[node_name].net.eth0.default}}"
nameserver: "{{stack.nodes[node_name].net.eth0.nameservers | default(omit) | first}}"
searchdomain: "{{stack.nodes[node_name].net.eth0.search | default(omit) | first}}"
register: vm_status
until: vm_status is succeeded
retries: 30
delay: 1
ignore_errors: yes
delegate_to: localhost