Changes for Tower virtualenv support

* Break requirements down into ansible and tower reqs
* Generate separate Ansible and Tower virtual environments
* Install appropriate requirements files into each one
* Modify development tools to use these venvs instead of our old
  site-packages
* Modify settings to indicate venv enablement and location of venvs
* Modify tasks to use the proper virtual environment for its purpose
This commit is contained in:
Matthew Jones
2016-03-09 14:33:42 -05:00
parent 2f00260f47
commit 4f8763ff90
13 changed files with 185 additions and 178 deletions

View File

@@ -11,9 +11,7 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && apt
RUN echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list && echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" | tee /etc/apt/sources.list.d/postgres-9.4.list
RUN apt-get update
RUN apt-get install -y openssh-server ansible mg vim tmux git mercurial subversion python-dev python-psycopg2 make postgresql-client libpq-dev nodejs python-psutil libxml2-dev libxslt-dev lib32z1-dev libsasl2-dev libldap2-dev libffi-dev libzmq-dev proot python-pip libxmlsec1-dev swig redis-server && rm -rf /var/lib/apt/lists/*
RUN pip install flake8
RUN pip install pytest pytest-pythonpath pytest-django pytest-cov
RUN pip install dateutils # for private/license_writer.py
RUN pip install flake8 pytest pytest-pythonpath pytest-django pytest-cov pytest-mock dateutils django-debug-toolbar==1.4 pyflakes==1.0.0 virtualenv
RUN /usr/bin/ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa
RUN mkdir -p /etc/tower
RUN mkdir -p /data/db
@@ -23,6 +21,9 @@ RUN pip2 install honcho
RUN wget https://github.com/Yelp/dumb-init/releases/download/v1.0.0/dumb-init_1.0.0_amd64.deb
RUN dpkg -i dumb-init_*.deb
ADD start_development.sh /start_development.sh
ADD ansible-tower.egg-link /tmp/ansible-tower.egg-link
ADD tower-manage /usr/local/bin/tower-manage
ADD ansible_tower.egg-info /tmp/ansible_tower.egg-info
EXPOSE 8013 8080 22
ENTRYPOINT ["/usr/bin/dumb-init"]

View File

@@ -20,12 +20,8 @@ else
echo "Failed to find tower source tree, map your development tree volume"
fi
if [ -f "/.develop_run" ]; then
echo "Skipping 'make develop' step since it has already run - remove /.develop_run to force it"
else
make develop
touch /.develop_run
fi
rm -rf /tower_devel/ansible_tower.egg-info
cp -R /tmp/ansible_tower.egg-info /tower_devel/
# Check if we need to build dependencies
if [ -f "awx/lib/.deps_built" ]; then
@@ -35,6 +31,9 @@ else
touch awx/lib/.deps_built
fi
rm -rf /tower_devel/venv/tower/lib/python2.7/site-packages/ansible-tower.egg-link
cp /tmp/ansible-tower.egg-link /tower_devel/venv/tower/lib/python2.7/site-packages/ansible-tower.egg-link
# Tower bootstrapping
make version_file
make migrate