diff --git a/CHANGES.txt b/CHANGES.txt index c98c9b68..d302f940 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,13 @@ +Version 0.8.3 (2019-06-28) +-------------------------- +Fix test_bytelimit test (#227) +Initialize Celery in CeleryEmitter (#226) +Allow non ascii characters to be encoded using Base64 (#194) +Allow empty strings in string_or_none contract (#184) +Fix on_failure param docstring description (#225) +Bump max version requirement of redis (#223) +Remove Vagrant & Ansible (#222) + Version 0.8.2 (2018-12-01) -------------------------- Fix date for 0.8.0 release in CHANGELOG (#183) diff --git a/README.rst b/README.rst index b3d5079e..408a82c8 100644 --- a/README.rst +++ b/README.rst @@ -1,13 +1,13 @@ ====================================================== Python Analytics for Snowplow ====================================================== -.. image:: https://travis-ci.org/snowplow/snowplow-python-tracker.png?branch=master +.. image:: https://travis-ci.org/snowplow/snowplow-python-tracker.svg?branch=master :alt: Build Status :target: https://travis-ci.org/snowplow/snowplow-python-tracker -.. image:: https://badge.fury.io/py/snowplow-tracker.png +.. image:: https://badge.fury.io/py/snowplow-tracker.svg :target: http://badge.fury.io/py/snowplow-tracker -.. image:: https://coveralls.io/repos/snowplow/snowplow-python-tracker/badge.png - :target: https://coveralls.io/r/snowplow/snowplow-python-tracker +.. image:: https://coveralls.io/repos/github/snowplow/snowplow-python-tracker/badge.svg?branch=master + :target: https://coveralls.io/github/snowplow/snowplow-python-tracker?branch=master .. image:: http://img.shields.io/badge/license-Apache--2-blue.svg?style=flat :target: http://www.apache.org/licenses/LICENSE-2.0 @@ -46,33 +46,25 @@ Find out more .. _`Roadmap`: https://github.com/snowplow/snowplow/wiki/Python-Tracker-Roadmap .. _`Contributing`: https://github.com/snowplow/snowplow/wiki/Python-Tracker-Contributing -Contributing quickstart +Quickstart ####################### -Assuming Git, Vagrant_ and VirtualBox_ are installed: +Assuming pyenv_ is installed :: host$ git clone git@github.com:snowplow/snowplow-python-tracker.git - host$ vagrant up && vagrant ssh - guest$ cd /vagrant - guest$ ./run-tests.sh deploy - guest$ ./run-tests.sh test + host$ cd snowplow-python-tracker + host$ pyenv install 2.7.15 && pyenv install 3.4.9 && pyenv install 3.5.2 && pyenv install 3.7.1 + host$ ./run-tests.sh deploy + host$ ./run-tests.sh test -.. _Vagrant: http://docs.vagrantup.com/v2/installation/index.html -.. _VirtualBox: https://www.virtualbox.org/wiki/Downloads - -Publishing -########## - -:: - - host$ vagrant push +.. _pyenv: https://github.com/pyenv/pyenv Copyright and license ##################### -The Snowplow Python Tracker is copyright 2013-2014 Snowplow Analytics Ltd. +The Snowplow Python Tracker is copyright 2013-2019 Snowplow Analytics Ltd. Licensed under the `Apache License, Version 2.0`_ (the "License"); you may not use this software except in compliance with the License. diff --git a/Vagrantfile b/Vagrantfile deleted file mode 100644 index 04da4b6d..00000000 --- a/Vagrantfile +++ /dev/null @@ -1,23 +0,0 @@ -Vagrant.configure("2") do |config| - - config.vm.box = "ubuntu/trusty64" - config.vm.hostname = "snowplow-python-tracker" - config.ssh.forward_agent = true - - config.vm.provider :virtualbox do |vb| - vb.name = Dir.pwd().split("/")[-1] + "-" + Time.now.to_f.to_i.to_s - vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] - vb.customize [ "guestproperty", "set", :id, "--timesync-threshold", 10000 ] - vb.memory = 2048 - end - - config.vm.provision :shell do |sh| - sh.path = "vagrant/up.bash" - end - - # Requires Vagrant 1.7.0+ - config.push.define "publish", strategy: "local-exec" do |push| - push.script = "vagrant/push.bash" - end - -end diff --git a/setup.py b/setup.py index 48f7ce13..687af36c 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ """ setup.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ @@ -80,7 +80,7 @@ "pycontracts>=1.7.6,<2.0", "celery>=4.0,<5.0", "gevent>=1.0.2,<2.0", - "redis>=2.9.1,<3.0", + "redis>=2.9.1,<4.0", "six>=1.9.0,<2.0" ], ) diff --git a/snowplow_tracker/_version.py b/snowplow_tracker/_version.py index 59f9008f..c10d4edb 100644 --- a/snowplow_tracker/_version.py +++ b/snowplow_tracker/_version.py @@ -1,7 +1,7 @@ """ _version.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,11 +15,11 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2016 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ -__version_info__ = (0, 8, 2) +__version_info__ = (0, 8, 3) __version__ = ".".join(str(x) for x in __version_info__) __build_version__ = __version__ + '' diff --git a/snowplow_tracker/emitters.py b/snowplow_tracker/emitters.py index ff2380cc..a173f439 100644 --- a/snowplow_tracker/emitters.py +++ b/snowplow_tracker/emitters.py @@ -1,7 +1,7 @@ """ emitters.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ @@ -51,16 +51,6 @@ new_contract("redis", lambda x: isinstance(x, (redis.Redis, redis.StrictRedis))) -try: - # Check whether a custom Celery configuration module named "snowplow_celery_config" exists - import snowplow_celery_config - app = Celery() - app.config_from_object(snowplow_celery_config) -except ImportError: - # Otherwise configure Celery with default settings - snowplow_celery_config = None - app = Celery("Snowplow", broker="redis://guest@localhost//") - class Emitter(object): """ @@ -84,7 +74,7 @@ def __init__(self, endpoint, protocol="http", port=None, method="get", buffer_si :param on_success: Callback executed after every HTTP request in a flush has status code 200 Gets passed the number of events flushed. :type on_success: function | None - :param on_failure: Callback executed if at least one HTTP request in a flush has status code 200 + :param on_failure: Callback executed if at least one HTTP request in a flush has status code other than 200 Gets passed two arguments: 1) The number of events which were successfully sent 2) If method is "post": The unsent data in string form; @@ -342,7 +332,7 @@ def __init__( :param on_success: Callback executed after every HTTP request in a flush has status code 200 Gets passed the number of events flushed. :type on_success: function | None - :param on_failure: Callback executed if at least one HTTP request in a flush has status code 200 + :param on_failure: Callback executed if at least one HTTP request in a flush has status code other than 200 Gets passed two arguments: 1) The number of events which were successfully sent 2) If method is "post": The unsent data in string form; @@ -385,30 +375,38 @@ def consume(self): self.queue.task_done() -@app.task(bind=True, name='tasks.flush') # the self passed with bind can be used for on_fail/retrying -def flush_emitter(self, emitter): - try: - emitter.flush() - finally: - logger.info("Flush called on emitter") - - class CeleryEmitter(Emitter): """ Uses a Celery worker to send HTTP requests asynchronously. Works like the base Emitter class, but on_success and on_failure callbacks cannot be set. """ + celery_app = None + def __init__(self, endpoint, protocol="http", port=None, method="get", buffer_size=None, byte_limit=None): super(CeleryEmitter, self).__init__(endpoint, protocol, port, method, buffer_size, None, None, byte_limit) + try: + # Check whether a custom Celery configuration module named "snowplow_celery_config" exists + import snowplow_celery_config + self.celery_app = Celery() + self.celery_app.config_from_object(snowplow_celery_config) + except ImportError: + # Otherwise configure Celery with default settings + self.celery_app = Celery("Snowplow", broker="redis://guest@localhost//") + + self.async_flush = self.celery_app.task(self.async_flush) + def flush(self): """ Schedules a flush task """ - flush_emitter.delay(self) # passes emitter (self - CeleryEmitter) to task + self.async_flush.delay() logger.info("Scheduled a Celery task to flush the event queue") + def async_flush(self): + super(CeleryEmitter, self).flush() + class RedisEmitter(object): """ diff --git a/snowplow_tracker/payload.py b/snowplow_tracker/payload.py index c7c788b5..ff5cf888 100644 --- a/snowplow_tracker/payload.py +++ b/snowplow_tracker/payload.py @@ -1,7 +1,7 @@ """ payload.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ @@ -82,7 +82,7 @@ def add_json(self, dict_, encode_base64, type_when_encoded, type_when_not_encode json_dict = json.dumps(dict_, ensure_ascii=False) if encode_base64: - encoded_dict = base64.urlsafe_b64encode(json_dict.encode("ascii")) + encoded_dict = base64.urlsafe_b64encode(json_dict.encode("utf-8")) if not isinstance(encoded_dict, str): encoded_dict = encoded_dict.decode("utf-8") self.add(type_when_encoded, encoded_dict) diff --git a/snowplow_tracker/redis_worker.py b/snowplow_tracker/redis_worker.py index 60cb0ffe..a201c659 100644 --- a/snowplow_tracker/redis_worker.py +++ b/snowplow_tracker/redis_worker.py @@ -1,7 +1,7 @@ """ redis_worker.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ diff --git a/snowplow_tracker/self_describing_json.py b/snowplow_tracker/self_describing_json.py index b47f0bf4..5c7c1627 100644 --- a/snowplow_tracker/self_describing_json.py +++ b/snowplow_tracker/self_describing_json.py @@ -1,7 +1,7 @@ """ self_describing_json.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ diff --git a/snowplow_tracker/subject.py b/snowplow_tracker/subject.py index 85ab5e24..dd39e2aa 100644 --- a/snowplow_tracker/subject.py +++ b/snowplow_tracker/subject.py @@ -1,7 +1,7 @@ """ subject.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ diff --git a/snowplow_tracker/test/integration/test_integration.py b/snowplow_tracker/test/integration/test_integration.py index 454e1c9e..e99ea2f5 100644 --- a/snowplow_tracker/test/integration/test_integration.py +++ b/snowplow_tracker/test/integration/test_integration.py @@ -1,7 +1,7 @@ """ test_integration.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ @@ -329,4 +329,4 @@ def test_bytelimit(self): t.track_struct_event("Test", "A") # 420 bytes. Send t.track_struct_event("Test", "AA") # 141 self.assertEquals(len(querystrings[-1]["data"]), 3) - self.assertEqual(post_emitter.bytes_queued, 141) + self.assertEqual(post_emitter.bytes_queued, 136 + len(_version.__version__)) diff --git a/snowplow_tracker/test/unit/test_payload.py b/snowplow_tracker/test/unit/test_payload.py index 93b2d7cb..1b9963c3 100644 --- a/snowplow_tracker/test/unit/test_payload.py +++ b/snowplow_tracker/test/unit/test_payload.py @@ -1,7 +1,7 @@ """ test_payload.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ diff --git a/snowplow_tracker/test/unit/test_tracker.py b/snowplow_tracker/test/unit/test_tracker.py index cbf910ea..5a846243 100644 --- a/snowplow_tracker/test/unit/test_tracker.py +++ b/snowplow_tracker/test/unit/test_tracker.py @@ -1,7 +1,7 @@ """ test_tracker.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ diff --git a/snowplow_tracker/timestamp.py b/snowplow_tracker/timestamp.py index 47080d99..77ad6712 100644 --- a/snowplow_tracker/timestamp.py +++ b/snowplow_tracker/timestamp.py @@ -1,7 +1,7 @@ """ self_describing_json.py - Copyright (c) 2013-2016 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun, Anton Parkhomenko - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ diff --git a/snowplow_tracker/tracker.py b/snowplow_tracker/tracker.py index 18516925..1154b06b 100644 --- a/snowplow_tracker/tracker.py +++ b/snowplow_tracker/tracker.py @@ -1,7 +1,7 @@ """ tracker.py - Copyright (c) 2013-2014 Snowplow Analytics Ltd. All rights reserved. + Copyright (c) 2013-2019 Snowplow Analytics Ltd. All rights reserved. This program is licensed to you under the Apache License Version 2.0, and you may not use this file except in compliance with the Apache License @@ -15,7 +15,7 @@ language governing permissions and limitations there under. Authors: Anuj More, Alex Dean, Fred Blundun - Copyright: Copyright (c) 2013-2014 Snowplow Analytics Ltd + Copyright: Copyright (c) 2013-2019 Snowplow Analytics Ltd License: Apache License Version 2.0 """ @@ -59,8 +59,8 @@ class Tracker: new_contract("non_empty_string", lambda s: isinstance(s, six.string_types) and len(s) > 0) - new_contract("string_or_none", lambda s: (isinstance(s, six.string_types) - and len(s) > 0) or s is None) + new_contract("string_or_none", lambda s: isinstance(s, six.string_types) + or s is None) new_contract("payload", lambda s: isinstance(s, payload.Payload)) new_contract("tracker", lambda s: isinstance(s, Tracker)) diff --git a/vagrant/.gitignore b/vagrant/.gitignore deleted file mode 100644 index 5b164d31..00000000 --- a/vagrant/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -oss-playbooks -ansible -.peru diff --git a/vagrant/ansible.hosts b/vagrant/ansible.hosts deleted file mode 100644 index 588fa08c..00000000 --- a/vagrant/ansible.hosts +++ /dev/null @@ -1,2 +0,0 @@ -[vagrant] -127.0.0.1:2222 diff --git a/vagrant/peru.yaml b/vagrant/peru.yaml deleted file mode 100644 index e7fdf41c..00000000 --- a/vagrant/peru.yaml +++ /dev/null @@ -1,14 +0,0 @@ -imports: - ansible: ansible - ansible_playbooks: oss-playbooks - -curl module ansible: - # Equivalent of git cloning tags/v1.6.6 but much, much faster - url: https://codeload.github.com/ansible/ansible/zip/69d85c22c7475ccf8169b6ec9dee3ee28c92a314 - unpack: zip - export: ansible-69d85c22c7475ccf8169b6ec9dee3ee28c92a314 - -git module ansible_playbooks: - url: https://github.com/snowplow/ansible-playbooks.git - # Comment out to fetch a specific rev instead of master: - # rev: xxx diff --git a/vagrant/push.bash b/vagrant/push.bash deleted file mode 100755 index 840b5b0e..00000000 --- a/vagrant/push.bash +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -set -e - -project_path="/vagrant" -python_bin="~/snowplow-python-2.7-tracker-environment/bin/python2.7" - -# Similar to Perl die -function die() { - echo "$@" 1>&2 ; exit 1; -} - -# Check if our Vagrant box is running. Expects `vagrant status` to look like: -# -# > Current machine states: -# > -# > default poweroff (virtualbox) -# > -# > The VM is powered off. To restart the VM, simply run `vagrant up` -# -# Parameters: -# 1. out_running (out parameter) -function is_running { - [ "$#" -eq 1 ] || die "1 argument required, $# provided" - local __out_running=$1 - - set +e - vagrant status | sed -n 3p | grep -q "^default\s*running (virtualbox)$" - local retval=${?} - set -e - if [ ${retval} -eq "0" ] ; then - eval ${__out_running}=1 - else - eval ${__out_running}=0 - fi -} - -# Get version, checking we are on the latest -# -# Parameters: -# 1. out_version (out parameter) -# 2. out_error (out parameter) -function get_version { - [ "$#" -eq 2 ] || die "2 arguments required, $# provided" - local __out_version=$1 - local __out_error=$2 - - # Extract the version from package.json using Node and save it in a file named "VERSION" - vagrant ssh -c "cd ${project_path} && ${python_bin} -c \"v={}; execfile('snowplow_tracker/_version.py', v); print v['__version__']\" > VERSION" - file_version=`cat VERSION` - tag_version=`git describe --abbrev=0 --tags` - if [ ${file_version} != ${tag_version} ] ; then - eval ${__out_error}="'File version ${file_version} != tag version ${tag_version}'" - else - eval ${__out_version}=${file_version} - fi -} - -# Go to parent-parent dir of this script -function cd_root() { - source="${BASH_SOURCE[0]}" - while [ -h "${source}" ] ; do source="$(readlink "${source}")"; done - dir="$( cd -P "$( dirname "${source}" )/.." && pwd )" - cd ${dir} -} - -function upload_to_pypi() { - - # Register the new release with PyPI - echo "Registering the release with PyPI. Choose option 1..." - vagrant ssh -c "cd ${project_path} && ${python_bin} setup.py register" - - # Upload the new release to PyPI - echo "Uploading the file to PyPI. IMPORTANT: PyPI does not allow a file to be re-uploaded." - read -p "Do you want to upload the file to PyPI? [Y/N]" -n 1 -r - if [[ $REPLY =~ ^[Yy]$ ]] - then - # We have to upload from a folder which supports hard-linking (which guest folders shared with host don't) - vagrant ssh -c "cd \$(mktemp -d) && cp -r ${project_path}/* . && ${python_bin} setup.py sdist upload" - fi -} - -cd_root - -# Precondition for running -running=0 && is_running "running" -[ ${running} -eq 1 ] || die "Vagrant guest must be running to push" - -# Git tag must match version in snowplow_tracker/_version.py -version="" && error="" && get_version "version" "error" -[ "${error}" ] && die "Versions don't match: ${error}. Are you trying to publish an old version, or maybe on the wrong branch?" - -upload_to_pypi diff --git a/vagrant/up.bash b/vagrant/up.bash deleted file mode 100755 index 7450ae89..00000000 --- a/vagrant/up.bash +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -set -e - -vagrant_dir=/vagrant/vagrant -bashrc=/home/vagrant/.bashrc - -echo "========================================" -echo "INSTALLING PERU AND ANSIBLE DEPENDENCIES" -echo "----------------------------------------" -apt-get update -apt-get install -y language-pack-en git unzip libyaml-dev python3-pip python-yaml python-paramiko python-jinja2 - -echo "===============" -echo "INSTALLING PERU" -echo "---------------" -sudo pip3 install peru - -echo "=======================================" -echo "CLONING ANSIBLE AND PLAYBOOKS WITH PERU" -echo "---------------------------------------" -cd ${vagrant_dir} && peru sync -v -echo "... done" - -env_setup=${vagrant_dir}/ansible/hacking/env-setup -hosts=${vagrant_dir}/ansible.hosts - -echo "===================" -echo "CONFIGURING ANSIBLE" -echo "-------------------" -touch ${bashrc} -echo "source ${env_setup}" >> ${bashrc} -echo "export ANSIBLE_HOSTS=${hosts}" >> ${bashrc} -echo "... done" - -echo "==========================================" -echo "RUNNING PLAYBOOKS WITH ANSIBLE*" -echo "* no output while each playbook is running" -echo "------------------------------------------" -while read pb; do - su - -c "source ${env_setup} && ${vagrant_dir}/ansible/bin/ansible-playbook ${vagrant_dir}/${pb} --connection=local --inventory-file=${hosts}" vagrant -done <${vagrant_dir}/up.playbooks - -guidance=${vagrant_dir}/up.guidance - -if [ -f ${guidance} ]; then - echo "===========" - echo "PLEASE READ" - echo "-----------" - cat $guidance -fi diff --git a/vagrant/up.guidance b/vagrant/up.guidance deleted file mode 100644 index e1571af2..00000000 --- a/vagrant/up.guidance +++ /dev/null @@ -1,5 +0,0 @@ -To get started: -vagrant ssh -cd /vagrant -./run-tests.sh deploy -./run-tests.sh test diff --git a/vagrant/up.playbooks b/vagrant/up.playbooks deleted file mode 100644 index 9e800eeb..00000000 --- a/vagrant/up.playbooks +++ /dev/null @@ -1,2 +0,0 @@ -oss-playbooks/python-pyenv.yml -oss-playbooks/snowplow-python-tracker.yml