CSIT-1477: add 1n_tx2 VPP Device
[csit.git] / resources / tools / testbed-setup / ansible / roles / common / tasks / main.yaml
index 06058a4..96e3f83 100644 (file)
@@ -1,23 +1,63 @@
 ---
 # file: roles/common/tasks/main.yaml
 
 ---
 # file: roles/common/tasks/main.yaml
 
-- name: Ubuntu specific
-  import_tasks: ubuntu_x86_64.yaml
-  when: ansible_distribution|lower == 'ubuntu' and ansible_machine == 'x86_64'
+- name: Ensure the system exists in Cobbler
+  cobbler_system:
+    host: '{{ cobbler_hostname }}'
+    port: 60080
+    interfaces:
+      br1:
+        ipaddress: '{{ ansible_default_ipv4.address }}'
+        macaddress: '{{ ansible_default_ipv4.macaddress }}'
+    name: '{{ hostname }}'
+    password: '{{ cobbler_password }}'
+    properties:
+      hostname: '{{ hostname }}'
+      gateway: '{{ ansible_default_ipv4.gateway }}'
+      profile: '{{ cobbler_profile }}'
+      name_servers: '{{ name_servers }}'
+      name_servers_search: '{{ name_servers_search }}'
+      kickstart: '/var/lib/cobbler/kickstarts/{{ cobbler_profile }}.seed'
+      kernel_options: '"interface={{ ansible_default_ipv4.interface }}"'
+      netboot_enabled: yes
+    username: '{{ cobbler_username }}'
+    use_ssl: no
+    validate_certs: no
+  when: provision_enabled
+  delegate_to: localhost
+  tags: cobbler-include
 
 
-- name: Set hostname
-  hostname:
-      name: '{{ hostname }}'
-  tags: set-hostname
+- name: Commit Cobbler changes
+  cobbler_sync:
+    host: '{{ cobbler_hostname }}'
+    port: 60080
+    password: '{{ cobbler_password }}'
+    username: '{{ cobbler_username }}'
+    use_ssl: no
+    validate_certs: no
+  run_once: yes
+  when: provision_enabled
+  delegate_to: localhost
+  register: __included_in_cobbler
+  notify:
+    - 'Boot from network'
+    - 'Reboot server'
+  tags: cobbler-include
 
 
-- name: Ensure hostname is in /etc/hosts
+- meta: flush_handlers
+
+- name: Add permanent proxy settings
   lineinfile:
   lineinfile:
-    path: '/etc/hosts'
-    regexp: '^{{ ansible_default_ipv4.address }}.+$'
-    line: '{{ ansible_default_ipv4.address }} {{ hostname }}.linuxfoundation.org'
-  tags: set-hostname
+    path: '/etc/environment'
+    state: 'present'
+    line: '{{ item.key }}={{ item.value }}'
+  with_dict: '{{ proxy_env }}'
+  when: proxy_env is defined
 
 
-- name: Set sudoers
+- name: Install distribution - release - machine prerequisites
+  include_tasks: '{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml'
+
+- name: Set sudoers admin
   lineinfile:
     path: '/etc/sudoers'
     state: 'present'
   lineinfile:
     path: '/etc/sudoers'
     state: 'present'
@@ -26,7 +66,7 @@
     validate: '/usr/sbin/visudo -cf %s'
   tags: set-sudoers
 
     validate: '/usr/sbin/visudo -cf %s'
   tags: set-sudoers
 
-- name: Set sudoers
+- name: Set sudoers sudo
   lineinfile:
     path: '/etc/sudoers'
     state: 'present'
   lineinfile:
     path: '/etc/sudoers'
     state: 'present'
 
 - name: Copy grub file
   template:
 
 - name: Copy grub file
   template:
-   src: 'files/grub'
+   src: 'files/grub_{{ ansible_machine }}'
    dest: '/etc/default/grub'
    owner: 'root'
    group: 'root'
    mode: '644'
    dest: '/etc/default/grub'
    owner: 'root'
    group: 'root'
    mode: '644'
-  notify: ['Update GRUB']
+  notify:
+    - 'Update GRUB'
+    - 'Reboot server'
   tags: copy-grub
   tags: copy-grub
+
+- meta: flush_handlers