{"action":"created","issue":{"url":"https://api.github.com/repos/docker/libnetwork/issues/864","labels_url":"https://api.github.com/repos/docker/libnetwork/issues/864/labels{/name}","comments_url":"https://api.github.com/repos/docker/libnetwork/issues/864/comments","events_url":"https://api.github.com/repos/docker/libnetwork/issues/864/events","html_url":"https://github.com/docker/libnetwork/issues/864","id":126008492,"number":864,"title":"Proposal: Enhancements to IPAM API","user":{"login":"johnbelamaric","id":9468083,"avatar_url":"https://avatars.githubusercontent.com/u/9468083?v=3","gravatar_id":"","url":"https://api.github.com/users/johnbelamaric","html_url":"https://github.com/johnbelamaric","followers_url":"https://api.github.com/users/johnbelamaric/followers","following_url":"https://api.github.com/users/johnbelamaric/following{/other_user}","gists_url":"https://api.github.com/users/johnbelamaric/gists{/gist_id}","starred_url":"https://api.github.com/users/johnbelamaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnbelamaric/subscriptions","organizations_url":"https://api.github.com/users/johnbelamaric/orgs","repos_url":"https://api.github.com/users/johnbelamaric/repos","events_url":"https://api.github.com/users/johnbelamaric/events{/privacy}","received_events_url":"https://api.github.com/users/johnbelamaric/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-01-11T18:37:35Z","updated_at":"2016-01-11T18:44:03Z","closed_at":null,"body":"I have been looking at the IPAM API with respect to integrating with Infoblox IPAM. There are a few enhancements that would be nice to see:\r\n\r\n1) Inform IPAM of external port mappings. The idea here is to enable tracking of the external IP associated with a given container at a given point in time. IPAM here wouldn't really be providing any assignment of IPs, but rather just allowing the tracking of these associations within an external IPAM database. It can also be used as a hook for creating DNS entries in the organization-wide DNS.\r\n\r\n2) Extend the first point to actually request an available *external* IP for use by a container, assuming the host has many IPs. Something like \"-p available:80:80\" - delegate to the IPAM driver what IP is \"available\". Of course the first point is necessary for this so when the container goes away the IP is released.\r\n\r\n3) Enable the passing of key-value pairs from the command line into the IPAM driver at the time of network creation.\r\n\r\n4) At container run, enable the selection of a network by passing in key/value pairs rather than explicitly choosing the network. The IPAM driver would use those key/value pairs to locate a specific, matching network.\r\n\r\nI imagine 1, 2, and 4 would all be optional driver capabilities.\r\n\r\nJohn"},"comment":{"url":"https://api.github.com/repos/docker/libnetwork/issues/comments/170648945","html_url":"https://github.com/docker/libnetwork/issues/864#issuecomment-170648945","issue_url":"https://api.github.com/repos/docker/libnetwork/issues/864","id":170648945,"user":{"login":"johnbelamaric","id":9468083,"avatar_url":"https://avatars.githubusercontent.com/u/9468083?v=3","gravatar_id":"","url":"https://api.github.com/users/johnbelamaric","html_url":"https://github.com/johnbelamaric","followers_url":"https://api.github.com/users/johnbelamaric/followers","following_url":"https://api.github.com/users/johnbelamaric/following{/other_user}","gists_url":"https://api.github.com/users/johnbelamaric/gists{/gist_id}","starred_url":"https://api.github.com/users/johnbelamaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnbelamaric/subscriptions","organizations_url":"https://api.github.com/users/johnbelamaric/orgs","repos_url":"https://api.github.com/users/johnbelamaric/repos","events_url":"https://api.github.com/users/johnbelamaric/events{/privacy}","received_events_url":"https://api.github.com/users/johnbelamaric/received_events","type":"User","site_admin":false},"created_at":"2016-01-11T18:44:03Z","updated_at":"2016-01-11T18:44:03Z","body":"Awesome, thanks."}}