{"push_id":1998468748,"size":14,"distinct_size":13,"ref":"refs/heads/mpuncel/daemon-set-status","head":"b50d43698d79e2123106b632f9e59b568af93656","before":"72999800c2f0717c07145b63d3d875ed695a5a86","commits":[{"sha":"b0d4f91ff6bb9aa2a107e28a38ff492e999824b2","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"daemon set farm: add configurable pod blacklist and whitelist\n\nThis will allow farms to be configured such that they only handle\ncertain pod IDs. This is useful for creating staging environments where\nonly a certain pod ID is serviced and can be excluded from the\nproduction environments.","distinct":false,"url":"https://api.github.com/repos/mpuncel/p2/commits/b0d4f91ff6bb9aa2a107e28a38ff492e999824b2"},{"sha":"030655b5722fa4bc3f30658f20b1358831819dec","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"Improve transactional locking API\n\nThis commit reworks the way LockTxn() works on a consul session. Prior\nto this commit you had to pass in 3 different context.Context values\neach with an inner consul transaction, and LockTxn() would load each of\nthem up with the respective consul operations that enable locking,\nunlocking, and checking that the lock is held within consul\ntransactions.\n\nIn practice this is very cumbersome since callers acquiring locks must\nprepare all of the contexts ahead of time, and preserve the contexts and\ntheir cancellations everywhere where they are needed.\n\nThis commit changes the LockTxn() function to only take a single context\nintended for locking the key and returns an interface which can be used\nto load up contexts with unlocking and check-locking operations\nrespectively.\n\nThis will means callers can simply pass around a reference to that\ninterface and then create contexts on the fly when needed for unlocking\nor checking that a lock is held within a transaction.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/030655b5722fa4bc3f30658f20b1358831819dec"},{"sha":"37b54ef75b0920ba283db0478c99bdc9bf0dfe56","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"Fix a daemon set farm test that was flakey\n\nThere are some places in the daemon set tests where it will make a\nmutation to a daemon set and then repeatedly poll the daemon set farm's\ninternal data structures to make sure that the daemon set mutation is\nreflected.\n\nThis commit found a place where the condition was set up improperly to\nlook for the the daemon set BEFORE the mutation was applied, which\nsometimes would succeed if the poll occurred fast enough that the\ninternal data structure didn't yet reflect the update. This commit fixes\nthat condition to work properly","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/37b54ef75b0920ba283db0478c99bdc9bf0dfe56"},{"sha":"cd512c647df00e7ee3d6e70ccea26e84f2d6a62a","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"Add LockForOwnershipTxn to dsstore\n\nThis will be useful for using transactions to lock daemon sets and\nadditionally having a base transaction to use to easily guarantee that\nfurther consul operations are only performed while the daemon set is\nstill locked.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/cd512c647df00e7ee3d6e70ccea26e84f2d6a62a"},{"sha":"6f610beca300d34f5350145540bb85ca07f41c52","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"ds farm: use transactions to lock daemon sets\n\nThis paves the way for using transactions to ensure that the daemon set\nfarm doesn't mutate anything in consul on behalf of a daemon set without\nensuring using consul transactions that it has a lock on that daemon\nset.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/6f610beca300d34f5350145540bb85ca07f41c52"},{"sha":"2db5519359c92c2748fbc4f348dc61b8cabafa43","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"store current replication in daemon sets\n\nThis will be used in order to periodically publish replication progress\nto the daemon set's status record in consul.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/2db5519359c92c2748fbc4f348dc61b8cabafa43"},{"sha":"c664e6fe6063539ecc02ec19f7788416c53f3dbd","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"pkg/replication: add CompletedCount() to ask how many pods deployed\n\nThis will be used by daemon sets to poll progress for the current\nreplication in order to publish the progress to the daemon set's status.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/c664e6fe6063539ecc02ec19f7788416c53f3dbd"},{"sha":"994edcd492ac22b65e670daf90d599bfec0ac2c0","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"protect min health and manifest with mutex in daemon sets","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/994edcd492ac22b65e670daf90d599bfec0ac2c0"},{"sha":"f36069c967fa4e7d0dea34557a06a1332a94f06a","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"fix potential panic in pkg/ds/farm_test.go\n\nThe panic happened because t.Error() might be called from a goroutine\nspawned by newTestSession() after the test function has exited. This is\nfixed by adding a defer session.Destroy() call in the test function\nwhich guarantees that the renewal error channel will be closed before\nthe function exits, which makes it impossible for an error to come down\nthat channel.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/f36069c967fa4e7d0dea34557a06a1332a94f06a"},{"sha":"a088a64c87c50bf988d3b1325ab41e6f401860e4","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"Add daemon set status store\n\nCurrently it has operations for fetching daemon set status and also CAS\ninside of a consul transaction.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/a088a64c87c50bf988d3b1325ab41e6f401860e4"},{"sha":"5720c588f4683dbf3bb907a2cc85dba7d24f1c32","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"add SetTxn to status store and daemon set status store","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/5720c588f4683dbf3bb907a2cc85dba7d24f1c32"},{"sha":"19616a24efe83eb33210492656c1c42029c743ae","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"Make daemon sets periodically publish status\n\nThis commit makes each daemon set check for status changes every 15\nseconds and if there is a difference, writes it to consul. This will\ngive a central place for rollout progress to be easily looked up.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/19616a24efe83eb33210492656c1c42029c743ae"},{"sha":"f4e513334e71c6a322a87b99a4f481c32f8dbd09","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"make the status writing interval configurable","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/f4e513334e71c6a322a87b99a4f481c32f8dbd09"},{"sha":"b50d43698d79e2123106b632f9e59b568af93656","author":{"name":"Michael Puncel","email":"bd32ba719f8cdb86af52c928dd2db9e4b6e0f145@squareup.com"},"message":"Fix test issue where a context could be mutated in farm\n\nThis would create a situation where adding operations to a similarly\nnamed variable context would add operations to the context being used in\nthe farm, which could cause operations to fail and the test to fail.","distinct":true,"url":"https://api.github.com/repos/mpuncel/p2/commits/b50d43698d79e2123106b632f9e59b568af93656"}]}
{"actor":{"display_login":"mpuncel"}}