2

I have a single-vm deployment I am playing with using bosh (following these instructions: http://concourse-ci.org/concourse-lite.html)

After a bunch of builds, my pipeline errors with

/scratch/docker/tmp/GetImageBlob128904326: no space left on device

and on my mac, if I go into ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux

the Docker.qcow2 has pretty much grown to my max ~64gig

My pipeline is located at https://github.com/buildit/twig/blob/concourse/concourse/pipeline.yml

The only thing I can think of is that for my e2e tests, I am copying the docker files I use to spin up a docker-compose environment into each build so it doesn't go grab them by itself (see https://github.com/buildit/twig/blob/concourse/concourse/scripts/run_e2e_tests.sh) and perhaps those e2e environments are not being cleaned when the step fails (I am failing on purpose right now)

Is there a step I need to take to clean up these containers? I have 27 containers when I run fly -t lite volumes

Dwayne Forde
  • 1,324
  • 13
  • 13
Ben Hernandez
  • 857
  • 1
  • 11
  • 23
  • What do you get when you run `docker volumes` from inside the vm? I would imagine that this is the source of the bloat. – Derek Brown Oct 14 '17 at 05:14
  • This is my first time using bosh and I haven't been able to figure out how to get to the vm to do anything. Any time I use something like `bosh ssh` it says something about a director url but I have no idea where to get that and nothing is popping out to me from the concourse-lite.yml or concourse-lite-state.yml files. – Ben Hernandez Oct 14 '17 at 15:48

2 Answers2

0

Do you try to create a bosch environment within your docker container? We tried this as well and withdrawn the idea. If you want to test a bosh system, use a staging system rather than providing the testing environment in this case by Concourse.

gdenn
  • 501
  • 1
  • 5
  • 12
0

I actually ended up fixing this by modifying my docker-compose file. It seems to me like the docker-compose down call wasn't finishing before the script ended so things were not getting cleaned up completely.

My test-runner is now configured like this

services:
  test-runner:
    ...
    depends_on:
      - e2e-couch
      - e2e-api
      - e2e-web
    ...

And I kick off the tests with docker-compose -f ./twig/concourse/compose/e2e.yml run --rm test-runner bash -c "cd /twig && npm install && npm run test:e2e:ci -- --base-href http://e2e-web" without bothering to do a docker-compose up beforehand. See original github links in the original question for more information.

Not sure why doing docker-compose down didn't clean them but this is working perfectly.

Ben Hernandez
  • 857
  • 1
  • 11
  • 23