{"push_id":1204985714,"size":10,"distinct_size":4,"ref":"refs/heads/wip-ssh-status","head":"f4f5618456dc41cb1fc41e480e0f71622123516a","before":"a55f87ec12adbec5c3899a2251b127fb6191e14f","commits":[{"sha":"862e68b19a7c4dfe377b91c8330d2b26e4e3714a","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Change the name of the config file in profile.\n\nThe new conventional suffix is .cfg, so the config file is\npbench-agent.cfg.\n\nAlso, there is a new version of configtools (0.4.0) on Pypi, which\nimplements the proposed CONFIG env variable name change. But\npbench still depends on the current version, so tell Travis to\ninstall the 0.3.1 version (actually, anything < 0.4.0).","distinct":false,"url":"https://api.github.com/repos/ndokos/pbench/commits/862e68b19a7c4dfe377b91c8330d2b26e4e3714a"},{"sha":"14c3a1dfcd0d36b4777af9c4171a1af5a150adcd","author":{"name":"Peter Portante","email":"ff9873574d55670d693c4b6ce6f4c2520c342721@gmail.com"},"message":"Merge pull request #279 from ndokos/wip-rename-config\n\nChange the name of the config file in profile.","distinct":false,"url":"https://api.github.com/repos/ndokos/pbench/commits/14c3a1dfcd0d36b4777af9c4171a1af5a150adcd"},{"sha":"fa80b08c5abf1da99c911475eaeb05433e2ac980","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Safer kill: check for strange situations and deal with them.\n\nCheck that the pid corresponds to the tool before killing it.\nIf there is no process with that pid, eat the error.\nIf the kill succeeds, return success.\nOtherwise check if the process is still running: kill it forcibly\nif necessary, but return failure in that case.\n\npbench-kill-tools: Check that the list of pids to kill is not empty.","distinct":false,"url":"https://api.github.com/repos/ndokos/pbench/commits/fa80b08c5abf1da99c911475eaeb05433e2ac980"},{"sha":"11a0ad98bd6e0deaffae22e22d989b10470a0664","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Add unit tests for safe_kill.\n\nThe kvmstat, vmstat, numastat and turbostat test cases actually go\nthrough safe_kill.  The iostat and sar cases do not currently.\nAssuming that no problems are found with safe_kill, it will be\nported to the rest of the tools.","distinct":false,"url":"https://api.github.com/repos/ndokos/pbench/commits/11a0ad98bd6e0deaffae22e22d989b10470a0664"},{"sha":"7bbb4dd9d81642343e2f88645516b9394868b5fc","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Revert the change to perf.","distinct":false,"url":"https://api.github.com/repos/ndokos/pbench/commits/7bbb4dd9d81642343e2f88645516b9394868b5fc"},{"sha":"75ca51caf9f45339caa6349364e37fbed854fa25","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Use pidof -x to get list of pids.\n\nEach tool script belongs to a 3- or 4-deep process hierarchy of which\npidof returned one pid (and not necessarily the one that was stored in\nthe tool pid file); consequently, safe_kill would skip it and there were\ntools (and their screens) hanging around at the end.\n\nUse pidof -x to get the complete list.\n\nChange the relevant unit tests (and the mocked pidof) to accommodate\nthis change.","distinct":false,"url":"https://api.github.com/repos/ndokos/pbench/commits/75ca51caf9f45339caa6349364e37fbed854fa25"},{"sha":"53d59014fd83a073d744a18fe9cdae5e4783d612","author":{"name":"Peter Portante","email":"ff9873574d55670d693c4b6ce6f4c2520c342721@gmail.com"},"message":"Merge pull request #199 from ndokos/wip-check-turbostat-kill\n\nCheck whether the pid exists before killing.","distinct":true,"url":"https://api.github.com/repos/ndokos/pbench/commits/53d59014fd83a073d744a18fe9cdae5e4783d612"},{"sha":"fe15a81e2ad5422abf5f8faca79693f603b9cc70","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Catch pipeline failures and return proper error status.\n\nScripts where pipelines like this: ssh remote command | process output\nare used do not deal with ssh errors properly. The pipeline returns\nthe status of the last command.\n\nSet the pipefail option in base: that way pipelines will return the\nstatus of the last failed command in the pipeline, not that of the\nlast command.\n\no pbench-register-tool now exits with the correct status of the\n  pipeline.  pbench-register-tool-set counts pbench-register-tool\n  failures and exits with status equal to the number of failed\n  pbench-register-tool calls.\n\no Extend ssh status checking to pbench-clear-tools.\n\n  There are two cases to consider: pbench-clear-tools is called\n  with or without a --name=foo option.\n\n  In the first case, the intent is to clear a single\n  tool. pbench-clear-tools will try to ssh to all the remotes and\n  clear the tool; it will also try to count how many tools are left\n  (with another ssh) and if none, it will delete the local @remote\n  entry.  If the first ssh fails, we do not continue to the second: we\n  just count it as a failure, but since we cannot find out the state\n  of the remote, we assume that it still has tools left and we do not\n  remove the local entry for the remote.\n\n  In the second case, the intent is to clear all tools, so even if the\n  ssh fails, we remove the local entry for the remote. IOW,\n  pbench-clear-tools with no --name argument might leave junk lying\n  around on the remote if we can't get to it, but it clears everything\n  locally.\n\n  In either case, we return the number of ssh failures as the exit\n  status of the command.\n\no pbench-start-tools now checks its ssh pipeline for errors and returns\n  status properly.\n\n  In addition, pbench-start-tools is modified to call\n  pbench-kill-tools before starting a new run. It has often been the\n  case that tools from earlier runs are not cleaned up properly,\n  particularly when the run is interrupted. Although that is a problem\n  that should be resolved in the calling script, using \"trap\n  'pbench-kill-tools' INT QUIT EXIT\", this is an attempt to make tool\n  handling more robust and avoid the most common failure scenarios.","distinct":true,"url":"https://api.github.com/repos/ndokos/pbench/commits/fe15a81e2ad5422abf5f8faca79693f603b9cc70"},{"sha":"cf59a069bf67ba17d7d3d32b7eb27149a9eca942","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Check status of backgrounded commands in pbench-postprocess-tools.\n\nReplace wait with a loop of \"wait $pid\" for each background process\ncreated, so we can get the exit status of the process. Each non-zero\nstatus counts as an error. The total number of errors is then returned\nas the status of pbench-postprocess-tools.","distinct":true,"url":"https://api.github.com/repos/ndokos/pbench/commits/cf59a069bf67ba17d7d3d32b7eb27149a9eca942"},{"sha":"f4f5618456dc41cb1fc41e480e0f71622123516a","author":{"name":"Nick Dokos","email":"bc7f3fa5218f6d29e8a425496ff7c78b61b6d31f@redhat.com"},"message":"Add unit tests.\n\nModify mock ssh to return failures on a given host name (\"fubar\").\nModify unittests to pass when the test is expected to fail\nand does so with an expected non-zero status code.","distinct":true,"url":"https://api.github.com/repos/ndokos/pbench/commits/f4f5618456dc41cb1fc41e480e0f71622123516a"}]}
{"actor":{"display_login":"ndokos"}}