diff --git a/ansible/playbooks/deploy_tf.yml b/ansible/playbooks/deploy_tf.yml index 11fbf33..c4b4928 100644 --- a/ansible/playbooks/deploy_tf.yml +++ b/ansible/playbooks/deploy_tf.yml @@ -7,21 +7,30 @@ name: terraform_vm vars: terraform_vm_project_path: /home/vez/homelab/terraform/projects/terransible - terraform_vars_multi_node_deployment: false - terraform_vars_target_node: zenith - # terraform_vars_vm_attr: - # mast: - # ram: 2048 - # cpu: 2 - # vlan: 66 - # work: - # ram: 1024 - # cpu: 1 - # vlan: 66 + # terraform_vars_multi_node_deployment: false + # terraform_vars_target_node: zenith + terraform_vars_vm_attr: + master: + ram: 2048 + cpu: 2 + vlan: 66 + worker: + ram: 1024 + cpu: 1 + vlan: 66 - name: Ping - hosts: servers + hosts: all gather_facts: false tasks: - - name: Ping the host group - ansible.builtin.ping: \ No newline at end of file + - name: Ping all the hosts + ansible.builtin.ping: + + delegate_to: + - name: Ping the master + ansible.builtin.ping: + when: inventory_hostname in groups['master'] + + - name: Ping the worker + ansible.builtin.ping: + when: inventory_hostname in groups['worker'] \ No newline at end of file diff --git a/terraform/projects/terransible/main.tf b/terraform/projects/terransible/main.tf index b30aecf..c3a477a 100644 --- a/terraform/projects/terransible/main.tf +++ b/terraform/projects/terransible/main.tf @@ -22,10 +22,13 @@ locals { vm_cpu = config.cpu vm_ram = config.ram vm_vlan = config.vlan + vm_role = role } ] ]) : vm.vm_name => vm } + + roles = toset([for vm in local.vm_list : vm.vm_role]) } data "proxmox_virtual_environment_nodes" "pve_nodes" {} @@ -34,14 +37,15 @@ output "vm_ip" { value = { for k, v in module.pve_vm : k => v.vm_ip } } -resource "ansible_group" "servers" { - name = "servers" +resource "ansible_group" "vm_groups" { + for_each = local.roles + name = each.key } -resource "ansible_host" "vm" { +resource "ansible_host" "vm_hosts" { for_each = module.pve_vm name = each.key variables = { ansible_host = each.value.vm_ip } - groups = ["servers"] + groups = [local.vm_list[each.key].vm_role] } \ No newline at end of file