devops-coop / ansible-minecraft

Ansible role for provisioning a vanilla Minecraft server
https://galaxy.ansible.com/devops-coop/minecraft/
Apache License 2.0
57 stars 38 forks source link

make trusty64 test tries to use systemd #4

Closed markrcote closed 8 years ago

markrcote commented 8 years ago

I just ran make trusty64 test, and it errored out saying systemd is unsupported. As per the README, looks like it should be using supervisor. Output follows:

(venv) retina-wireless:ansible-minecraft mcote$ make trusty64 test
{ docker images ansibleminecraft_trusty64 | grep trusty64; } && exit || docker-compose build trusty64
ansibleminecraft_trusty64   latest              56a621f41fd9        About an hour ago   329.9 MB
./scripts/ci.sh trusty64 systemd
+ IFS='
    '
+ declare -r OS=trusty64
+ declare -r PROCESS_CONTROL=systemd
+ declare -r WORKSPACE=/tmp/ansible-minecraft
+ trap cleanup EXIT
+ main trusty64 systemd
+ docker-compose up -d trusty64
Creating ansibleminecraft_trusty64_1
++ docker-compose ps -q trusty64
+ local container=d0419f3281f7ce28d132065644abf7277c1146c603561668ab5532c14dab6d70
+ docker cp . d0419f3281f7ce28d132065644abf7277c1146c603561668ab5532c14dab6d70:/tmp/ansible-minecraft
+ docker exec -t d0419f3281f7ce28d132065644abf7277c1146c603561668ab5532c14dab6d70 ansible-playbook -i /tmp/ansible-minecraft/tests/inventory --syntax-check --extra-vars=minecraft_process_control=systemd /tmp/ansible-minecraft/tests/site.yml

playbook: /tmp/ansible-minecraft/tests/site.yml
+ docker exec -t d0419f3281f7ce28d132065644abf7277c1146c603561668ab5532c14dab6d70 ansible-playbook -i /tmp/ansible-minecraft/tests/inventory -c local --extra-vars=minecraft_process_control=systemd /tmp/ansible-minecraft/tests/site.yml

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [benwebber.minecraft : check for supported OS] ****************************
ok: [localhost]

TASK [benwebber.minecraft : include OS-specific variables] *********************
ok: [localhost]

TASK [benwebber.minecraft : include Debian-specific tasks] *********************
included: /tmp/ansible-minecraft/tasks/Debian.yml for localhost

TASK [benwebber.minecraft : install Minecraft dependencies] ********************
changed: [localhost] => (item=[u'default-jdk'])

TASK [benwebber.minecraft : include Red Hat-specific tasks] ********************
skipping: [localhost]

TASK [benwebber.minecraft : create Minecraft group] ****************************
changed: [localhost]

TASK [benwebber.minecraft : create Minecraft user] *****************************
changed: [localhost]

TASK [benwebber.minecraft : include] *******************************************
skipping: [localhost]

TASK [benwebber.minecraft : include] *******************************************
included: /tmp/ansible-minecraft/tasks/systemd.yml for localhost

TASK [benwebber.minecraft : include] *******************************************
included: /tmp/ansible-minecraft/tasks/systemd/Ubuntu.yml for localhost

TASK [benwebber.minecraft : check supported version] ***************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Using systemd with Ubuntu is not supported. Use Supervisor instead."}
    to retry, use: --limit @/tmp/ansible-minecraft/tests/site.retry

PLAY RECAP *********************************************************************
localhost                  : ok=9    changed=3    unreachable=0    failed=1

+ cleanup
+ docker-compose stop trusty64
Stopping ansibleminecraft_trusty64_1 ... done
+ docker-compose rm -f trusty64
Going to remove ansibleminecraft_trusty64_1
Removing ansibleminecraft_trusty64_1 ... done
make: *** [test] Error 2
benwebber commented 8 years ago

Thanks, this is a documentation gap.

The Makefile accepts a PROCESS_CONTROL argument to switch between supervisor and systemd You can see how we use the variable to set up a matrix build in Travis:

https://github.com/benwebber/ansible-minecraft/blob/74214bb3ce58ad84142931f122aa3c20bb7ad02b/.travis.yml#L10-L14

I've updated the README with an example for Ubuntu. I'd rather not add more logic to the Makefile to handle trusty64 specifically. Make logic quickly grows unwieldy.

markrcote commented 8 years ago

Ah right, I had even set that environment variable and then forgot about it. :)