--- - name: Adding Debian OpenNebula GPG key apt_key: url='https://downloads.opennebula.io/repo/repo.key' state=present when: ansible_os_family == "Debian" # Note, using http instead of https so apt-cacher-ng may cache the repo - name: Adding Debian 10 OpenNebula repository apt_repository: repo='deb http://downloads.opennebula.io/repo/6.2/Debian/10 stable opennebula' state=present when: ansible_os_family == "Debian" and ansible_distribution_major_version == "10" - name: Adding Debian 11 OpenNebula repository apt_repository: repo='deb http://downloads.opennebula.io/repo/6.2/Debian/11 stable opennebula' state=present when: ansible_os_family == "Debian" and ansible_distribution_major_version == "11" # Install OpenNebula - name: Installing OpenNebula controller applications apt: update_cache: yes state: present name: - opennebula - opennebula-sunstone - opennebula-fireedge - opennebula-gate - opennebula-flow - opennebula-provision # NOTE: OpenNebula daemons do NOT start after install, contrary to how most other debian packages behave. # This is good as we want to set passwords and other configurations before we start OpenNebula for the first time. # Set permissions on /var/lib/one folder - name: Ensuring permissions on /var/lib/one directory file: path: /var/lib/one state: directory owner: oneadmin group: oneadmin mode: '0755' # Create /var/lib/one/.ssh folder - name: Creating /var/lib/one/.ssh directory file: path: /var/lib/one/.ssh state: directory owner: oneadmin group: oneadmin mode: '0755' # Create /var/log/one folder or the daemon will not start - name: Creating /var/log/one directory file: path: /var/log/one state: directory owner: oneadmin group: oneadmin mode: '0755' # Copy ssh client config for oneadmin user - name: Copying oneadmin SSH client config copy: src: 'files/ssh.config' dest: '/var/lib/one/.ssh/config' owner: 'oneadmin' group: 'oneadmin' mode: '0644'