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 -  | 
