Tower -> AWX Tooling Migration

* Switching version number scheme and mechanism
* Refactor development tooling towards 'awx' paths and names
* Purging packaging details from Makefile
This commit is contained in:
Matthew Jones
2017-07-18 11:16:18 -04:00
committed by Shane McDonald
parent cf967d244b
commit 3892e4e389
14 changed files with 150 additions and 597 deletions

View File

@@ -17,19 +17,16 @@ RUN yum -y localinstall http://download.postgresql.org/pub/repos/yum/9.4/redhat/
RUN yum -y update && yum -y install openssh-server ansible mg vim tmux git mercurial subversion python-devel python-psycopg2 make postgresql postgresql-devel nginx nodejs python-psutil libxml2-devel libxslt-devel libstdc++.so.6 gcc cyrus-sasl-devel cyrus-sasl openldap-devel libffi-devel zeromq-devel python-pip xmlsec1-devel swig krb5-devel xmlsec1-openssl xmlsec1 xmlsec1-openssl-devel libtool-ltdl-devel rabbitmq-server bubblewrap zanata-python-client gettext gcc-c++ bzip2
RUN pip install 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 tools/docker-compose/license /etc/tower/license
RUN pip2 install honcho
RUN pip2 install supervisor
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 -Ffs /tower_devel/tools/docker-compose/nginx.conf /etc/nginx/nginx.conf
RUN ln -Ffs /tower_devel/tools/docker-compose/nginx.vh.default.conf /etc/nginx/conf.d/nginx.vh.default.conf
RUN ln -s /tower_devel/tools/docker-compose/start_development.sh /start_development.sh
RUN openssl req -nodes -newkey rsa:2048 -keyout /etc/nginx/nginx.key -out /etc/nginx/nginx.csr -subj "/C=US/ST=North Carolina/L=Durham/O=Ansible/OU=Tower Development/CN=tower.localhost"
RUN ln -Ffs /awx_devel/tools/docker-compose/nginx.conf /etc/nginx/nginx.conf
RUN ln -Ffs /awx_devel/tools/docker-compose/nginx.vh.default.conf /etc/nginx/conf.d/nginx.vh.default.conf
RUN ln -s /awx_devel/tools/docker-compose/start_development.sh /start_development.sh
RUN openssl req -nodes -newkey rsa:2048 -keyout /etc/nginx/nginx.key -out /etc/nginx/nginx.csr -subj "/C=US/ST=North Carolina/L=Durham/O=Ansible/OU=AWX Development/CN=awx.localhost"
RUN openssl x509 -req -days 365 -in /etc/nginx/nginx.csr -signkey /etc/nginx/nginx.key -out /etc/nginx/nginx.crt
WORKDIR /tmp
RUN SWIG_FEATURES="-cpperraswarn -includeall -D__`uname -m`__ -I/usr/include/openssl" VENV_BASE="/venv" make requirements_dev

View File

@@ -1 +1 @@
/tower_devel
/awx_devel

View File

@@ -1,4 +1,4 @@
#!/venv/tower/bin/python
#!/venv/awx/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

View File

@@ -40,16 +40,16 @@ backend nodes
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
option httpchk HEAD / HTTP/1.1\r\nHost:localhost
server tower_1 tower_1:8013 check
server tower_2 tower_2:8013 check
server tower_3 tower_3:8013 check
server awx_1 awx_1:8013 check
server awx_2 awx_2:8013 check
server awx_3 awx_3:8013 check
backend nodes_ssl
mode tcp
balance roundrobin
server tower_1 tower_1:8043
server tower_2 tower_2:8043
server tower_3 tower_3:8043
server awx_1 awx_1:8043
server awx_2 awx_2:8043
server awx_3 awx_3:8043
backend flower_nodes
mode http
@@ -59,9 +59,9 @@ backend flower_nodes
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
#option httpchk HEAD / HTTP/1.1\r\nHost:localhost
server tower_1 tower_1:5555
server tower_2 tower_2:5555
server tower_3 tower_3:5555
server awx_1 awx_1:5555
server awx_2 awx_2:5555
server awx_3 awx_3:5555
backend rabbitctl_nodes
mode http

