[[development-package-tests]] == Package Testing Packaging tests use Vagrant virtual machines as hosts and Ansible for provisioning and assertions. Kibana distributions are copied from the target folder into each VM and installed, along with required dependencies. === Setup * https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html[Ansible] + ``` # Ubuntu sudo apt-get install python3-pip libarchive-tools pip3 install --user ansible # Darwin brew install python3 pip3 install --user ansible ``` * https://www.vagrantup.com/downloads[Vagrant] * https://www.virtualbox.org/wiki/Downloads[Virtualbox] === Machines [cols=",,",options="header",] |=== |Hostname |IP |Description |deb |192.168.50.5 |Installation of Kibana’s deb package |rpm |192.168.50.6 |Installation of Kibana’s rpm package |docker |192.168.50.7 |Installation of Kibana’s docker image |=== === Running ``` # Build distributions node scripts/build --all-platforms --debug cd test/package # Setup virtual machine and networking vagrant up --no-provision # Install Kibana and run OS level tests # This step can be repeated when adding new tests, it ensures machine state - installations won't run twice vagrant provision # Running functional tests node scripts/es snapshot \ -E network.bind_host=127.0.0.1,192.168.50.1 \ -E discovery.type=single-node \ --license=trial TEST_KIBANA_URL=http://elastic:changeme@:5601 \ TEST_ES_URL=http://elastic:changeme@192.168.50.1:9200 \ node scripts/functional_test_runner.js --include-tag=smoke ``` === Cleanup .... vagrant destroy ....