summaryrefslogtreecommitdiffstats
path: root/roles/common
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2018-07-05 16:22:30 +0200
committerSuren A. Chilingaryan <csa@suren.me>2018-07-05 16:22:30 +0200
commit5416f8599ffa92b69bb87434dc1175d760760bbe (patch)
tree307218127ade7099282ac3bef123a2e9590e8f13 /roles/common
downloaditm-5416f8599ffa92b69bb87434dc1175d760760bbe.tar.gz
itm-5416f8599ffa92b69bb87434dc1175d760760bbe.tar.bz2
itm-5416f8599ffa92b69bb87434dc1175d760760bbe.tar.xz
itm-5416f8599ffa92b69bb87434dc1175d760760bbe.zip
Initial import
Diffstat (limited to 'roles/common')
-rw-r--r--roles/common/README11
-rw-r--r--roles/common/default/main.yml1
-rw-r--r--roles/common/tasks/main.yml18
-rw-r--r--roles/common/tasks/software.yml30
4 files changed, 60 insertions, 0 deletions
diff --git a/roles/common/README b/roles/common/README
new file mode 100644
index 0000000..c8bd679
--- /dev/null
+++ b/roles/common/README
@@ -0,0 +1,11 @@
+Dependencies:
+ - Executed on all nodes
+ - No dependencies & no facts
+
+Parameters:
+ extra_packages: list of extra packages to install
+
+Actions:
+ - Enables standard repositories
+ - Install a set of common packages on all nodes (mc, etc.)
+ \ No newline at end of file
diff --git a/roles/common/default/main.yml b/roles/common/default/main.yml
new file mode 100644
index 0000000..d355d15
--- /dev/null
+++ b/roles/common/default/main.yml
@@ -0,0 +1 @@
+os_update: "{{ ands_update | default(false) }}" \ No newline at end of file
diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml
new file mode 100644
index 0000000..8070bc6
--- /dev/null
+++ b/roles/common/tasks/main.yml
@@ -0,0 +1,18 @@
+- name: Ensure all required repositories are configured
+ package: name={{item}} state=present
+ register: result
+ with_items:
+ - epel-release
+ when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
+
+- name: Add our repository with updates and overrides
+ yum_repository: name="{{ item.name }}" description= "{{ item.description | default('Ands repository') }}" baseurl="{{ item.url }}" enabled="yes" gpgcheck="no" cost="{{ item.cost | default(1) }}"
+ with_items: "{{ ands_repositories | default([]) }}"
+
+# We always update on first install and if requested
+- name: Update CentOS
+ yum: name=* state=latest update_cache=yes
+ when: (result | changed) or (os_update | default(false))
+
+- name: Install additional software
+ include_tasks: software.yml
diff --git a/roles/common/tasks/software.yml b/roles/common/tasks/software.yml
new file mode 100644
index 0000000..c621ef3
--- /dev/null
+++ b/roles/common/tasks/software.yml
@@ -0,0 +1,30 @@
+- name: Install various ansible requirements
+ package: name={{item}} state=present
+ with_items:
+ - yum-plugin-versionlock
+ - libselinux-python
+ - libsemanage-python
+ - yamllint
+ - pyOpenSSL
+ - python-passlib
+ - python2-ruamel-yaml
+ - python2-jmespath
+ - python-ipaddress
+ - iptables-services
+ - PyYAML
+ - python-rhsm-certificates
+
+- name: Install various administrative tools
+ package: name={{item}} state=present
+ with_items:
+ - mc
+ - telnet
+ - lsof
+ - strace
+ - bzr
+ - git
+ - pciutils
+
+- name: Ensure all extra packages are installed
+ package: name={{item}} state=present
+ with_items: "{{ extra_packages | default([]) }}"