--- # 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: Install CSIT PIP requirements pip: name: - 'docopt==0.6.2' - 'ecdsa==0.13' - 'enum34==1.1.2' - 'ipaddress==1.0.16' - 'paramiko==1.16.0' - 'pexpect==4.6.0' - 'pycrypto==2.6.1' - 'pykwalify==1.5.0' - 'pypcap==1.1.5' - 'python-dateutil==2.4.2' - 'PyYAML==3.11' - 'requests==2.9.1' - 'robotframework==2.9.2' - 'scapy==2.3.1' - 'scp==0.10.2' - 'six==1.12.0' - 'dill==0.2.8.2' - 'numpy==1.14.5' - 'aenum==2.1.2' tags: install-pip - name: Install CSIT PIP requirements - SciPy workaround pip: name: - 'scipy==1.1.0' tags: install-pip - 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