Upgrade buildslave and buildslave-configure ansible roles to handle multiple slaves per host
ClosedPublic

Authored by mkrizek on Oct 29 2015, 2:35 PM.

Details

Summary

Contains also changes to support libtaskotron 0.4.0 in non-disposable mode.

Test Plan

Did some testing with allinone deployment on my laptop but not everything was covered. I guess deploying to dev is a test plan :)

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
mkrizek retitled this revision from to Upgrade buildslave and buildslave-configure ansible roles to handle multiple slaves per host.Oct 29 2015, 2:35 PM
mkrizek updated this object.
mkrizek edited the test plan for this revision. (Show Details)
mkrizek added a reviewer: tflink.
mkrizek added a project: infrastructure.
tflink requested changes to this revision.Oct 29 2015, 3:22 PM

A couple of minor concerns but looks pretty good to me, overall.

roles/taskotron/buildmaster-configure/templates/taskotron.master.cfg.j2
155

Don't those %(prop:slavenam)s need to be wrapped in Interpolate instead of used as part of a raw string?

199

If we have multiple buildslaves on the same host, i think this step will cause problems. I wonder if we need to separate out the tmpdirs per-user like we did for the log files

roles/taskotron/buildslave/tasks/main.yml
40

I think we should add the homedir here as well. It's not needed at the moment but enough stuff has been moved around on the master to deal with disk space issues, I'd rather be prepared since we're specifying the homedir in inventory, anyways

This revision now requires changes to proceed.Oct 29 2015, 3:22 PM
mkrizek updated this revision to Diff 1643.Oct 29 2015, 8:54 PM
tflink requested changes to this revision.Oct 29 2015, 9:07 PM

changes look good to me but I caught something new this time around

roles/taskotron/buildslave-configure/tasks/main.yml
49

i didn't catch this before but this is not a wise thing to do - that /etc/ssh/ssh_known_hosts is controlled elsewhere by ansible - changing it would end up with a war between the two tasks.

why not continue to use the user's .ssh/known_hosts file?

This revision now requires changes to proceed.Oct 29 2015, 9:07 PM
mkrizek updated this revision to Diff 1645.Oct 30 2015, 5:30 PM
mkrizek added a comment.EditedOct 30 2015, 5:33 PM

I just realized that we also write directly into taskotron.log in artifactsdir so I changed master.cfg to reflect that.

mkrizek updated this revision to Diff 1646.Nov 2 2015, 2:21 PM
mkrizek updated this object.

Added conditions to run the change only on dev.

tflink accepted this revision.Nov 2 2015, 4:05 PM

I agree that the conditionals around "is dev" or "is not dev" is kinda ugly but I can't think of other reasonable options. We'll just have to remove them once this is all deployed to prod

This revision is now accepted and ready to land.Nov 2 2015, 4:05 PM
mkrizek closed this revision.Nov 2 2015, 8:39 PM