{"push_id":974595772,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"7e8a1e5e2c370f05d44fc745d8b10efc55ee8bf3","before":"f30f2cc6fc3e8e08d0e4ff86b2aca7ce8b30d7d5","commits":[{"sha":"a5b126bdd9020f827f5cee2c122bca5ec00ccb81","author":{"email":"ed242ca90c571505354b1daf8e867bce1307c4d2@imag.fr","name":"Etienne Dublé"},"message":"Fix walt image cp sometimes not working.\n\nA docker container is started with a tar command allowing\nto receive files from stdin.\nThe code waits for this container to be started, then waits\nfor its completion (i.e. docker wait), then commits the\ncontainer changes into the docker image.\n\nActually we were just waiting for the container to exist,\nthus it was sometimes not running yet. So 'docker wait'\nwas returning immediately (i.e. the container was already\n'stopped' because it was not started yet), and the commit\nwas occurring before the changes were really done in the\ncontainer.\nWe now really wait for the container to be started.\n\nFor safety, sync commands are also added after the tar\nis done.\nAnd the popen object running 'docker run' was a local\nvariable, it is not the case anymore: we save it as an\nattribute of the eventloop listener in order to ensure\nthat it will not be garbage-collected (just in case it\nwould close the stdin/stdout streams in this case...)","distinct":true,"url":"https://api.github.com/repos/drakkar-lig/walt-python-packages/commits/a5b126bdd9020f827f5cee2c122bca5ec00ccb81"},{"sha":"28333ed9b6b1790fbd69b68f28081102331d0a4a","author":{"email":"ed242ca90c571505354b1daf8e867bce1307c4d2@imag.fr","name":"Etienne Dublé"},"message":"walt image [shell|cp]: notify nodes are rebooting.","distinct":true,"url":"https://api.github.com/repos/drakkar-lig/walt-python-packages/commits/28333ed9b6b1790fbd69b68f28081102331d0a4a"},{"sha":"577567e5a66fd2099a1bbe62633afd798b2d92ec","author":{"email":"ed242ca90c571505354b1daf8e867bce1307c4d2@imag.fr","name":"Etienne Dublé"},"message":"walt image [shell|cp]: wait for docker container 'die' event.\n\nThis commit fixes synchrnonization issues that could cause\n'walt image [shell|cp]' commands not to work correctly.\nWe know listen for docker events in order to ensure that the\ncontainer responsible for modifying the docker image was run\nand completed its execution.","distinct":true,"url":"https://api.github.com/repos/drakkar-lig/walt-python-packages/commits/577567e5a66fd2099a1bbe62633afd798b2d92ec"},{"sha":"7e8a1e5e2c370f05d44fc745d8b10efc55ee8bf3","author":{"email":"ed242ca90c571505354b1daf8e867bce1307c4d2@imag.fr","name":"Etienne Dublé"},"message":"Stop the DHCP client on cleanup.\n\nSince the server code starts the DHCP client, it should\nalso stop it.\nMoreover, for an unknown reason, if we stop the server process\nand leave the DHCP client alive, the client starts listening\non TCP port 12347, which is the port the WalT server uses for\nits RPyC server. Therefore restarting the daemon fails unless\nwe kill the DHCP client.\nBy killing the client on cleanup, we fix this.\nNote that even if we stop the DHCP client, we prevent it from\nremoving the network configuration associated to the lease\n(IP address and default route), otherwise it would prevent us\nto reach the server through the external network when the WalT\ndaemon is stopped.","distinct":true,"url":"https://api.github.com/repos/drakkar-lig/walt-python-packages/commits/7e8a1e5e2c370f05d44fc745d8b10efc55ee8bf3"}]}