{"push_id":2170955636,"size":18,"distinct_size":18,"ref":"refs/heads/master","head":"30875c8580e3b11b972f76c2e8af70e4f36e7063","before":"6bcbd48019af426a51c8ab180d19629d654e1111","commits":[{"sha":"cfa5017571b8113b523db85d692f49a1b27c2f25","author":{"name":"Eli Lipsitz","email":"216443f65b6495a6b401378c175324a090e0c9b3@kelda.io"},"message":"ci: Change logs verification test to check for 'WARNING', not 'WARN'\n\nLogrus warning logs are labeled 'WARNING [...' -- this test previously\nchecked for the incorrect string 'WARN [...', causing the test\nto miss any warnings thrown by the minion.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/cfa5017571b8113b523db85d692f49a1b27c2f25"},{"sha":"d88071c11adee52932df999d7e42e8a7d533b0a1","author":{"name":"Eli Lipsitz","email":"216443f65b6495a6b401378c175324a090e0c9b3@kelda.io"},"message":"ci: Check daemon log output for errors\n\nThis modifies the 100-logs integration test to check the daemon log\noutput for errors in the same way it checks the minions' log output.\n\nSpecific types of log lines may be ignored by specifying a regex --\nthis is intended for benign errors so that they don't cause the\nintegration tests to fail while they're being addressed.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/d88071c11adee52932df999d7e42e8a7d533b0a1"},{"sha":"8a2d1c7235dd5812e35fe303a05314a5253a9e17","author":{"name":"Kay Ousterhout","email":"b24382cab176d509c779a1330a414e14ac480988@kelda.io"},"message":"cloud: Rename updateDBMachines to syncDBWithCloud\n\nThe existing function name was easily confused with the other\nfunction, planUpdates, which also updates the database (but does\nso based on the blueprint). This commit only performs a renaming,\nand does not include functional changes.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/8a2d1c7235dd5812e35fe303a05314a5253a9e17"},{"sha":"5a01cbb12538215cd504a19c421ff6363d242c6e","author":{"name":"Kay Ousterhout","email":"b24382cab176d509c779a1330a414e14ac480988@kelda.io"},"message":"cloud: Rename planUpdates to syncDBWithBlueprint\n\nThis renaming is intended to make it more clear what the planned\nupdates, resulting from this function, are caused by. This commit\ndoes not include any functional changes, and only does a renaming.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/5a01cbb12538215cd504a19c421ff6363d242c6e"},{"sha":"fa703ecccf8278ffe68550db9365575c60470655","author":{"name":"Kay Ousterhout","email":"b24382cab176d509c779a1330a414e14ac480988@kelda.io"},"message":"cloud: Rename dbmi(s) and bpmi(s)\n\nThese names caused confusion for two recent readers of this\ncode because it wasn't obvious what the \"i\" stood for. This\ncommit uses longer, more descriptive names.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/fa703ecccf8278ffe68550db9365575c60470655"},{"sha":"f8a9171f67c5604067679a88bc98fbab4164d291","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"cloud: Don't assign floating IPs until machine role is known\n\nBefore this commit, when booting a cluster with a floating IP, we would\nessentially pick a machine with a random role to assign the IP. This was\nbecause of the delay between booting a machine, and finding out the\nmachine's role.\n\nThis commit makes it so we don't attempt to assign floating IPs before\nwe learn the machine's role.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/f8a9171f67c5604067679a88bc98fbab4164d291"},{"sha":"ffb069b9d6de5b79ecd803242b6d256b86b07c1f","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"cloud: Prioritize role matches over floating IP\n\nBefore, the cloud join would sometimes prioritize matching machines with\nthe same floating IP over machines with the same role. This wouldn't\nhappen if the roles were explicitly different (Master vs Worker), but\nthere is a period of time when the role is unknown to the cloud, and in\nthat case. This resulted in a bug where machines would be unnecessarily\ndestroyed when there was a master and a worker, but one had not\nconnected yet.\n\nConsider the following join:\nIn the blueprint:\n- A Worker with a floating IP.\n- A Master.\n\nIn the cloud:\n- A Master-ToBe with the desired floating IP, but that had not yet connected\nback to the daemon, so its role is \"None\".\n- A Worker without a floating IP.\n\nThe old join would pair the blueprint Worker with the Master-ToBe since\nthe floating IPs matched. Then, the remaining machines would be unable\nto be paired since they are a Master and a Worker. Therefore, the cloud\nwould destroy the Worker, and boot another Master.\n\nThis commit fixes this by making machines that have matching roles a\nbetter match than machines that only have matching floating IPs.\nMachines that have the right role and floating IP are matched even\nhigher to avoid arbitrarily reassigning floating IPs between machines\nwith the same role.\n\nNote that although the previous commit that delays assigning floating\nIPs until the roles are known should make it so this issue doesn't arise\nwhen the machines are first booting, it was still a problem when the\ndaemon is started with machines already running in the cloud.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/ffb069b9d6de5b79ecd803242b6d256b86b07c1f"},{"sha":"a770b5aae8045fbc1a59505f3719eb2bd4c30ee2","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Add a floating IP to the base infrastructure\n\nThis way, the code that sets up floating IPs when the machines are first\nbooting gets exercised. The floating IP test was also changed to not add\na new floating IP, but just to assign the Nginx container to the\nfloating IP set by the base infrastructure.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/a770b5aae8045fbc1a59505f3719eb2bd4c30ee2"},{"sha":"997fbc557d6d7637826c220918702494c5dc1119","author":{"name":"Kay Ousterhout","email":"b24382cab176d509c779a1330a414e14ac480988@kelda.io"},"message":"cloud: Make provider initialization more robust\n\nThis commit makes two related changes to the way providers are\ninitialized:\n(1) Continuously re-try to initialize providers when initialization\nfails, so that the Daemon can connect to a provider if, for example, a\nuser adds credentials in the correct location after the daemon has\nalready started. This functionality used to exist\n(https://github.com/kelda/kelda/commit/dd11b5b060b8af08d183a29f3f2ca16c412848d1)\nbut was removed when the cloud code was recently refactored.\n(2) Log an error message (rather than a debug message) when a provider\nthat is used by the current blueprint cannot be initialized. This\nfixes a problem where, unless the user had debug logging on, a user\ncould run a blueprint that references a provider that isn't properly\nconfigured, and the daemon would silently fail.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/997fbc557d6d7637826c220918702494c5dc1119"},{"sha":"6b625544232e16778e4047974ce86a81a17f0a8e","author":{"name":"Kay Ousterhout","email":"b24382cab176d509c779a1330a414e14ac480988@kelda.io"},"message":"cloud: Move desiredMachines to cloud.go\n\nThis function is now used by join.go and cloud.go, so it makes\nsense for it to be in cloud.go rather than with the join-specific\nfunctions in join.go.\n\nMaking this change required explicitly setting the admin key in\none of the join tests, because that test assumes the admin key is\nempty, and with this move, the admin key will be set (by the test\nfor desiredMachines) before that join test runs.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/6b625544232e16778e4047974ce86a81a17f0a8e"},{"sha":"aca6695e99a862c16b70f2322e761526167c946d","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Parallelize outbound public test\n\nThe lack of parallelization was a bit slow at scale Furthermore, it\nprevented us from increasing the connection timeout. Because the test\nalso checks that connections that should not succeed actually fail, the\nnon-parallelized version of the test spent\nnumberOfUnconnectedContainers*timeout seconds not doing any useful work.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/aca6695e99a862c16b70f2322e761526167c946d"},{"sha":"cd29ada71885203b2a9f50ecab81b83a470ef1c2","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Increase timeout for outbound public test\n\nTwo seconds is a little low, and might be exceeded if the remote server\nis having problems.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/cd29ada71885203b2a9f50ecab81b83a470ef1c2"},{"sha":"16cb1ae4abd7f8177f3541ae292fa7a764a54c3f","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Use curl to fetch outbound public\n\nCurl has more features than the version of wget packaged in the alpine\nimage. It has a verbose mode, and doesn't automatically follow redirects\n(which is helpful when fetching hosts that automatically redirect to the\nHTTPS version).","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/16cb1ae4abd7f8177f3541ae292fa7a764a54c3f"},{"sha":"258f070ee95083faf982b1960b986fee0b917488","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Try more than one host when testing outbound connections\n\nBefore, we only tried connecting to Google. Attempting to connect to\nWikipedia as well will give us useful information about whether failures\nare transient.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/258f070ee95083faf982b1960b986fee0b917488"},{"sha":"44150d34c21e9727571d4cd3f9fa2c5bc23557e0","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Pull blueprint getter helper into util\n\nAn upcoming test will also make use of it.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/44150d34c21e9727571d4cd3f9fa2c5bc23557e0"},{"sha":"8ce57721ba4dd2308e6557ba8226244bcac5f6b5","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"ci: Block infrastructure setup using test rather than blueprint\n\nBefore, we made the infrastructure setup test suite block until the\nmachines were ready by placing a container that accepts inbound public\nconnections on every worker. However, this resulted in WARNING logs in the\nleader if it tried to schedule the containers before all the workers had\nconnected to it because it would not think there were enough machines to\nrun all the containers.\n\nThis commit changes the blueprint to simply deploy the machines, and\nmakes the integration test check whether the machines are all connected.\nThis will remove the WARNING log message, and also more directly checks\nwhether the machines are ready.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/8ce57721ba4dd2308e6557ba8226244bcac5f6b5"},{"sha":"88e62dd1d0264fa451edbddd591f22a11c06dc7d","author":{"name":"Eli Lipsitz","email":"216443f65b6495a6b401378c175324a090e0c9b3@kelda.io"},"message":"cli: Make 'kelda stop' prompt the user for confirmation\n\nPreviously, the stop command would immediately tell the daemon to halt\nall of the machines or containers without confirming with the user that\nthis is the intended action. Now, the stop command warns the user if\nrunning 'kelda stop' will terminate any containers or machines.\n\nSome logic was slightly simplified as well, which caused 'stop' to not\nbother deploying an empty blueprint if it was already empty, which had\nthe added effect of requiring some of the previously existing tests to\nbe slightly changed.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/88e62dd1d0264fa451edbddd591f22a11c06dc7d"},{"sha":"30875c8580e3b11b972f76c2e8af70e4f36e7063","author":{"name":"Kevin Lin","email":"4f8256ed59811c7dd7ca32acad9a4d5484fc1d6c@kelda.io"},"message":"cloudcfg: Retry installing Docker on failure\n\nDocker sometimes fails to install on DigitalOcean due to network issues.\nThis resulted in the machine being useless to the cluster since the\nminion runs on Docker.","distinct":true,"url":"https://api.github.com/repos/aegamesi/kelda/commits/30875c8580e3b11b972f76c2e8af70e4f36e7063"}]}
{"actor":{"display_login":"aegamesi"}}