View File

@@ -24,7 +24,7 @@ server {
add_header Strict-Transport-Security max-age=15768000;
location /static/ {
root /tower_devel;
root /awx_devel;
try_files /awx/ui/$uri /awx/$uri /awx/public/$uri =404;
access_log off;
sendfile off;
@@ -84,7 +84,7 @@ server {
add_header Strict-Transport-Security max-age=15768000;
location /static/ {
root /tower_devel;
root /awx_devel;
try_files /awx/ui/$uri /awx/$uri /awx/public/$uri =404;
access_log off;
sendfile off;

View File

@@ -6,7 +6,7 @@ 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=memcached port=11211" all
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=${RABBITMQ_HOST} port=5672" all
# In case Tower in the container wants to connect to itself, use "docker exec" to attach to the container otherwise
# In case AWX in the container wants to connect to itself, use "docker exec" to attach to the container otherwise
# TODO: FIX
#/etc/init.d/ssh start
@@ -15,30 +15,28 @@ ansible -i "127.0.0.1," -c local -v -m postgresql_user -U postgres -a "name=awx-
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
# Move to the source directory so we can bootstrap
if [ -f "/tower_devel/manage.py" ]; then
cd /tower_devel
elif [ -f "/tower_devel/ansible-tower/manage.py" ]; then
cd /tower_devel/ansible-tower
if [ -f "/awx_devel/manage.py" ]; then
cd /awx_devel
else
echo "Failed to find tower source tree, map your development tree volume"
echo "Failed to find awx source tree, map your development tree volume"
fi
cp -nR /tmp/ansible_tower.egg-info /tower_devel/ || true
cp /tmp/ansible-tower.egg-link /venv/tower/lib/python2.7/site-packages/ansible-tower.egg-link
ln -s /tower_devel/tools/rdb.py /venv/tower/lib/python2.7/site-packages/rdb.py || true
yes | cp -rf /tower_devel/tools/docker-compose/supervisor.conf /supervisor.conf
cp -nR /tmp/ansible_tower.egg-info /awx_devel/ || true
cp /tmp/ansible-tower.egg-link /venv/awx/lib/python2.7/site-packages/ansible-tower.egg-link
ln -s /awx_devel/tools/rdb.py /venv/awx/lib/python2.7/site-packages/rdb.py || true
yes | cp -rf /awx_devel/tools/docker-compose/supervisor.conf /supervisor.conf
# Tower bootstrapping
# AWX bootstrapping
make version_file
make migrate
make init
mkdir -p /tower_devel/awx/public/static
mkdir -p /tower_devel/awx/ui/static
mkdir -p /awx_devel/awx/public/static
mkdir -p /awx_devel/awx/ui/static
# Start the service
if [ -f "/tower_devel/tools/docker-compose/use_dev_supervisor.txt" ]; then
if [ -f "/awx_devel/tools/docker-compose/use_dev_supervisor.txt" ]; then
make supervisor
else
honcho start -f "tools/docker-compose/Procfile"

View File

@@ -59,7 +59,7 @@ redirect_stderr=true
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
[group:tower-processes]
[group:awx-processes]
programs=celeryd,receiver,runworker,uwsgi,daphne,nginx,flower
priority=5

View File

@@ -1,11 +1,11 @@
FROM gcr.io/ansible-tower-engineering/tower_devel:latest
FROM gcr.io/ansible-tower-engineering/awx_devel:latest
# For UI tests
RUN yum install -y bzip2 gcc-c++
RUN npm set progress=false
WORKDIR "/tower_devel"
WORKDIR "/awx_devel"
ENTRYPOINT ["/bin/bash", "-c"]
CMD ["bash"]

View File

@@ -11,4 +11,4 @@ services:
TEST_DIRS: awx/main/tests/functional awx/main/tests/unit awx/conf/tests awx/sso/tests
command: ["make test"]
volumes:
- ../../../:/tower_devel
- ../../../:/awx_devel