diff options
Diffstat (limited to 'tests/vagrant/vagrant-template-fedora')
10 files changed, 184 insertions, 0 deletions
diff --git a/tests/vagrant/vagrant-template-fedora/Vagrantfile b/tests/vagrant/vagrant-template-fedora/Vagrantfile new file mode 100644 index 00000000000..df806c7aaee --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/Vagrantfile @@ -0,0 +1,56 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |config| + config.vm.define "vagrant-testVM" do |testvm| + testvm.vm.box = "gluster-dev-fedora" + testvm.vm.box_url = "http://download.gluster.org/pub/gluster/glusterfs/vagrant/gluster-dev-fedora/boxes/gluster-dev-fedora.json" + 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-fedora/roles/daemon-services/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/daemon-services/tasks/main.yml new file mode 100644 index 00000000000..98d077b1f2e --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/daemon-services/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- name: stop and disable kernel nfs + service: name=nfs-server state=stopped enabled=no 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-fedora/roles/install-pkgs/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/install-pkgs/tasks/main.yml new file mode 100644 index 00000000000..4e7d8d0d7b8 --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/install-pkgs/tasks/main.yml @@ -0,0 +1,84 @@ +--- +- name: install deltarpm + dnf: name=deltarpm state=present + +- name: update system + shell: dnf update -y + +- name: install other packages + dnf: name={{ item }} state=present + with_items: + - attr + - autoconf + - automake + - bison + - libcmocka-devel + - cifs-utils + - 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 + - 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 + - samba* + - userspace-rcu-devel + - vim + - wget + - which + - xfsprogs + - yajl-devel + +- name: install dev help packages, not required by Gluster + dnf: name={{ item }} state=present + with_items: + - cgdb + - clang + - lsof + - perf + - sysstat + - systemtap + - systemtap-runtime + - tcpdump + - valgrind 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-fedora/roles/selinux/tasks/main.yml b/tests/vagrant/vagrant-template-fedora/roles/selinux/tasks/main.yml new file mode 100644 index 00000000000..c9ba9618428 --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/roles/selinux/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- name: Allow gfapi in Samba to bind to other ports than well known smb ports + seboolean: name=samba_load_libgfapi state=yes persistent=yes diff --git a/tests/vagrant/vagrant-template-fedora/setup.yml b/tests/vagrant/vagrant-template-fedora/setup.yml new file mode 100644 index 00000000000..fc42a8157f3 --- /dev/null +++ b/tests/vagrant/vagrant-template-fedora/setup.yml @@ -0,0 +1,16 @@ +--- +- 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 + - selinux + - iptables + - fix-localhost + - daemon-services |