{"push_id":613196558,"size":31,"distinct_size":31,"ref":"refs/heads/22_ip_allocation_b","head":"00b87e245dde5b022f1a5ae87a3d9318fcfc28ba","before":"637bcf315f21ee2536b9e364dfbd8db6e805946b","commits":[{"sha":"8d12810446cee59578485bd60fb4227ed59b12e9","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Move weave script into tools image with its deps\n\nThis rearrangement means that the `weave` command can be used\nremotely; and, as a side-effect, the script that does all the work is\nusing executables in its own filesystem, rather than invoking them via\ndocker.\n\nThe remote weavetools is given a terminal so it can be interrupted.\n\nWith the flag `--local`, the script will assume all its dependencies\nare available and run then and there. Without the flag, it will run\nvia the weavetools image (adding the flag to the invocation).\n\nA choice here is whether to base the tools image on scratch and add\nall the deps, or base it on something else. I've used alpine linux,\nwhich itself is based on busybox. This gives us the usual tools (sed\netc.) while keeping the image size small.\n\nAdding the docker binary adds substantially to the image size, but it\ncannot always be e.g., bind-mounted. To mitigate this image bloat, we\nmight build or otherwise get a client-only docker executable, or write\na special-purpose client, or indeed rewrite the driver script and use\na client library.\n\nThis also makes the dockerhub user part of the image names\nparameterised, to make it easier to test the release process in full.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/8d12810446cee59578485bd60fb4227ed59b12e9"},{"sha":"0c8d9e8c038cd11b51c21e9b230419979415b611","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Use this form of apk, since the shortcut masks errors\n\n`apk-install` is a script that runs apk then tidies up. The problem is\nthat it doesn't exit with an error if the install fails, which means\nthat if some packages are unavailable at the time of building, it will\nstill all go ahead.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/0c8d9e8c038cd11b51c21e9b230419979415b611"},{"sha":"019eeab896613d09639a7b90fef0768babeeaa49","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Pass environment variables to remote invocations","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/019eeab896613d09639a7b90fef0768babeeaa49"},{"sha":"b9353cdee4eded4c97fc3f8c1e926018e8fe16e5","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Mention using weave remotely in readme","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/b9353cdee4eded4c97fc3f8c1e926018e8fe16e5"},{"sha":"959c46b62a8761dd9edbd5f7fe032d0af6c1427c","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Version the weavetools image run remotely","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/959c46b62a8761dd9edbd5f7fe032d0af6c1427c"},{"sha":"795d0edc738d3e305dd64a8e2bb8e7979ea36e7f","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"weavetools -> weaveexec\n\nThis is to make a visible break with previous releases, such that a\nnewly downloaded weave script will definitely work.\n\nWithout this change in name, an existing weavetools image that doesn't\ninclude the script might be invoked, resulting in a confusing message\nfor the user.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/795d0edc738d3e305dd64a8e2bb8e7979ea36e7f"},{"sha":"9fd468d743b98f4066d9afc50b4bec806c7eefc4","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Use weave remotely in smoke tests instead of via SSH","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/9fd468d743b98f4066d9afc50b4bec806c7eefc4"},{"sha":"84ce0663f8ab6116cce1865e2cb9e735191d68cb","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Don't show env entries in command\n\nThe form of `docker -e` without an equals sign passes them along from\nthe environment without the value appearing in the command.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/84ce0663f8ab6116cce1865e2cb9e735191d68cb"},{"sha":"93f16d91ce79a24449c23791a336ab67d85af477","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Run `weave run` with the local docker\n\nWe want to be compatible with whatever docker the user has; `weave\nrun` is the only command that passes on arbitrary args to docker\n(i.e., that doesn't have a fixed set of docker features that it\nneeds).\n\nTo make this workable we still need to do some things on the remote\nhost: the IP attachment and figuring out the DNS settings (since those\nmay depend on the bridge IP).","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/93f16d91ce79a24449c23791a336ab67d85af477"},{"sha":"520c54f8dad1dad3c72319292fd5e540821e8a99","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Use a fixed (and old) version of the docker client\n\nAs noted in #388 comment 76958961, we need the docker client to be as\nold as possible while supporting what weave needs to do. At the minute\nthat means version 1.3.1.\n\nThe `apk` package index does not have old versions of docker, so the\nmost direct way of getting a docker executable is to download the\nspecific version from https://get.docker.com.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/520c54f8dad1dad3c72319292fd5e540821e8a99"},{"sha":"8e65c7127d827eb7ce49648e7ea43c643c221f84","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"rade"},"message":"Merge pull request #388 from squaremo/remote_weaving\n\nMove weave script into tools image with its deps\r\nand thus enable weaving on a remote docker\r\n\r\nCloses #312.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/8e65c7127d827eb7ce49648e7ea43c643c221f84"},{"sha":"e096b3bcd148ec2c70bd4fed06b24dd4d6645e5e","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"ignore weavexec/weave build artifact","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/e096b3bcd148ec2c70bd4fed06b24dd4d6645e5e"},{"sha":"f64876a64b9d558109a6f115458291f05228d08b","author":{"email":"97e4d5d0e400e5ad37382425ea95bde8b3933403@squaremobius.net","name":"Michael Bridgen"},"message":"Increment the server port for each test\n\nOccasionally the test servers overlap and the test will fail with\n\"address already in use\".","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/f64876a64b9d558109a6f115458291f05228d08b"},{"sha":"aa1dd47bd2299366fd25d28bacd79d1f9198398c","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"accumulate gossip data until it can be sent\nIntroduce an intermediary - GossipSender - between GossipChannel and\nConnection. This accumulates gossip data (now represented by the new\nGossipData interface) from the former until it can be passed onto the\nlatter, allowing the former to proceed when the latter may be blocked\non i/o.\n\nThis\n\n1) prevents deadlocks that arise from cycles in the communication\ntopology\n\n2) improves performance by allowing GossipChannel and its calling code\nto proceed when connection i/o is blocked\n\n3) improves performance by accumulating GossipData - the accumulated\ndata often is considerably more compact than the sum of all the\naccumulated bits, and it is transmitted in a single communication\nevent.\n\nIn order to support accumulation, the GossipData interface has a Merge\nmethod. Furthermore, encoding is deferred until the data can actually\nbe sent, since accumulation would be hard/impossible to encoded\ndata. This required changes on some interfaces, most notably Gossiper.\n\nThe implementation of GossipData for topology gossip is\nTopologyGossipData. It carries a reference to Peers and a set of\nPeerNames, indexing into Peers and referencing the Peer entries which\nhave changed. Previously updates were represented as a list of Peer\nentries. The indirection via PeerNames allows Encode to omit entries\nwhich have been removed. The change in representation required changes\nto the signature of some methods on Peers.\n\nNote that all the above only applies to the \"periodic gossip\" portion\nof the Gossiper API, which topology gossip in fact uses for *all*\ngossip. GossipUnicast and GossipBroadcast are unchanged, but could\nconceivably receive the same treatment in the future.\n\nFixes #445.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/aa1dd47bd2299366fd25d28bacd79d1f9198398c"},{"sha":"d7959d8ca56b2722aebc32fb647c4df9f9e5c9c2","author":{"email":"b758fc1d1058bf3971637fc70c4f78c0bff3019e@gmail.com","name":"Adam Harrison"},"message":"Add outbound and established flags to connection structure diagram","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/d7959d8ca56b2722aebc32fb647c4df9f9e5c9c2"},{"sha":"70a824ea07a4457f3695e44b1bc157d70696346f","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"rade"},"message":"Merge pull request #477 from awh/fix_how_it_works_doc\n\nAdd outbound and established flags to connection structure diagram","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/70a824ea07a4457f3695e44b1bc157d70696346f"},{"sha":"0bcadb1e4e78f54e73f007ee5b52377e6a943852","author":{"email":"de652539b24efdf404b95def4635bf3dbfd846aa@gmail.com","name":"Bryan Boreham"},"message":"Merge pull request #476 from rade/445-accumulate-gossip\n\nLGTM.  Fixes #445.","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/0bcadb1e4e78f54e73f007ee5b52377e6a943852"},{"sha":"9dcec8ca164497b80ef1f7a4873017e06188c830","author":{"email":"95275619247e0a0a4a5f7a8d5144a85ee8f50dbb@gmail.com","name":"Alvaro Saurin"},"message":"basic DNS cache\nunit tests","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/9dcec8ca164497b80ef1f7a4873017e06188c830"},{"sha":"7bd0f7dbae0e93ea1120b70cbb9d5ee7f7b20fce","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"don't modify state in ConnectionMaker.String\nit's just wrong","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/7bd0f7dbae0e93ea1120b70cbb9d5ee7f7b20fce"},{"sha":"8c3b161bd319fa0ce43af36469ac115a51ed53fc","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"cosmetic","distinct":true,"url":"https://api.github.com/repos/tomwilkie/weave/commits/8c3b161bd319fa0ce43af36469ac115a51ed53fc"}]}