{"action":"created","issue":{"url":"https://api.github.com/repos/weaveworks/weave/issues/676","labels_url":"https://api.github.com/repos/weaveworks/weave/issues/676/labels{/name}","comments_url":"https://api.github.com/repos/weaveworks/weave/issues/676/comments","events_url":"https://api.github.com/repos/weaveworks/weave/issues/676/events","html_url":"https://github.com/weaveworks/weave/issues/676","id":77016330,"number":676,"title":"[ipam] allocate subnets","user":{"login":"rade","id":109109,"avatar_url":"https://avatars.githubusercontent.com/u/109109?v=3","gravatar_id":"","url":"https://api.github.com/users/rade","html_url":"https://github.com/rade","followers_url":"https://api.github.com/users/rade/followers","following_url":"https://api.github.com/users/rade/following{/other_user}","gists_url":"https://api.github.com/users/rade/gists{/gist_id}","starred_url":"https://api.github.com/users/rade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rade/subscriptions","organizations_url":"https://api.github.com/users/rade/orgs","repos_url":"https://api.github.com/users/rade/repos","events_url":"https://api.github.com/users/rade/events{/privacy}","received_events_url":"https://api.github.com/users/rade/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/weaveworks/weave/labels/feature","name":"feature","color":"009800"},{"url":"https://api.github.com/repos/weaveworks/weave/labels/[component/ipam]","name":"[component/ipam]","color":"bfe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-05-16T11:26:11Z","updated_at":"2015-10-08T13:08:33Z","closed_at":null,"body":"IPAM at present manages allocation of IP addresses in a given subnet (or, with #675, multiple given subnets). But determining these subnets is in itself an allocation problem, i.e. a user often won't care what specific subnet is used for an application, just that is distinct from others and sufficiently large to accommodate all their containers.\r\n\r\nDealing with this pushes us in the direction of symbolic subnets / application names. And probably consensus to manage their mapping to real subnets."},"comment":{"url":"https://api.github.com/repos/weaveworks/weave/issues/comments/146538248","html_url":"https://github.com/weaveworks/weave/issues/676#issuecomment-146538248","issue_url":"https://api.github.com/repos/weaveworks/weave/issues/676","id":146538248,"user":{"login":"rade","id":109109,"avatar_url":"https://avatars.githubusercontent.com/u/109109?v=3","gravatar_id":"","url":"https://api.github.com/users/rade","html_url":"https://github.com/rade","followers_url":"https://api.github.com/users/rade/followers","following_url":"https://api.github.com/users/rade/following{/other_user}","gists_url":"https://api.github.com/users/rade/gists{/gist_id}","starred_url":"https://api.github.com/users/rade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rade/subscriptions","organizations_url":"https://api.github.com/users/rade/orgs","repos_url":"https://api.github.com/users/rade/repos","events_url":"https://api.github.com/users/rade/events{/privacy}","received_events_url":"https://api.github.com/users/rade/received_events","type":"User","site_admin":false},"created_at":"2015-10-08T13:08:33Z","updated_at":"2015-10-08T13:08:33Z","body":"Somewhat related to #179.\r\n\r\nAlso, high-level description/UI from #242:\r\n\r\n> ````bash\r\nroot@a:~# weave run --name=pong.foo -d -ti ubuntu\r\nroot@a:~# weave run --name=pong.bar -d -ti ubuntu\r\nroot@a:~# weave run --name=.foo -ti ubuntu\r\n````\r\nTODO: flesh this out\r\n>\r\n> Name suffixes identify applications and thus subnets. Subnets are automatically allocated from a different free IP range than the default range (the range can also be specified as an extra argument to `weave launch`). All subnets are /24, though this too can be changed with a `weave launch` option. There's also a way (TBD) to have subnets of different size. Btw, some interesting scenarios arising here when different weave peers are launched with different options.\r\n>\r\n>The magic `.` prefix indicates that the container should be anonymous, i.e. be given a random name, not registered in DNS but still be part of the given application and hence being able to resolve unqualified names in it."}}