From ba0ed4a0cf77f78620cb9ff08dff0d197fb31961 Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Tue, 31 Mar 2015 11:15:38 -0500 Subject: [PATCH] Reorganize things common to all yum systems into it's own task. This also includes incomplete centos support. Signed-off-by: Andrew Schoen --- roles/testnode/defaults/main.yml | 1 - roles/testnode/tasks/imitate_ubuntu.yml | 20 ++++ roles/testnode/tasks/main.yml | 27 ++++- roles/testnode/tasks/redhat/rhel_6.yml | 19 +--- roles/testnode/tasks/redhat/rhel_7.0.yml | 16 ++- roles/testnode/tasks/setup-centos.yml | 11 ++ roles/testnode/tasks/setup-redhat.yml | 85 -------------- roles/testnode/tasks/ssh.yml | 23 ++++ .../tasks/{redhat => yum}/packages.yml | 0 .../testnode/tasks/{redhat => yum}/repos.yml | 0 roles/testnode/tasks/yum_systems.yml | 58 ++++++++++ roles/testnode/vars/centos_6.yml | 106 ++++++++++++++++++ roles/testnode/vars/centos_7.yml | 82 ++++++++++++++ .../vars/{rhel_6.yml => redhat_6.yml} | 0 .../vars/{rhel_7.0.yml => redhat_7.0.yml} | 0 .../vars/{rhel_7.1.yml => redhat_7.1.yml} | 0 .../vars/{rhel_7.yml => redhat_7.yml} | 0 17 files changed, 339 insertions(+), 109 deletions(-) create mode 100644 roles/testnode/tasks/imitate_ubuntu.yml create mode 100644 roles/testnode/tasks/setup-centos.yml create mode 100644 roles/testnode/tasks/ssh.yml rename roles/testnode/tasks/{redhat => yum}/packages.yml (100%) rename roles/testnode/tasks/{redhat => yum}/repos.yml (100%) create mode 100644 roles/testnode/tasks/yum_systems.yml create mode 100644 roles/testnode/vars/centos_6.yml create mode 100644 roles/testnode/vars/centos_7.yml rename roles/testnode/vars/{rhel_6.yml => redhat_6.yml} (100%) rename roles/testnode/vars/{rhel_7.0.yml => redhat_7.0.yml} (100%) rename roles/testnode/vars/{rhel_7.1.yml => redhat_7.1.yml} (100%) rename roles/testnode/vars/{rhel_7.yml => redhat_7.yml} (100%) diff --git a/roles/testnode/defaults/main.yml b/roles/testnode/defaults/main.yml index 90d103b..c9448ee 100644 --- a/roles/testnode/defaults/main.yml +++ b/roles/testnode/defaults/main.yml @@ -1,7 +1,6 @@ --- pip_mirror_url: "http://apt-mirror.front.sepia.ceph.com/pypi/simple" -# these are encrypted in vars/redhat.yml subscription_manager_activationkey: "" subscription_manager_org: "" diff --git a/roles/testnode/tasks/imitate_ubuntu.yml b/roles/testnode/tasks/imitate_ubuntu.yml new file mode 100644 index 0000000..45ea1a5 --- /dev/null +++ b/roles/testnode/tasks/imitate_ubuntu.yml @@ -0,0 +1,20 @@ +--- +# plays that make centos and rhel act or look +# like an ubuntu system for ease of testing + +- name: Make raid/smart scripts work. + file: + state: link + src: /sbin/lspci + dest: /usr/bin/lspci + +- name: Create FStest ubuntu directory. + file: + state: directory + dest: /usr/lib/ltp/testcases/bin + +- name: Make fsstress same path as ubuntu. + file: + state: link + src: /usr/bin/fsstress + dest: /usr/lib/ltp/testcases/bin/fsstress diff --git a/roles/testnode/tasks/main.yml b/roles/testnode/tasks/main.yml index de7ff22..a778cfa 100644 --- a/roles/testnode/tasks/main.yml +++ b/roles/testnode/tasks/main.yml @@ -1,9 +1,26 @@ --- +# loading vars - name: Include package type specific vars. include_vars: "{{ ansible_pkg_mgr }}_systems.yml" tags: - vars +- name: Including major version specific variables. + include_vars: "{{ item }}" + with_first_found: + - "{{ ansible_distribution | lower }}_{{ ansible_distribution_major_version }}.yml" + - empty.yml + tags: + - vars + +- name: Including version specific variables. + include_vars: "{{ item }}" + with_first_found: + - "{{ ansible_distribution | lower }}_{{ ansible_distribution_version }}.yml" + - empty.yml + tags: + - vars + - name: Set a high max open files limit for the teuthology user. template: src: security_limits.conf @@ -22,9 +39,17 @@ tags: - monitoring-scripts +# configure things specific to yum systems +- include: yum_systems.yml + when: ansible_pkg_mgr == "yum" + +# configure centos specific things +- include: setup-centos.yml + when: ansible_distribution == "CentOS" + # configure red hat specific things - include: setup-redhat.yml - when: ansible_os_family == 'RedHat' + when: ansible_distribution == 'RedHat' # configure pip to use our mirror - include: pip.yml diff --git a/roles/testnode/tasks/redhat/rhel_6.yml b/roles/testnode/tasks/redhat/rhel_6.yml index 7736f01..3704ca4 100644 --- a/roles/testnode/tasks/redhat/rhel_6.yml +++ b/roles/testnode/tasks/redhat/rhel_6.yml @@ -7,21 +7,4 @@ name: iptables state: stopped -# a comment in chef mentioned making this work "on CentoOS" -# I suspect that's a copy/paste error -- name: Make raid/smart scripts work. - file: - state: link - src: /sbin/lspci - dest: /usr/bin/lspci - -- name: Create FStest ubuntu directory. - file: - state: directory - dest: /usr/lib/ltp/testcases/bin - -- name: Make fsstress same path as ubuntu. - file: - state: link - src: /usr/bin/fsstress - dest: /usr/lib/ltp/testcases/bin/fsstress +- include: ../imitate_ubuntu.yml diff --git a/roles/testnode/tasks/redhat/rhel_7.0.yml b/roles/testnode/tasks/redhat/rhel_7.0.yml index 4358598..03263a8 100644 --- a/roles/testnode/tasks/redhat/rhel_7.0.yml +++ b/roles/testnode/tasks/redhat/rhel_7.0.yml @@ -1,13 +1,21 @@ --- +- name: Upload a dummy nfs export so that the nfs kernel server starts. + template: + src: exports + dest: /etc/exports + owner: root + group: root + mode: 0644 + notify: + - start nfs-server + tags: + - nfs + - name: Stop firewalld service: name: firewalld state: stopped -- name: Set mode on /etc/fuse.conf - file: - path: /etc/fuse.conf - mode: 0644 - name: Get hostname. command: hostname diff --git a/roles/testnode/tasks/setup-centos.yml b/roles/testnode/tasks/setup-centos.yml new file mode 100644 index 0000000..987b00e --- /dev/null +++ b/roles/testnode/tasks/setup-centos.yml @@ -0,0 +1,11 @@ +--- +- name: Fix broken cloud-init + include: ../cloud-init.yml + when: ansible_distribution_major_version == "6" + +- name: Stop iptables + service: + name: iptables + state: stopped + +- include: imitate_ubuntu.yml diff --git a/roles/testnode/tasks/setup-redhat.yml b/roles/testnode/tasks/setup-redhat.yml index 459c816..0f49c1e 100644 --- a/roles/testnode/tasks/setup-redhat.yml +++ b/roles/testnode/tasks/setup-redhat.yml @@ -1,95 +1,10 @@ --- -- name: Including major version specific variables. - include_vars: "rhel_{{ ansible_distribution_major_version }}.yml" - tags: - - vars - -- name: Including version specific variables. - include_vars: "{{ item }}" - with_first_found: - - "rhel_{{ ansible_distribution_version }}.yml" - - empty.yml - tags: - - vars - -- name: Setup local repo files. - include: redhat/repos.yml - tags: - - repos - name: Register with subscription-manager. include: redhat/entitlements.yml tags: - entitlements -- name: Perform package related tasks for rhel. - include: redhat/packages.yml - tags: - - packages - -- name: Create remote.conf - template: - src: remote.conf - dest: /etc/security/limits.d/remote.conf - group: root - owner: root - mode: 0644 - -- name: Add the teuthology user to group kvm - user: - name: "{{ teuthology_user }}" - group: kvm - -- name: Upload rhel version specific sshd_config. - template: - src: "ssh/sshd_config_rhel_{{ ansible_distribution_version }}" - dest: /etc/ssh/sshd_config - owner: root - group: root - mode: 0755 - notify: - - restart sshd - tags: - - ssh - -- name: Upload ssh_config. - template: - src: ssh/ssh_config - dest: /etc/ssh/ssh_config - owner: root - group: root - mode: 0755 - tags: - - ssh - -- name: Upload a dummy nfs export so that the nfs kernel server starts. - template: - src: exports - dest: /etc/exports - owner: root - group: root - mode: 0644 - notify: - - start nfs-server - tags: - - nfs - -- name: Configure /etc/sudoers. - template: - src: sudoers - dest: /etc/sudoers - owner: root - group: root - mode: 0440 - validate: visudo -cf %s - -- name: Configure /etc/security/limits.conf - template: - src: limits.conf - dest: /etc/security/limits.conf - group: root - owner: root - mode: 0644 - name: Include rhel 7.0 specific tasks. include: redhat/rhel_7.0.yml diff --git a/roles/testnode/tasks/ssh.yml b/roles/testnode/tasks/ssh.yml new file mode 100644 index 0000000..f0fab8e --- /dev/null +++ b/roles/testnode/tasks/ssh.yml @@ -0,0 +1,23 @@ +--- +- name: Upload rhel version specific sshd_config. + template: + src: "ssh/sshd_config_rhel_{{ ansible_distribution_version }}" + dest: /etc/ssh/sshd_config + owner: root + group: root + mode: 0755 + when: ansible_distribution == "RedHat" + notify: + - restart sshd + tags: + - ssh + +- name: Upload ssh_config. + template: + src: ssh/ssh_config + dest: /etc/ssh/ssh_config + owner: root + group: root + mode: 0755 + tags: + - ssh diff --git a/roles/testnode/tasks/redhat/packages.yml b/roles/testnode/tasks/yum/packages.yml similarity index 100% rename from roles/testnode/tasks/redhat/packages.yml rename to roles/testnode/tasks/yum/packages.yml diff --git a/roles/testnode/tasks/redhat/repos.yml b/roles/testnode/tasks/yum/repos.yml similarity index 100% rename from roles/testnode/tasks/redhat/repos.yml rename to roles/testnode/tasks/yum/repos.yml diff --git a/roles/testnode/tasks/yum_systems.yml b/roles/testnode/tasks/yum_systems.yml new file mode 100644 index 0000000..5445f12 --- /dev/null +++ b/roles/testnode/tasks/yum_systems.yml @@ -0,0 +1,58 @@ +--- +# Tasks common to all systems that use the yum +# package manager + +- name: Create remote.conf + template: + src: remote.conf + dest: /etc/security/limits.d/remote.conf + group: root + owner: root + mode: 0644 + +- name: Set mode on /etc/fuse.conf + file: + path: /etc/fuse.conf + mode: 0644 + +- name: Ensure the group kvm exists. + group: + name: kvm + state: present + +- name: Add the teuthology user to group kvm + user: + name: "{{ teuthology_user }}" + group: kvm + +- name: Configure /etc/sudoers. + template: + src: sudoers + dest: /etc/sudoers + owner: root + group: root + mode: 0440 + validate: visudo -cf %s + +- name: Configure /etc/security/limits.conf + template: + src: limits.conf + dest: /etc/security/limits.conf + group: root + owner: root + mode: 0644 + +- name: Configure ssh + include: ssh.yml + tags: + - ssh + +- name: Setup local repo files. + include: yum/repos.yml + tags: + - repos + +- name: Perform package related tasks. + include: yum/packages.yml + tags: + - packages diff --git a/roles/testnode/vars/centos_6.yml b/roles/testnode/vars/centos_6.yml new file mode 100644 index 0000000..cbf056a --- /dev/null +++ b/roles/testnode/vars/centos_6.yml @@ -0,0 +1,106 @@ +--- +# vars specific to centos 6.x + +yum_repos: + epel: + name: Extra Packages for Enterprise Linux 6 - $basearch + baseurl: http://apt-mirror.front.sepia.ceph.com/epel6/ + enabled: 1 + gpgcheck: 0 + centos6-qemu-ceph: + name: Cent OS 6 Local Qemu Repo + baseurl: http://ceph.com/packages/ceph-extras/rpm/centos6/x86_64/ + enabled: 1 + gpgcheck: 0 + priority: 2 + centos6-fcgi-ceph: + name: Cent OS 6 Local fastcgi Repo + baseurl: http://gitbuilder.ceph.com/mod_fastcgi-rpm-centos6-x86_64-basic/ref/master/ + enabled: 1 + gpgcheck: 0 + priority: 2 + centos6-misc-ceph: + name: Cent OS 6 Local misc Repo + baseurl: http://apt-mirror.front.sepia.ceph.com/misc-rpms/ + enabled: 1 + gpgcheck: 0 + priority: 2 + centos6-ceph: + name: Cent OS 6 Local ceph Repo + baseurl: http://ceph.com/rpm-cuttlefish/el6/x86_64/ + enabled: 1 + gpgcheck: 0 + priority: 2 + rpmforge: + name: Red Hat Enterprise $releasever - RPMforge.net - dag + baseurl: http://apt-mirror.front.sepia.ceph.com/rpmforge/ + enabled: 1 + gpgcheck: 0 + protect: 0 + lab-extras: + name: lab-extras + baseurl: http://apt-mirror.front.sepia.ceph.com/lab-extras/centos6/ + enabled: 1 + gpgcheck: 0 + priority: 2 + +packages: + - yum-plugin-priorities + - redhat-lsb + - sysstat + - gdb + - python-configobj + - libedit + - openssl098e + - gperftools-devel + - boost-thread + - xfsprogs + - xfsprogs-devel + - gdisk + - parted + - libgcrypt + - cryptopp-devel + - cryptopp + - fuse + - fuse-libs + - openssl + - libuuid + - btrfs-progs + - attr + - valgrind + - python-nose + - mpich + - ant + - dbench + - fuse-sshfs + - lsof + - iozone + - libtool + - automake + - gettext + - libuuid-devel + - libacl-devel + - bc + - xfsdump + - blktrace + - numpy + - python-matplotlib + - usbredir + - genisoimage + - qemu-img-rhev-1.5.3-60_ceph.el7.5 + - qemu-kvm-rhev-1.5.3-60_ceph.el7.5 + - qemu-kvm-tools-rhev-1.5.3-60_ceph.el7.5 + - httpd + - httpd-devel + - httpd-tools + - mod_ssl + - mod_fastcgi-2.4.7-1.ceph.el7 + - libevent-devel + - perl-JSON-XS + - perl-XML-Twig + - java-1.6.0-openjdk-devel + - junit4 + - scsi-target-utils + - iscsi-initiator-utils + - smartmontools + - nfs-utils diff --git a/roles/testnode/vars/centos_7.yml b/roles/testnode/vars/centos_7.yml new file mode 100644 index 0000000..eaa8ea4 --- /dev/null +++ b/roles/testnode/vars/centos_7.yml @@ -0,0 +1,82 @@ +--- +# vars specific to centos 7.x + +yum_repos: + epel: + name: "Extra Packages for Enterprise Linux 7 - $basearch" + baseurl: http://apt-mirror.front.sepia.ceph.com/epel7/ + enabled: 1 + gpgcheck: 0 + centos7-fcgi-ceph: + name: CentOS 7 Local fastcgi Repo + baseurl: http://gitbuilder.ceph.com/mod_fastcgi-rpm-centos7-x86_64-basic/ref/master/ + enabled: 1 + gpgcheck: 0 + priority: 2 + lab-extras: + name: lab-extras + baseurl: http://apt-mirror.front.sepia.ceph.com/lab-extras/centos7/ + enabled: 1 + gpgcheck: 0 + priority: 2 + +packages: + - yum-plugin-priorities + - redhat-lsb + - sysstat + - gdb + - python-configobj + - libedit + - openssl098e + - gperftools-devel + - boost-thread + - xfsprogs + - xfsprogs-devel + - gdisk + - parted + - libgcrypt + - cryptopp-devel + - cryptopp + - fuse + - fuse-libs + - openssl + - libuuid + - btrfs-progs + - attr + - valgrind + - python-nose + - mpich + - ant + - dbench + - fuse-sshfs + - lsof + - iozone + - libtool + - automake + - gettext + - libuuid-devel + - libacl-devel + - bc + - xfsdump + - blktrace + - numpy + - python-matplotlib + - usbredir + - genisoimage + - qemu-img-rhev-1.5.3-60_ceph.el7.5 + - qemu-kvm-rhev-1.5.3-60_ceph.el7.5 + - qemu-kvm-tools-rhev-1.5.3-60_ceph.el7.5 + - httpd + - httpd-devel + - httpd-tools + - mod_ssl + - mod_fastcgi-2.4.7-1.ceph.el7 + - libevent-devel + - perl-JSON-XS + - perl-XML-Twig + - java-1.6.0-openjdk-devel + - junit4 + - scsi-target-utils + - iscsi-initiator-utils + - smartmontools + - nfs-utils diff --git a/roles/testnode/vars/rhel_6.yml b/roles/testnode/vars/redhat_6.yml similarity index 100% rename from roles/testnode/vars/rhel_6.yml rename to roles/testnode/vars/redhat_6.yml diff --git a/roles/testnode/vars/rhel_7.0.yml b/roles/testnode/vars/redhat_7.0.yml similarity index 100% rename from roles/testnode/vars/rhel_7.0.yml rename to roles/testnode/vars/redhat_7.0.yml diff --git a/roles/testnode/vars/rhel_7.1.yml b/roles/testnode/vars/redhat_7.1.yml similarity index 100% rename from roles/testnode/vars/rhel_7.1.yml rename to roles/testnode/vars/redhat_7.1.yml diff --git a/roles/testnode/vars/rhel_7.yml b/roles/testnode/vars/redhat_7.yml similarity index 100% rename from roles/testnode/vars/rhel_7.yml rename to roles/testnode/vars/redhat_7.yml -- 2.39.5