Merge pull request #30 from ryanpetrello/fix-isolated-awx

fix tower-expect -> awx-expect for isolated tower builds
This commit is contained in:
Ryan Petrello 2017-07-24 16:22:02 -04:00 committed by GitHub
commit 243c36d28f
14 changed files with 23 additions and 23 deletions

View File

@ -170,7 +170,7 @@ class IsolatedManager(object):
# - sets up a temporary directory for proot/bwrap (if necessary)
# - copies encrypted job data from the controlling host to the isolated host (with rsync)
# - writes the encryption secret to a named pipe on the isolated host
# - launches the isolated playbook runner via `tower-expect start <job-id>`
# - launches the isolated playbook runner via `awx-expect start <job-id>`
args = self._build_args('run_isolated.yml', '%s,' % self.host, extra_vars)
if self.instance.verbosity:
args.append('-%s' % ('v' * min(5, self.instance.verbosity)))

View File

@ -10,7 +10,7 @@
tasks:
- name: Determine if daemon process is alive.
shell: "tower-expect is-alive {{src}}"
shell: "awx-expect is-alive {{src}}"
register: is_alive
ignore_errors: true

View File

@ -11,7 +11,7 @@
tasks:
- name: cancel the job
command: "tower-expect stop {{private_data_dir}}"
command: "awx-expect stop {{private_data_dir}}"
ignore_errors: yes
- name: remove build artifacts

View File

@ -29,7 +29,7 @@
command: "mkfifo {{src}}/env"
- name: spawn the playbook
command: "tower-expect start {{src}}"
command: "awx-expect start {{src}}"
- name: write the secret environment data
mkfifo:

View File

@ -26,7 +26,7 @@ def main():
)
try:
version = subprocess.check_output(
['tower-expect', '--version'],
['awx-expect', '--version'],
stderr=subprocess.STDOUT
).strip()
except subprocess.CalledProcessError as e:

View File

@ -51,7 +51,7 @@ def main():
try:
re_match = re.match(r'\/tmp\/ansible_tower_\d+_.+', path)
if re_match is not None:
if subprocess.check_call(['tower-expect', 'is-alive', path]) == 0:
if subprocess.check_call(['awx-expect', 'is-alive', path]) == 0:
continue
else:
module.debug('Deleting path {} its job has completed.'.format(path))

View File

@ -55,7 +55,7 @@ class sdist_isolated(sdist):
'include Makefile',
'include awx/__init__.py',
'include awx/main/isolated/run.py',
'include tools/scripts/tower-expect',
'include tools/scripts/awx-expect',
'include requirements/requirements_isolated.txt',
'recursive-include awx/lib *.py',
]

View File

@ -1,17 +1,17 @@
version: '3'
services:
# Primary Tower Development Container link
tower:
awx:
environment:
EXTRA_GROUP_QUEUES: thepentagon
links:
- isolated
# Isolated Rampart Container
isolated:
image: gcr.io/ansible-tower-engineering/tower_isolated:${TAG}
image: gcr.io/ansible-tower-engineering/awx_isolated:${TAG}
hostname: isolated
volumes:
- "../awx/main/isolated:/tower_devel"
- "../awx/lib:/tower_lib"
- "../awx/main/isolated:/awx_devel"
- "../awx/lib:/awx_lib"
- "/sys/fs/cgroup:/sys/fs/cgroup:ro"
privileged: true

View File

@ -17,7 +17,7 @@ ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
WORKDIR /
EXPOSE 22
ADD tools/docker-isolated/tower-expect /usr/local/bin/tower-expect
ADD tools/docker-isolated/awx-expect /usr/local/bin/awx-expect
RUN rm -f /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_ecdsa_key

View File

@ -1,7 +1,7 @@
## Instructions on using an isolated node
The building of the isolated node is done in the `make docker-compose-build`
target. Its image uses a different tag from the tools_tower container.
target. Its image uses a different tag from the tools_awx container.
Given that the images are built, you can run the combined docker compose target. This uses
the base `docker-compose.yml` with modifications found in `docker-isolated-override.yml`.
@ -12,7 +12,7 @@ base branch is. For example:
make docker-isolated COMPOSE_TAG=devel
```
This will automatically exchange the keys in order for the `tools_tower_1`
This will automatically exchange the keys in order for the `tools_awx_1`
container to access the `tools_isolated_1` container over ssh.
After that, it will bring up all the containers like the normal docker-compose
workflow.
@ -61,7 +61,7 @@ Example location of a private data directory:
The following command would run the playbook corresponding to that job.
```bash
tower-expect start /tmp/ansible_tower_29_OM6Mnx/
awx-expect start /tmp/ansible_tower_29_OM6Mnx/
```
Other tower-expect commands include `start`, `is-alive`, and `stop`.
Other awx-expect commands include `start`, `is-alive`, and `stop`.

View File

@ -0,0 +1,3 @@
#!/bin/bash
. /venv/awx/bin/activate
exec env TOWER_LIB_DIRECTORY=/awx_lib /awx_devel/run.py "$@"

View File

@ -1,3 +0,0 @@
#!/bin/bash
. /venv/tower/bin/activate
exec env TOWER_LIB_DIRECTORY=/tower_lib /tower_devel/run.py "$@"

4
tools/scripts/awx-expect Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
AWX_LIB=`/var/lib/awx/venv/awx/bin/python -c 'import os, awx; print os.path.dirname(awx.__file__)'`
. /var/lib/awx/venv/awx/bin/activate
exec env TOWER_LIB_DIRECTORY=$AWX_LIB/lib /var/lib/awx/venv/awx/bin/python $AWX_LIB/main/isolated/run.pyc "$@"

View File

@ -1,4 +0,0 @@
#!/bin/bash
AWX_LIB=`/var/lib/awx/venv/tower/bin/python -c 'import os, awx; print os.path.dirname(awx.__file__)'`
. /var/lib/awx/venv/tower/bin/activate
exec env TOWER_LIB_DIRECTORY=$AWX_LIB/lib /var/lib/awx/venv/tower/bin/python $AWX_LIB/main/isolated/run.pyc "$@"