diff options
Diffstat (limited to 'tests/vagrant')
19 files changed, 202 insertions, 4 deletions
diff --git a/tests/vagrant/vagrant-template-centos6/Vagrantfile b/tests/vagrant/vagrant-template-centos6/Vagrantfile new file mode 100644 index 00000000000..b276f90768d --- /dev/null +++ b/tests/vagrant/vagrant-template-centos6/Vagrantfile @@ -0,0 +1,55 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |config| + config.vm.define "vagrant-testVM" do |testvm| + testvm.vm.box = "raghavendra-talur/gluster-dev-centos6" + testvm.vm.hostname = "vagrant-testVM" + #testvm.ssh.insert_key = false + testvm.vm.synced_folder ".", "/vagrant", disabled: true + + host = RbConfig::CONFIG['host_os'] + # Give VM 1/4 system memory & access to all cpu cores on the host + if host =~ /darwin/ + cpus = `sysctl -n hw.ncpu`.to_i + # sysctl returns Bytes and we need to convert to MB + mem = `sysctl -n hw.memsize`.to_i / 1024 / 1024 / 4 + elsif host =~ /linux/ + cpus = `nproc`.to_i + # meminfo shows KB and we need to convert to MB + mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i / 1024 / 4 + else # sorry Windows folks, I can't help you + cpus = 2 + mem = 1024 + end + + # Define basic config for VM, memory, cpu, storage pool + testvm.vm.provider "libvirt" do |lv| + lv.storage_pool_name = "default" + lv.memory = mem + lv.cpus = cpus + + + # We need a brick partition, lets have a 5G disk for that. + # If you need more bricks, just add more letters to the + # string below. + "b".split("").each do |i| + lv.storage :file, + #:path => "", + #:allow_existing => "", + :device => "vd#{i}", + :size => "5G", + :type => "qcow2", + :bus => "virtio", + :cache => "default" + end + end + + # Let's provision + testvm.vm.provision "ansible", run: "always" do |setup| + setup.verbose = "v" + setup.playbook = "setup.yml" + end + + end +end diff --git a/tests/vagrant/vagrant-template-centos6/roles/daemon-services/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/daemon-services/tasks/main.yml new file mode 100644 index 00000000000..0e4c83244cc --- /dev/null +++ b/tests/vagrant/vagrant-template-centos6/roles/daemon-services/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- name: stop and disable kernel nfs + service: name=nfs state=stopped enabled=no diff --git a/tests/vagrant/vagrant-template/roles/fix-localhost/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/fix-localhost/tasks/main.yml index 84dd252b65b..84dd252b65b 100644 --- a/tests/vagrant/vagrant-template/roles/fix-localhost/tasks/main.yml +++ b/tests/vagrant/vagrant-template-centos6/roles/fix-localhost/tasks/main.yml diff --git a/tests/vagrant/vagrant-template-centos6/roles/install-pkgs/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/install-pkgs/tasks/main.yml new file mode 100644 index 00000000000..37dbc108d9f --- /dev/null +++ b/tests/vagrant/vagrant-template-centos6/roles/install-pkgs/tasks/main.yml @@ -0,0 +1,91 @@ +--- +- name: install deltarpm + yum: name=deltarpm state=present + +- name: remove samba3 + shell: yum -y remove samba* + +- name: update system + shell: yum -y update + +- name: install epel repo + yum: name=http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm state=present + +- name: install other packages + yum: name={{ item }} state=present + with_items: + - attr + - autoconf + - automake + - bison + #- libcmocka-devel + - dbench + - dos2unix + - e2fsprogs + - findutils + - flex + - fuse-devel + - fuse-libs + - gcc + - gdb + - git + - glib2-devel + #- hostname + - libacl-devel + - libaio-devel + - libattr-devel + - libibverbs-devel + - librdmacm-devel + - libselinux-python + - libsemanage-python + - libtool + - libxml2-devel + - lvm2-devel + - make + #- man-db + - mock + - net-tools + #- nfs-ganesha-gluster + - nfs-utils + - openssh-server + - openssl-devel + - perl-Test-Harness + - pkgconfig + #- procps-ng + - psmisc + - python-devel + - python-eventlet + - python-netifaces + - python-paste-deploy + - python-setuptools + - python-simplejson + - python-sphinx + - python-webob + - pyxattr + - readline-devel + - rpm-build + - screen + - strace + - supervisor + - systemtap-sdt-devel + - sqlite-devel + - samba4* + - userspace-rcu-devel + - vim + - wget + - which + - xfsprogs + - yajl-devel + +- name: install dev help packages, not required by Gluster + yum: name={{ item }} state=present + with_items: + - cgdb + - clang + - lsof + - perf + - sysstat + - systemtap + - systemtap-runtime + - tcpdump + - valgrind diff --git a/tests/vagrant/vagrant-template/roles/iptables/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/iptables/tasks/main.yml index 768cb0e8668..768cb0e8668 100644 --- a/tests/vagrant/vagrant-template/roles/iptables/tasks/main.yml +++ b/tests/vagrant/vagrant-template-centos6/roles/iptables/tasks/main.yml diff --git a/tests/vagrant/vagrant-template/roles/mock-user/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/mock-user/tasks/main.yml index c8e1209937e..c8e1209937e 100644 --- a/tests/vagrant/vagrant-template/roles/mock-user/tasks/main.yml +++ b/tests/vagrant/vagrant-template-centos6/roles/mock-user/tasks/main.yml diff --git a/tests/vagrant/vagrant-template/roles/prepare-brick/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/prepare-brick/tasks/main.yml index 6b3f6b8d3ea..6b3f6b8d3ea 100644 --- a/tests/vagrant/vagrant-template/roles/prepare-brick/tasks/main.yml +++ b/tests/vagrant/vagrant-template-centos6/roles/prepare-brick/tasks/main.yml diff --git a/tests/vagrant/vagrant-template/roles/remove-gluster-pkgs/tasks/main.yml b/tests/vagrant/vagrant-template-centos6/roles/remove-gluster-pkgs/tasks/main.yml index c91efa9ba7c..c91efa9ba7c 100644 --- a/tests/vagrant/vagrant-template/roles/remove-gluster-pkgs/tasks/main.yml +++ b/tests/vagrant/vagrant-template-centos6/roles/remove-gluster-pkgs/tasks/main.yml diff --git a/tests/vagrant/vagrant-template-centos6/setup.yml b/tests/vagrant/vagrant-template-centos6/setup.yml new file mode 100644 index 00000000000..520f1cdb019 --- /dev/null +++ b/tests/vagrant/vagrant-template-centos6/setup.yml @@ -0,0 +1,15 @@ +--- +- hosts: all + sudo: true + roles: + #Installing packages invoke dnf and metadata download takes a long time. + #The box used in Vagrantfile has all the packages installed. + #Refer to main.yml file in install-pkgs role to get list of packages. + #install-pkgs role is hence disabled by default. + #- install-pkgs + - remove-gluster-pkgs + - prepare-brick + - mock-user + - iptables + - fix-localhost + - daemon-services diff --git a/tests/vagrant/vagrant-template/Vagrantfile b/tests/vagrant/vagrant-template-fedora/Vagrantfile index ccbbf60575d..df806c7aaee 100644 --- a/tests/vagrant/vagrant-template/Vagrantfile +++ b/tests/vagrant/vagrant-template-fedora/Vagrantfile @@ -9,12 +9,26 @@ Vagrant.configure("2") do |config| #testvm.ssh.insert_key = false testvm.vm.synced_folder ".", "/vagrant", disabled: true + host = RbConfig::CONFIG['host_os'] + # Give VM 1/4 system memory & access to all cpu cores on the host + if host =~ /darwin/ + cpus = `sysctl -n hw.ncpu`.to_i + # sysctl returns Bytes and we need to convert to MB + mem = `sysctl -n hw.memsize`.to_i / 1024 / 1024 / 4 + elsif host =~ /linux/ + cpus = `nproc`.to_i + # meminfo shows KB and we need to convert to MB + mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i / 1024 / 4 + else # sorry Windows folks, I can't help you + cpus = 2 + mem = 1024 + end # Define basic config for VM, memory, cpu, storage pool testvm.vm.provider "libvirt" do |lv| lv.storage_pool_name = "default" - lv.memory = 1024 - lv.cpus = 1 + lv.memory = mem + lv.cpus = cpus # We need a brick partition, lets have a 5G disk for that. @@ -40,4 +54,3 @@ Vagrant.configure("2") do |config| end end - diff --git a/tests/vagrant/vagrant-template/roles/daemon-services/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/daemon-services/tasks/main.yml index 98d077b1f2e..98d077b1f2e 100644 --- a/tests/vagrant/vagrant-template/roles/daemon-services/tasks/main.yml +++ b/tests/vagrant/vagrant-template-fedora/roles/daemon-services/tasks/main.yml diff --git a/tests/vagrant/vagrant-template-fedora/roles/fix-localhost/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/fix-localhost/tasks/main.yml new file mode 100644 index 00000000000..84dd252b65b --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/fix-localhost/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: remove IPv6 address for localhost + shell: sed -i '/::1/s/localhost //' /etc/hosts + +- name: add IPv4 address for localhost + shell: sed -i '/127.0.0.1/s/$/ localhost/' /etc/hosts diff --git a/tests/vagrant/vagrant-template/roles/install-pkgs/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/install-pkgs/tasks/main.yml index 4e7d8d0d7b8..4e7d8d0d7b8 100644 --- a/tests/vagrant/vagrant-template/roles/install-pkgs/tasks/main.yml +++ b/tests/vagrant/vagrant-template-fedora/roles/install-pkgs/tasks/main.yml diff --git a/tests/vagrant/vagrant-template-fedora/roles/iptables/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/iptables/tasks/main.yml new file mode 100644 index 00000000000..768cb0e8668 --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/iptables/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- name: disable iptables, need to add specific rules later + shell: iptables -F diff --git a/tests/vagrant/vagrant-template-fedora/roles/mock-user/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/mock-user/tasks/main.yml new file mode 100644 index 00000000000..c8e1209937e --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/mock-user/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- name: Add mock user; required for rpm.t + user: name=mock group=mock diff --git a/tests/vagrant/vagrant-template-fedora/roles/prepare-brick/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/prepare-brick/tasks/main.yml new file mode 100644 index 00000000000..6b3f6b8d3ea --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/prepare-brick/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: Format backend + filesystem: fstype=xfs dev=/dev/vdb + +- name: Add entry to fstab and mount + mount: name=/d src=/dev/vdb fstype=xfs state=mounted diff --git a/tests/vagrant/vagrant-template-fedora/roles/remove-gluster-pkgs/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/remove-gluster-pkgs/tasks/main.yml new file mode 100644 index 00000000000..c91efa9ba7c --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/remove-gluster-pkgs/tasks/main.yml @@ -0,0 +1,4 @@ +--- +- name: Erase gluster packages, keep dependencies; we will source install + shell: rpm -ev --nodeps `rpm -qa | grep ^gluster` + ignore_errors: True diff --git a/tests/vagrant/vagrant-template/roles/selinux/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/selinux/tasks/main.yml index c9ba9618428..c9ba9618428 100644 --- a/tests/vagrant/vagrant-template/roles/selinux/tasks/main.yml +++ b/tests/vagrant/vagrant-template-fedora/roles/selinux/tasks/main.yml diff --git a/tests/vagrant/vagrant-template/setup.yml b/tests/vagrant/vagrant-template-fedora/setup.yml index a9e798da3f4..fc42a8157f3 100644 --- a/tests/vagrant/vagrant-template/setup.yml +++ b/tests/vagrant/vagrant-template-fedora/setup.yml @@ -14,4 +14,3 @@ - iptables - fix-localhost - daemon-services - |