Sharing sstate cache across build nodes


Rusty Howell
 

Hello,
We are having a problem with the PR server resetting the PR number it is returning for a given package/arch/checksum.  Our setup is as follows:  We have multiple linux servers being used as build nodes. Each node can build any one of four MACHINE types that we have defined in our distro. These builds actually happen inside a docker container on the build nodes.  We have a global PR server running on a separate server.

Each node has it's own SSTATE_DIR, DL_DIR, and all bitbake builds on a node will use the same SSTATE_DIR, DL_DIR. Those directories are shared with the docker containers.

Our distro has many recipes that have a git SRC_URI with a branch name as the rev. So they need to use AUTOINC.
What we are noticing is that once in a while, the revs being served out by the PR server will be reset back to 0, and thus break upgrade-ability with the debian packages.

I have been unable to find much information about how to properly configure multiple build nodes so that they all have consistent PR values from the PR server.

I know there are several directories that might be necessary to achieve my goal.
PERSISTENT_DIR, SSTATE_DIR, BUILDHISTORY_DIR, DL_DIR

Can someone help explain which dirs should/must be shared via NFS/smb across all build nodes? Which directories are node-specific and only need to be cached locally (but not NFS) and used for all local build jobs? Does changing the MACHINE type on the build affect how/if these directories can be shared?
Thanks a lot

Join yocto@lists.yoctoproject.org to automatically receive all group messages.