From 31cc71b7cdd216f770e2bddfe110d94e8647894f Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Fri, 5 Jun 2015 11:46:33 -0600 Subject: [PATCH] Populate systems Disable netboot by default, so we don't accidentally reimage systems unintentionally Signed-off-by: Zack Cerza --- roles/cobbler/tasks/main.yml | 4 ++++ roles/cobbler/tasks/populate_systems.yml | 27 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 roles/cobbler/tasks/populate_systems.yml diff --git a/roles/cobbler/tasks/main.yml b/roles/cobbler/tasks/main.yml index bb35e13..9687145 100644 --- a/roles/cobbler/tasks/main.yml +++ b/roles/cobbler/tasks/main.yml @@ -51,3 +51,7 @@ service: name: "{{ httpd_service }}" state: started + +- include: populate_systems.yml + tags: + - systems diff --git a/roles/cobbler/tasks/populate_systems.yml b/roles/cobbler/tasks/populate_systems.yml new file mode 100644 index 0000000..59ddc89 --- /dev/null +++ b/roles/cobbler/tasks/populate_systems.yml @@ -0,0 +1,27 @@ +--- +- name: Get list of cobbler systems + command: cobbler system list + register: cmd_cobbler_systems + no_log: true + +- name: Set cobbler_systems_current + set_fact: + cobbler_systems_current: "[{% for host in cmd_cobbler_systems.stdout.strip().split() %}'{{ host }}.{{ lab_domain }}, {% endfor %}]" + +- name: set cobbler_systems_add + set_fact: + cobbler_systems_add: + "{{ groups.cobbler_managed | difference(cobbler_systems_current) }}" + +- name: Add missing systems to cobbler + command: cobbler system add --name={{ item.split('.')[0] }} --profile={{ default_profile }} --mac={{ hostvars[item].mac }} --ip-address={{ hostvars[item].ip }} --interface={{ hostvars[item].interface }} --kopts="{{ hostvars[item].kernel_options }}" --netboot-enabled false + with_items: cobbler_systems_add + +- name: set cobbler_systems_update + set_fact: + cobbler_systems_update: + "{{ groups.cobbler_managed | intersect(cobbler_systems_current) }}" + +- name: Update existing systems in cobbler + command: cobbler system edit --name={{ item.split('.')[0] }} --mac={{ hostvars[item].mac }} --ip-address={{ hostvars[item].ip }} --interface={{ hostvars[item].interface }} --kopts="{{ hostvars[item].kernel_options }}" + with_items: cobbler_systems_update -- 2.39.5