0

I have a strange problem with TeamCity server (and TeamCity agent). I have them running inside Kubernetes. They both report that they have zero disk space available. However, there is enough disk space and if I ignore these warnings, everything works fine.

For example this is the message of TeamCity server:

Warning: Low disk space for the directory: "/data/teamcity_server/datadir/system".
Disk space available: 0 B which is below the limit of 500 MB.
Please contact your system administrator.

Some versions:

  • Physical host is Ubuntu Trusty 14.04.5
  • minikube 0.23
  • kubectl 1.8.3 client, 1.8.0 server
  • TeamCity server 2017.1.5 (build 47175)
  • TeamCity agent 47175 (same build as the server I suppose)

The Docker images of both TeamCity server and agent are configured correctly in terms of their volumes. I can see that because all the files and folders are correctly written on the host.

However, TeamCity insists that there is no disk space available. This causes some unnecessary annoying warnings but it also pauses the build queue automatically, which means I have to login and unpause the queue manually eveytime I want to run a build.

Has anyone encountered this before? Sounds like a problem with how TeamCity tries to figure out how much disk space it has left, but I don't know how to approach this and I couldn't find something online.

1 Answers1

0

Okay, after repeating the setup on a few other computers, I figured out that the problem was a typical case of PEBKAC.

I had misconfigured the physical path to the folders as "/home/myuser/foo". On a Linux host, the "/home" directory appears as "/hosthome" inside minikube. So the correct way to use it is the same way minikube sees it internally, which is "/hosthome/myuser/foo".

In case it helps someone else:

  1. use minikube ssh to double check things.
  2. On a Mac host, "/Users/foo" appears as "/Users/foo" inside minikube (unchanged).
  3. On a Windows host, "C:\Users\foo" appears as "/c/Users/foo" inside minikube.
  4. On a Linux host, "/home/foo" appears as "/hosthome/foo" inside minikube.