This repository has been archived by the owner on Jul 28, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ansible_install.yaml
105 lines (79 loc) · 5.46 KB
/
ansible_install.yaml
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
105
- hosts: localhost
connection: local
vars:
# Set True to activate IM in single site more (OpenNebula sites)
SINGLE_SITE: False
# Hostname of the OpenNebula API server
SINGLE_SITE_HOST: onserver.domain.com
# URL of the IAM TTS server
TTS_URL: https://localhost:8443
tasks:
- name: Yum install epel-release
action: yum pkg=epel-release state=installed
when: ansible_os_family == "RedHat"
- name: Install libselinux-python in RH
action: yum pkg=libselinux-python state=installed
when: ansible_os_family == "RedHat"
- name: Ubuntu install Ansible requisites with apt
apt: name=python-pip,python-jinja2,sshpass,openssh-client,unzip,python-mysqldb,python-sqlite update_cache=yes
when: ansible_distribution == "Ubuntu"
- apt_key: url=https://repo.indigo-datacloud.eu/repository/RPM-GPG-KEY-indigodc state=present
when: ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int >= 14
ignore_errors: yes
register: indigo_apt_key
- shell: wget -qO - https://repo.indigo-datacloud.eu/repository/RPM-GPG-KEY-indigodc | sudo apt-key add - warn=false
when: indigo_apt_key is failed
- name: Ubuntu install indigo 2 repo
apt: deb=https://repo.indigo-datacloud.eu/repository/indigo/2/ubuntu/dists/xenial/main/binary-amd64/indigodc-release_2.0.0-1_amd64.deb
when: ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int >= 14
- name: Apt-get update
apt: update_cache=yes
when: ansible_os_family == "Debian"
- name: Ubuntu install IM and Ansible with apt
apt: name=python-im,ansible force=yes
when: ansible_distribution == "Ubuntu"
- name: RH indigo repos
yum: state=present name=https://repo.indigo-datacloud.eu/repository/indigo/2/centos7/x86_64/base/indigodc-release-2.0.0-1.el7.centos.noarch.rpm
when: ansible_os_family == "RedHat"
- rpm_key: state=present key=https://repo.indigo-datacloud.eu/repository/RPM-GPG-KEY-indigodc
when: ansible_os_family == "RedHat"
- name: RH7 install Ansible with yum
yum: name=IM,ansible,python-pip,python-jinja2,sshpass,openssh-clients,unzip,MySQL-python,python-sqlite3dbm
when: ansible_os_family == "RedHat"
- name: Install Azure libraries
pip: executable=pip name=msrest,msrestazure,azure-common,azure-mgmt-storage,azure-mgmt-compute,azure-mgmt-network,azure-mgmt-resource,azure-mgmt-dns,azure-storage
################################################ Configure Ansible ###################################################
- name: Create /etc/ansible
file: path=/etc/ansible state=directory
- name: Set host_key_checking to false in ansible.cfg
ini_file: dest=/etc/ansible/ansible.cfg section=defaults option=host_key_checking value=False
- name: Set nocolor to 1 in ansible.cfg to avoid strange chars in Ansible outputs
ini_file: dest=/etc/ansible/ansible.cfg section=defaults option=nocolor value=1
- name: Set timeout to 30 in ansible.cfg to avoid problems with some VMs
ini_file: dest=/etc/ansible/ansible.cfg section=defaults option=timeout value=30
- name: Set transport to ssh in ansible.cfg
ini_file: dest=/etc/ansible/ansible.cfg section=defaults option=transport value=ssh
when: ansible_os_family == "Debian" or (ansible_os_family == "RedHat" and ansible_distribution_major_version|int >= 6) or (ansible_os_family == "Suse" and ansible_distribution_major_version|int >= 10)
- name: Set transport to smart in ansible.cfg
ini_file: dest=/etc/ansible/ansible.cfg section=defaults option=transport value=smart
when: (ansible_os_family == "RedHat" and ansible_distribution_major_version|int < 6) or (ansible_os_family == "Suse" and ansible_distribution_major_version|int < 10)
- name: Change ssh_args to set ControlPersist to 15 min in ansible.cfg
ini_file: dest=/etc/ansible/ansible.cfg section=ssh_connection option=ssh_args value="-o ControlMaster=auto -o ControlPersist=900s"
when: ansible_os_family == "Debian" or (ansible_os_family == "RedHat" and ansible_distribution_major_version|int >= 7) or (ansible_os_family == "Suse" and ansible_distribution_major_version|int >= 12)
- name: Change ssh_args to remove ControlPersist in REL 6 and older in ansible.cfg
ini_file: dest=/etc/ansible/ansible.cfg section=ssh_connection option=ssh_args value=""
when: (ansible_os_family == "RedHat" and ansible_distribution_major_version|int < 7) or (ansible_os_family == "Suse" and ansible_distribution_major_version|int < 12)
- name: Activate SSH pipelining in ansible.cfg
ini_file: dest=/etc/ansible/ansible.cfg section=ssh_connection option=pipelining value=True
################################################ Configure IM ###################################################
- name: Activate SINGLE_SITE in the IM
ini_file: dest=/etc/im/im.cfg section=im option=SINGLE_SITE value=True
when: SINGLE_SITE
- name: Set SINGLE_SITE_AUTH_HOST in the IM
ini_file: dest=/etc/im/im.cfg section=im option=SINGLE_SITE_AUTH_HOST value="http://{{SINGLE_SITE_HOST}}:2633"
when: SINGLE_SITE
- name: Set SINGLE_SITE_IMAGE_URL_PREFIX in the IM
ini_file: dest=/etc/im/im.cfg section=im option=SINGLE_SITE_IMAGE_URL_PREFIX value="one://{{SINGLE_SITE_HOST}}/"
when: SINGLE_SITE
- name: Set TTS_URL in the IM
ini_file: dest=/etc/im/im.cfg section=OpenNebula option=TTS_URL value="{{TTS_URL}}"