mirror of
https://github.com/ansible/awx.git
synced 2026-01-31 17:18:59 -03:30
Initial qpid development work
* Switch base tower devel image from u14.04 to c7 * Switch container image to build python dependencies into itself instead of forcing it to be built on startup * Upgrade venv pip to 8.1.2 * Neuter queue.py which was heavily tied to redis and was basically orphaned code * Alter local_settings to override default cache settings and use memcached * Alter local settings to refer to qpid instead of redis for celery broker * Purge redis python dependencies and add qpid and memcached * Update docker-compose to purge redis and add qpid and memcached
This commit is contained in:
@@ -1,30 +1,31 @@
|
||||
FROM ubuntu:14.04
|
||||
FROM centos:7
|
||||
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
RUN apt-get update && apt-get install -y software-properties-common python-software-properties curl
|
||||
RUN add-apt-repository -y ppa:chris-lea/redis-server; add-apt-repository -y ppa:chris-lea/zeromq; add-apt-repository -y ppa:chris-lea/node.js; add-apt-repository -y ppa:ansible/ansible; add-apt-repository -y ppa:jal233/proot;
|
||||
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
|
||||
RUN curl -sL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
||||
RUN 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 && 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 libgss-dev libkrb5-dev && apt-get autoremove --purge -y && rm -rf /var/lib/apt/lists/*
|
||||
# RUN locale-gen en_US.UTF-8
|
||||
# ENV LANG en_US.UTF-8
|
||||
# ENV LANGUAGE en_US:en
|
||||
# ENV LC_ALL en_US.UTF-8
|
||||
ADD Makefile /tmp/Makefile
|
||||
RUN mkdir /tmp/requirements
|
||||
ADD requirements/requirements.txt requirements/requirements_ansible.txt requirements/requirements_dev.txt requirements/requirements_jenkins.txt /tmp/requirements/
|
||||
RUN yum -y update && yum -y install curl epel-release
|
||||
RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
|
||||
RUN yum -y localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
|
||||
ADD tools/docker-compose/proot.repo /etc/yum.repos.d/proot.repo
|
||||
RUN yum -y update && yum -y install openssh-server ansible mg vim tmux git mercurial subversion python-devel python-psycopg2 make postgresql postgresql-devel nodejs python-psutil libxml2-devel libxslt-devel libstdc++.so.6 gcc cyrus-sasl-devel cyrus-sasl openldap-devel libffi-devel zeromq-devel proot python-pip xmlsec1-devel swig krb5-devel xmlsec1-openssl xmlsec1 xmlsec1-openssl-devel libtool-ltdl-devel
|
||||
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
|
||||
ADD license /etc/awx/license
|
||||
ADD license /etc/tower/license
|
||||
ADD tools/docker-compose/license /etc/tower/license
|
||||
RUN pip2 install honcho
|
||||
RUN wget https://github.com/Yelp/dumb-init/releases/download/v1.0.1/dumb-init_1.0.1_amd64.deb
|
||||
RUN dpkg -i dumb-init_*.deb
|
||||
RUN rm -rf /dumb-init_*.deb
|
||||
ADD ansible-tower.egg-link /tmp/ansible-tower.egg-link
|
||||
ADD tower-manage /usr/local/bin/tower-manage
|
||||
ADD awx-manage /usr/local/bin/awx-manage
|
||||
ADD ansible_tower.egg-info /tmp/ansible_tower.egg-info
|
||||
RUN curl -LO https://github.com/Yelp/dumb-init/releases/download/v1.1.3/dumb-init_1.1.3_amd64 && chmod +x ./dumb-init_1.1.3_amd64 && mv ./dumb-init_1.1.3_amd64 /usr/bin/dumb-init
|
||||
ADD tools/docker-compose/ansible-tower.egg-link /tmp/ansible-tower.egg-link
|
||||
ADD tools/docker-compose/tower-manage /usr/local/bin/tower-manage
|
||||
ADD tools/docker-compose/awx-manage /usr/local/bin/awx-manage
|
||||
ADD tools/docker-compose/ansible_tower.egg-info /tmp/ansible_tower.egg-info
|
||||
RUN ln -s /tower_devel/tools/docker-compose/start_development.sh /start_development.sh
|
||||
WORKDIR /tmp
|
||||
RUN SWIG_FEATURES="-cpperraswarn -includeall -D__`uname -m`__ -I/usr/include/openssl" VENV_BASE="/venv" make requirements_dev
|
||||
|
||||
EXPOSE 8013 8080 22
|
||||
ENTRYPOINT ["/usr/bin/dumb-init"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/tower_devel/venv/tower/bin/python
|
||||
#!/venv/tower/bin/python
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'ansible-tower==3.0.0-0.devel','console_scripts','awx-manage'
|
||||
__requires__ = 'ansible-tower==3.0.0-0.devel'
|
||||
import sys
|
||||
|
||||
8
tools/docker-compose/proot.repo
Normal file
8
tools/docker-compose/proot.repo
Normal file
@@ -0,0 +1,8 @@
|
||||
[jlaska-proot]
|
||||
name=Copr repo for proot owned by jlaska
|
||||
baseurl=https://copr-be.cloud.fedoraproject.org/results/jlaska/proot/epel-7-$basearch/
|
||||
skip_if_unavailable=True
|
||||
gpgcheck=1
|
||||
gpgkey=https://copr-be.cloud.fedoraproject.org/results/jlaska/proot/pubkey.gpg
|
||||
enabled=1
|
||||
enabled_metadata=1
|
||||
@@ -3,10 +3,13 @@ set +x
|
||||
|
||||
# Wait for the databases to come up
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=postgres port=5432" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=redis port=6379" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=memcached port=11211" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=qpid port=5672" all
|
||||
|
||||
# In case Tower in the container wants to connect to itself, use "docker exec" to attach to the container otherwise
|
||||
/etc/init.d/ssh start
|
||||
# TODO: FIX
|
||||
#/etc/init.d/ssh start
|
||||
|
||||
ansible -i "127.0.0.1," -c local -v -m postgresql_user -U postgres -a "name=awx-dev password=AWXsome1 login_user=postgres login_host=postgres" all
|
||||
ansible -i "127.0.0.1," -c local -v -m postgresql_db -U postgres -a "name=awx-dev owner=awx-dev login_user=postgres login_host=postgres" all
|
||||
|
||||
@@ -25,11 +28,11 @@ cp -nR /tmp/ansible_tower.egg-info /tower_devel/ || true
|
||||
#if [ -f "awx/lib/.deps_built" ]; then
|
||||
# echo "Skipping dependency build - remove awx/lib/.deps_built to force a rebuild"
|
||||
#else
|
||||
make requirements_dev
|
||||
#SWIG_FEATURES="-cpperraswarn -includeall -D__`uname -m`__ -I/usr/include/openssl" make requirements_dev
|
||||
# touch awx/lib/.deps_built
|
||||
#fi
|
||||
|
||||
cp /tmp/ansible-tower.egg-link /tower_devel/venv/tower/lib/python2.7/site-packages/ansible-tower.egg-link
|
||||
cp /tmp/ansible-tower.egg-link /venv/tower/lib/python2.7/site-packages/ansible-tower.egg-link
|
||||
|
||||
# Tower bootstrapping
|
||||
make version_file
|
||||
|
||||
Reference in New Issue
Block a user