aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/testbed-setup/ansible/roles/common/tasks/main.yaml
blob: 6bb4d4614efc84537428a3599f1143cbba6810b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
# file: roles/common/tasks/main.yaml

- 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: 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

- meta: flush_handlers

- name: Copy netplan network config file
  template:
    src: 'files/netplan_config'
    dest: '/etc/netplan/01-netcfg.yaml'
    owner: 'root'
    group: 'root'
    mode: '0644'
  tags: copy-interface-file

- name: Add permanent proxy settings
  lineinfile:
    path: '/etc/environment'
    state: 'present'
    line: '{{ item.key }}={{ item.value }}'
  with_dict: '{{ proxy_env }}'
  when: proxy_env is defined

- name: Install distribution - release - machine prerequisites
  include_tasks: '{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml'
  tags: [ install-csit-dependencies, copy-apt-sources ]

- name: Set sudoers admin
  lineinfile:
    path: '/etc/sudoers'
    state: 'present'
    regexp: '^%admin ALL='
    line: '%admin ALL=(ALL) ALL'
    validate: '/usr/sbin/visudo -cf %s'
  tags: set-sudoers

- name: Set sudoers sudo
  lineinfile:
    path: '/etc/sudoers'
    state: 'present'
    regexp: '^%sudo'
    line: '%sudo ALL=(ALL:ALL) NOPASSWD: ALL'
    validate: '/usr/sbin/visudo -cf %s'
  tags: set-sudoers

- name: Copy grub file
  template:
   src: 'files/grub_{{ ansible_machine }}'
   dest: '/etc/default/grub'
   owner: 'root'
   group: 'root'
   mode: '644'
  notify:
    - 'Update GRUB'
    - 'Reboot server'
  tags: copy-grub

- name: Mellanox Install - Driver
  import_tasks: mellanox.yaml
  tags: mellanox-install

- meta: flush_handlers