)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"32e6fc9be035fb4ad9ebddb6069ff1d762dbc56a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Document Neutron address scopes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Disclaimer:  This is a work in progress.  The content in this commit"},{"line_number":10,"context_line":"was not originally written for the networking guide.  I wrote it as an"},{"line_number":11,"context_line":"introduction to the feature a while ago and thought I could adapt it"},{"line_number":12,"context_line":"for the networking guide.  For now, all I\u0027ve done is to convert the"},{"line_number":13,"context_line":"content to .rst."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"I\u0027m hoping reviewers can give me some direction at a high level for"},{"line_number":16,"context_line":"how I can make this content better in the context of the networking"},{"line_number":17,"context_line":"guide."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I0abc0c08cc86b9119b4431dedd19e19681c59bfc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_3f3c082f","line":17,"range":{"start_line":9,"start_character":0,"end_line":17,"end_character":6},"updated":"2016-03-28 17:58:31.000000000","message":"Remove this, it is no longer relevant.","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"}],"doc/networking-guide/source/adv-config-address-scopes.rst":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4a7f814c612ed52c1ebc76582772fb32b6db41d3","unresolved":false,"context_lines":[{"line_number":34,"context_line":"viable anywhere else."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"So, what if I want to route tenant networks on the external network?"},{"line_number":37,"context_line":"First tenants have to disable NAT on their routers.  Second, I have to"},{"line_number":38,"context_line":"trust that tenants are all using the right addresses."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"With address scopes, I can set up the address scopes for tenants to pull"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_0bb1d08f","line":37,"range":{"start_line":37,"start_character":5,"end_line":37,"end_character":6},"updated":"2016-03-02 04:10:06.000000000","message":"missing comma here?","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"1c2265b51f21a162795a9ab7925cfb2f0a762c4d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"viable anywhere else."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"So, what if I want to route tenant networks on the external network?"},{"line_number":37,"context_line":"First tenants have to disable NAT on their routers.  Second, I have to"},{"line_number":38,"context_line":"trust that tenants are all using the right addresses."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"With address scopes, I can set up the address scopes for tenants to pull"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da0c15f0_20bcb504","line":37,"range":{"start_line":37,"start_character":5,"end_line":37,"end_character":6},"in_reply_to":"7af24918_0bb1d08f","updated":"2016-03-25 21:47:07.000000000","message":"Done","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4a7f814c612ed52c1ebc76582772fb32b6db41d3","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   list address scopes and you can\u0027t show details.  It exists only"},{"line_number":93,"context_line":"   implicitly to catch all addresses which aren\u0027t explicitly scoped."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Demo"},{"line_number":96,"context_line":"----"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Even though Mitaka has not been released, you can play with this new"},{"line_number":99,"context_line":"feature as long as you have a recent pre-release copy of Neutron code"},{"line_number":100,"context_line":"running.  A new devstack should do but you might need to update your"},{"line_number":101,"context_line":"neutron client to something on the bleeding edge."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Let\u0027s give it a try..."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    NOTE: I trim a lot of irrelevant fields from the output of these"},{"line_number":106,"context_line":"    commands just for brevity and to avoid distracting you with too many"},{"line_number":107,"context_line":"    details."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Admin Commands"},{"line_number":110,"context_line":"______________"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_46f2add3","line":107,"range":{"start_line":95,"start_character":0,"end_line":107,"end_character":12},"updated":"2016-03-02 04:10:06.000000000","message":"This section might needs changes to make it suitable for networking guide.","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"1c2265b51f21a162795a9ab7925cfb2f0a762c4d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   list address scopes and you can\u0027t show details.  It exists only"},{"line_number":93,"context_line":"   implicitly to catch all addresses which aren\u0027t explicitly scoped."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Demo"},{"line_number":96,"context_line":"----"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Even though Mitaka has not been released, you can play with this new"},{"line_number":99,"context_line":"feature as long as you have a recent pre-release copy of Neutron code"},{"line_number":100,"context_line":"running.  A new devstack should do but you might need to update your"},{"line_number":101,"context_line":"neutron client to something on the bleeding edge."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Let\u0027s give it a try..."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    NOTE: I trim a lot of irrelevant fields from the output of these"},{"line_number":106,"context_line":"    commands just for brevity and to avoid distracting you with too many"},{"line_number":107,"context_line":"    details."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Admin Commands"},{"line_number":110,"context_line":"______________"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da0c15f0_c05859fd","line":107,"range":{"start_line":95,"start_character":0,"end_line":107,"end_character":12},"in_reply_to":"7af24918_46f2add3","updated":"2016-03-25 21:47:07.000000000","message":"Done","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4a7f814c612ed52c1ebc76582772fb32b6db41d3","unresolved":false,"context_lines":[{"line_number":313,"context_line":"    | network_id        | 438e4f26-0e45-4b26-9797-57d0bd817953 |"},{"line_number":314,"context_line":"    | subnetpool_id     | 14813344-d11a-4896-906c-e4c378291058 |"},{"line_number":315,"context_line":"    +-------------------+--------------------------------------+"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"We just need to connect up the router and we\u0027re ready to start looking"},{"line_number":318,"context_line":"at what it did."},{"line_number":319,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_2647a1bc","line":316,"updated":"2016-03-02 04:10:06.000000000","message":"Should we introduce the newly added attribute ipv4_address_scope and ipv6_address_scope here?","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"1c2265b51f21a162795a9ab7925cfb2f0a762c4d","unresolved":false,"context_lines":[{"line_number":313,"context_line":"    | network_id        | 438e4f26-0e45-4b26-9797-57d0bd817953 |"},{"line_number":314,"context_line":"    | subnetpool_id     | 14813344-d11a-4896-906c-e4c378291058 |"},{"line_number":315,"context_line":"    +-------------------+--------------------------------------+"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"We just need to connect up the router and we\u0027re ready to start looking"},{"line_number":318,"context_line":"at what it did."},{"line_number":319,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da0c15f0_406d6997","line":316,"in_reply_to":"7af24918_2647a1bc","updated":"2016-03-25 21:47:07.000000000","message":"Done","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4a7f814c612ed52c1ebc76582772fb32b6db41d3","unresolved":false,"context_lines":[{"line_number":386,"context_line":"    $ sudo ip route add 2001:db8:80d2:c4d3::/64 via 2001:db8::1"},{"line_number":387,"context_line":"    $ ping6 -c 1 2001:db8:80d2:c4d3:f816:3eff:fe52:b69f"},{"line_number":388,"context_line":"    1 packets transmitted, 0 received, 100% packet loss, time 0ms"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"In general, you\u0027ll find that if you use address scopes and the scope"},{"line_number":391,"context_line":"matches between networks then your pings (and other traffic) route right"},{"line_number":392,"context_line":"through.  If the scopes don\u0027t match between networks then the router"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_e6a01993","line":389,"updated":"2016-03-02 04:10:06.000000000","message":"Is it better with additional section to demo that traffic between internal networks of different scopes are not allowed?\n\nIn this case, it will be that instance1 can\u0027t reach instance2. It is a new change with address scope enabled.","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"1c2265b51f21a162795a9ab7925cfb2f0a762c4d","unresolved":false,"context_lines":[{"line_number":386,"context_line":"    $ sudo ip route add 2001:db8:80d2:c4d3::/64 via 2001:db8::1"},{"line_number":387,"context_line":"    $ ping6 -c 1 2001:db8:80d2:c4d3:f816:3eff:fe52:b69f"},{"line_number":388,"context_line":"    1 packets transmitted, 0 received, 100% packet loss, time 0ms"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"In general, you\u0027ll find that if you use address scopes and the scope"},{"line_number":391,"context_line":"matches between networks then your pings (and other traffic) route right"},{"line_number":392,"context_line":"through.  If the scopes don\u0027t match between networks then the router"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da0c15f0_3b4a28c6","line":389,"in_reply_to":"7af24918_e6a01993","updated":"2016-03-25 21:47:07.000000000","message":"This could be a follow on.  I\u0027m actually out of time for this now because there are some other pressing things I need to get done before the weekend.  So, I\u0027m going to punt this out.  Do you want to take a crack at writing that part in a follow-on patch?","commit_id":"477fa83e4db78c69f9253d5593453946a9608315"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Address Scopes"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_d25e5ce8","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":56},"updated":"2016-03-27 13:40:56.000000000","message":"one blank space.","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Address Scopes"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_3fa08890","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":56},"in_reply_to":"da0c15f0_d25e5ce8","updated":"2016-03-28 17:58:04.000000000","message":"Is this specified somewhere?  I learned in school to use two spaces after a sentence finishes before starting another.","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"},{"line_number":9,"context_line":"thing within which addresses are not allowed to overlap."}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_1259f4fe","line":6,"range":{"start_line":6,"start_character":27,"end_line":6,"end_character":29},"updated":"2016-03-27 13:40:56.000000000","message":"ditto.","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"},{"line_number":9,"context_line":"thing within which addresses are not allowed to overlap."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_dfb50cd1","line":6,"range":{"start_line":6,"start_character":27,"end_line":6,"end_character":29},"in_reply_to":"da0c15f0_1259f4fe","updated":"2016-03-28 17:58:04.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"},{"line_number":9,"context_line":"thing within which addresses are not allowed to overlap."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Why you need them"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_f25ba0f4","line":8,"range":{"start_line":8,"start_character":49,"end_line":8,"end_character":51},"updated":"2016-03-27 13:40:56.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"},{"line_number":9,"context_line":"thing within which addresses are not allowed to overlap."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Why you need them"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_1fb024dd","line":8,"range":{"start_line":8,"start_character":49,"end_line":8,"end_character":51},"in_reply_to":"da0c15f0_f25ba0f4","updated":"2016-03-28 17:58:04.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When Neutron began, users were expected to specify addresses on their"},{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_d205bcc2","line":15,"range":{"start_line":15,"start_character":26,"end_line":15,"end_character":28},"updated":"2016-03-27 13:40:56.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Why you need them"},{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When Neutron began, users were expected to specify addresses on their"},{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_72ff90aa","line":15,"range":{"start_line":14,"start_character":61,"end_line":15,"end_character":3},"updated":"2016-03-27 13:40:56.000000000","message":"s/on their own/by themselves/g","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Why you need them"},{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When Neutron began, users were expected to specify addresses on their"},{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_9fc43441","line":15,"range":{"start_line":14,"start_character":61,"end_line":15,"end_character":3},"in_reply_to":"da0c15f0_72ff90aa","updated":"2016-03-28 17:58:04.000000000","message":"These are synonyms as far as I\u0027m concerned.  Can you explain why one should prefer one over the other?","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When Neutron began, users were expected to specify addresses on their"},{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_ffb450d2","line":15,"range":{"start_line":15,"start_character":26,"end_line":15,"end_character":28},"in_reply_to":"da0c15f0_d205bcc2","updated":"2016-03-28 17:58:04.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."},{"line_number":19,"context_line":"#. It made it impossible to know where addresses are viable."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The first limitation was solved with the addition of subnet pools in"},{"line_number":22,"context_line":"Kilo."}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_d2d3fc36","line":19,"range":{"start_line":19,"start_character":53,"end_line":19,"end_character":59},"updated":"2016-03-27 13:40:56.000000000","message":"available?","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."},{"line_number":19,"context_line":"#. It made it impossible to know where addresses are viable."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The first limitation was solved with the addition of subnet pools in"},{"line_number":22,"context_line":"Kilo."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_7f17a0ed","line":19,"range":{"start_line":19,"start_character":53,"end_line":19,"end_character":59},"in_reply_to":"da0c15f0_d2d3fc36","updated":"2016-03-28 17:58:04.000000000","message":"viable is correct.  For example, RFC 1918 addresses are not viable on the public internet.  Typically, addresses owned by Coke are not viable inside Pepsi\u0027s networks, etc.","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. code-block:: console"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    admin\u003e neutron address-scope-create --shared address-scope-ip6 6"},{"line_number":107,"context_line":"    Created a new address_scope:"},{"line_number":108,"context_line":"    +------------+--------------------------------------+"},{"line_number":109,"context_line":"    | Field      | Value                                |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_92f224d1","line":106,"range":{"start_line":106,"start_character":4,"end_line":106,"end_character":10},"updated":"2016-03-27 13:40:56.000000000","message":"Before run the following commands, soure the \"admin-openrc.sh\" file. And then \"s/admin\u003e/$/g\".","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. code-block:: console"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    admin\u003e neutron address-scope-create --shared address-scope-ip6 6"},{"line_number":107,"context_line":"    Created a new address_scope:"},{"line_number":108,"context_line":"    +------------+--------------------------------------+"},{"line_number":109,"context_line":"    | Field      | Value                                |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_ff13b00b","line":106,"range":{"start_line":106,"start_character":4,"end_line":106,"end_character":10},"in_reply_to":"da0c15f0_92f224d1","updated":"2016-03-28 17:58:04.000000000","message":"Are there documentation standards on how to show the prompt when showing console commands like this?  If so, could you point me to them?  In my experience, it is pretty common to show a different prompt when admin / root privileges are in play.  But, if there are defined standards then I\u0027m happy to follow those.\n\nWhat is admin-openrc.sh?  I\u0027ve never seen it.  Is it related to devstack\u0027s openrc file?  Wouldn\u0027t this be pre-supposing a little too much about how the operator does things?  I\u0027m not writing these instructions for devstack, I merely suggest that devstack might be a good environment on which to try them initially.\n\nThe only thing that is important to me here is that these commands need to be run as admin.  I don\u0027t want to make assumptions about how an operator might get admin privileges.  I sort of assume that the operator knows how to do that by now.  So, I tend to think that changing the prompt is all that\u0027s needed here.","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. code-block:: console"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    admin\u003e neutron address-scope-create --shared address-scope-ip4 4"},{"line_number":120,"context_line":"    Created a new address_scope:"},{"line_number":121,"context_line":"    +------------+--------------------------------------+"},{"line_number":122,"context_line":"    | Field      | Value                                |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_12b574ed","line":119,"range":{"start_line":119,"start_character":4,"end_line":119,"end_character":10},"updated":"2016-03-27 13:40:56.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. code-block:: console"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    admin\u003e neutron address-scope-create --shared address-scope-ip4 4"},{"line_number":120,"context_line":"    Created a new address_scope:"},{"line_number":121,"context_line":"    +------------+--------------------------------------+"},{"line_number":122,"context_line":"    | Field      | Value                                |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_5ff9fcc7","line":119,"range":{"start_line":119,"start_character":4,"end_line":119,"end_character":10},"in_reply_to":"da0c15f0_12b574ed","updated":"2016-03-28 17:58:04.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":".. code-block:: console"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    admin\u003e neutron subnetpool-create --address-scope address-scope-ip6 \\"},{"line_number":138,"context_line":"           --shared --pool-prefix 2001:db8:a583::/48 --default-prefixlen 64 \\"},{"line_number":139,"context_line":"           subnet-pool-ip6"},{"line_number":140,"context_line":"    Created a new subnetpool:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_52cfec7e","line":137,"range":{"start_line":137,"start_character":3,"end_line":137,"end_character":10},"updated":"2016-03-27 13:40:56.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":".. code-block:: console"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    admin\u003e neutron subnetpool-create --address-scope address-scope-ip6 \\"},{"line_number":138,"context_line":"           --shared --pool-prefix 2001:db8:a583::/48 --default-prefixlen 64 \\"},{"line_number":139,"context_line":"           subnet-pool-ip6"},{"line_number":140,"context_line":"    Created a new subnetpool:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_3ff6c8d7","line":137,"range":{"start_line":137,"start_character":3,"end_line":137,"end_character":10},"in_reply_to":"da0c15f0_52cfec7e","updated":"2016-03-28 17:58:04.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"cf14e7e7816535bd5d618074465a152fb5c28271","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":".. code-block:: console"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    admin\u003e neutron subnetpool-create --address-scope address-scope-ip4 \\"},{"line_number":156,"context_line":"           --shared --pool-prefix 203.0.113.0/21 --default-prefixlen 26 \\"},{"line_number":157,"context_line":"           subnet-pool-ip4"},{"line_number":158,"context_line":"    Created a new subnetpool:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da0c15f0_72c4b05e","line":155,"range":{"start_line":155,"start_character":4,"end_line":155,"end_character":10},"updated":"2016-03-27 13:40:56.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"60d1507bef3191a5e6e677c7d5a31a34bdbddbb9","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":".. code-block:: console"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    admin\u003e neutron subnetpool-create --address-scope address-scope-ip4 \\"},{"line_number":156,"context_line":"           --shared --pool-prefix 203.0.113.0/21 --default-prefixlen 26 \\"},{"line_number":157,"context_line":"           subnet-pool-ip4"},{"line_number":158,"context_line":"    Created a new subnetpool:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba0121b8_7f0040ab","line":155,"range":{"start_line":155,"start_character":4,"end_line":155,"end_character":10},"in_reply_to":"da0c15f0_72c4b05e","updated":"2016-03-28 17:58:04.000000000","message":"ditto","commit_id":"8420b2178c3272b10c6471861b90097cbc2e3ce3"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Address Scopes"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_3847b71e","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":56},"updated":"2016-03-30 00:15:32.000000000","message":"Please remove all double spaces after the period. Apply this throughout  the two files you have here.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Address Scopes"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_78512fd8","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":18},"updated":"2016-03-30 00:15:32.000000000","message":"have been made available since*","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Address Scopes"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_c833a6f4","line":5,"range":{"start_line":5,"start_character":54,"end_line":5,"end_character":56},"in_reply_to":"ba0121b8_3847b71e","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Address Scopes"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_6838bad3","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":18},"in_reply_to":"ba0121b8_78512fd8","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"},{"line_number":9,"context_line":"thing within which addresses are not allowed to overlap."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Why you need them"},{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_58738b80","line":9,"range":{"start_line":8,"start_character":51,"end_line":9,"end_character":56},"updated":"2016-03-30 00:15:32.000000000","message":"Please consider revising this sentence? I can\u0027t quite understand your meaning here.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Address scopes are available since the Mitaka release.  They build from"},{"line_number":6,"context_line":"subnet pools added in Kilo.  While subnet pools provide a mechanism for"},{"line_number":7,"context_line":"controlling the allocation of addresses to subnets, address scopes"},{"line_number":8,"context_line":"provide a way to know where addresses are viable.  They are also the"},{"line_number":9,"context_line":"thing within which addresses are not allowed to overlap."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Why you need them"},{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_6866faed","line":9,"range":{"start_line":8,"start_character":51,"end_line":9,"end_character":56},"in_reply_to":"ba0121b8_58738b80","updated":"2016-05-11 20:17:30.000000000","message":"Ya, that wording isn\u0027t quite right.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Why you need them"},{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When Neutron began, users were expected to specify addresses on their"},{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_18de333f","line":13,"updated":"2016-03-30 00:15:32.000000000","message":"\"Neutron previously expected users to specify addresses on their own when creating subnets. This is called, Bring your own addressing (BYOA).\" - NOTE: If this is not an official term, remove.\n\"This is not ideal for the following reasons:\"","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Why you need them"},{"line_number":12,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When Neutron began, users were expected to specify addresses on their"},{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_083ace98","line":13,"in_reply_to":"ba0121b8_18de333f","updated":"2016-05-11 20:17:30.000000000","message":"Done.  (But, tell me what constitutes an official term.)","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."},{"line_number":19,"context_line":"#. It made it impossible to know where addresses are viable."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The first limitation was solved with the addition of subnet pools in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_f8e09ffc","line":18,"range":{"start_line":18,"start_character":6,"end_line":18,"end_character":21},"updated":"2016-03-30 00:15:32.000000000","message":"It was a burden on end users*","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":15,"context_line":"own when creating subnets.  I call this \"bring your own addressing\" or"},{"line_number":16,"context_line":"BYOA.  This is not ideal for a couple of reasons."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"#. It put a burden on end users to manage their address usage."},{"line_number":19,"context_line":"#. It made it impossible to know where addresses are viable."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The first limitation was solved with the addition of subnet pools in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_48405607","line":18,"range":{"start_line":18,"start_character":6,"end_line":18,"end_character":21},"in_reply_to":"ba0121b8_f8e09ffc","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d39cecadeb3719f166c0f26902ebdc743544fb34","unresolved":false,"context_lines":[{"line_number":21,"context_line":"The first limitation was solved with the addition of subnet pools in"},{"line_number":22,"context_line":"Kilo."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The second limitation effectively led to the decision to NAT everything"},{"line_number":25,"context_line":"between tenant networks and the *external network* in Neutron routers."},{"line_number":26,"context_line":"Think about it this way, the cloud operator has no way of knowing where"},{"line_number":27,"context_line":"the addresses on the tenant networks came from, so the only valid"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_d5ce8bb6","line":24,"updated":"2016-04-01 23:33:04.000000000","message":"I\u0027d make this introduction less about existing limitations, but about increasing the options at disposal of operators/users. For sure, the decision to NAT did not come from overlapping IPs, and for some users bringing their own addresses is a flexibility rather than a burden. So please, consider revise these statements.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":21,"context_line":"The first limitation was solved with the addition of subnet pools in"},{"line_number":22,"context_line":"Kilo."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The second limitation effectively led to the decision to NAT everything"},{"line_number":25,"context_line":"between tenant networks and the *external network* in Neutron routers."},{"line_number":26,"context_line":"Think about it this way, the cloud operator has no way of knowing where"},{"line_number":27,"context_line":"the addresses on the tenant networks came from, so the only valid"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_43083928","line":24,"in_reply_to":"ba0121b8_d5ce8bb6","updated":"2016-05-11 20:17:30.000000000","message":"I\u0027ll revise a bit to destress the limitations.  You\u0027re right, this isn\u0027t the place to bring them up and it is better to focus on the new options.\n\nBut, FWIW, I\u0027m sure I nailed the reason behind the decision to NAT on the head.  We have no way to know if you can safely route without NAT, so we NAT everything.  I didn\u0027t say it was because of overlapping IP addresses.  I said it was \"impossible to know where addresses are viable.\"","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The second limitation effectively led to the decision to NAT everything"},{"line_number":25,"context_line":"between tenant networks and the *external network* in Neutron routers."},{"line_number":26,"context_line":"Think about it this way, the cloud operator has no way of knowing where"},{"line_number":27,"context_line":"the addresses on the tenant networks came from, so the only valid"},{"line_number":28,"context_line":"assumption to make is that they\u0027re all private addresses and are not"},{"line_number":29,"context_line":"viable anywhere else."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_b8bd87d9","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":24},"updated":"2016-03-30 00:15:32.000000000","message":"Remove","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The second limitation effectively led to the decision to NAT everything"},{"line_number":25,"context_line":"between tenant networks and the *external network* in Neutron routers."},{"line_number":26,"context_line":"Think about it this way, the cloud operator has no way of knowing where"},{"line_number":27,"context_line":"the addresses on the tenant networks came from, so the only valid"},{"line_number":28,"context_line":"assumption to make is that they\u0027re all private addresses and are not"},{"line_number":29,"context_line":"viable anywhere else."}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_884ebe38","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":24},"in_reply_to":"ba0121b8_b8bd87d9","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"d82c24ae114341bb2811bc868b689c89b9b2cbba","unresolved":false,"context_lines":[{"line_number":25,"context_line":"between tenant networks and the *external network* in Neutron routers."},{"line_number":26,"context_line":"Think about it this way, the cloud operator has no way of knowing where"},{"line_number":27,"context_line":"the addresses on the tenant networks came from, so the only valid"},{"line_number":28,"context_line":"assumption to make is that they\u0027re all private addresses and are not"},{"line_number":29,"context_line":"viable anywhere else."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"So, what if I want to route tenant networks on the external network?"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_18b593ed","line":28,"range":{"start_line":28,"start_character":27,"end_line":28,"end_character":34},"updated":"2016-03-30 00:15:32.000000000","message":"Do not use contractions","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":25,"context_line":"between tenant networks and the *external network* in Neutron routers."},{"line_number":26,"context_line":"Think about it this way, the cloud operator has no way of knowing where"},{"line_number":27,"context_line":"the addresses on the tenant networks came from, so the only valid"},{"line_number":28,"context_line":"assumption to make is that they\u0027re all private addresses and are not"},{"line_number":29,"context_line":"viable anywhere else."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"So, what if I want to route tenant networks on the external network?"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_a81462e8","line":28,"range":{"start_line":28,"start_character":27,"end_line":28,"end_character":34},"in_reply_to":"ba0121b8_18b593ed","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"779a9bdc9778feb54ef28c1228c9d50863ef7169","unresolved":false,"context_lines":[{"line_number":28,"context_line":"assumption to make is that they\u0027re all private addresses and are not"},{"line_number":29,"context_line":"viable anywhere else."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"So, what if I want to route tenant networks on the external network?"},{"line_number":32,"context_line":"First, tenants have to disable NAT on their routers.  Second, I have to"},{"line_number":33,"context_line":"trust that tenants are all using the right addresses."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a061dce_b3449d74","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":8},"updated":"2016-04-05 09:18:14.000000000","message":"What can I do","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":28,"context_line":"assumption to make is that they\u0027re all private addresses and are not"},{"line_number":29,"context_line":"viable anywhere else."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"So, what if I want to route tenant networks on the external network?"},{"line_number":32,"context_line":"First, tenants have to disable NAT on their routers.  Second, I have to"},{"line_number":33,"context_line":"trust that tenants are all using the right addresses."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_68e55a07","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":8},"in_reply_to":"9a061dce_b3449d74","updated":"2016-05-11 20:17:30.000000000","message":"What do you mean?","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d39cecadeb3719f166c0f26902ebdc743544fb34","unresolved":false,"context_lines":[{"line_number":87,"context_line":"   list address scopes and you can\u0027t show details.  It exists only"},{"line_number":88,"context_line":"   implicitly to catch all addresses which aren\u0027t explicitly scoped."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Demo"},{"line_number":91,"context_line":"----"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Give it a try...  Starting with devstack is recommended."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_956b7385","line":90,"updated":"2016-04-01 23:33:04.000000000","message":"before diving in, is there any deployment config one should be aware of?","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":87,"context_line":"   list address scopes and you can\u0027t show details.  It exists only"},{"line_number":88,"context_line":"   implicitly to catch all addresses which aren\u0027t explicitly scoped."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Demo"},{"line_number":91,"context_line":"----"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Give it a try...  Starting with devstack is recommended."}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_83fce1b8","line":90,"in_reply_to":"ba0121b8_956b7385","updated":"2016-05-11 20:17:30.000000000","message":"I don\u0027t think so.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d39cecadeb3719f166c0f26902ebdc743544fb34","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    these commands just for brevity and to avoid distracting with too"},{"line_number":97,"context_line":"    many details."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Admin Commands"},{"line_number":100,"context_line":"______________"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"First, as admin, create a couple of shared address scopes:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_f55bcff4","line":99,"updated":"2016-04-01 23:33:04.000000000","message":"wanna list any prerequisites if necessary? You mention external networks and routers you have not created here.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    these commands just for brevity and to avoid distracting with too"},{"line_number":97,"context_line":"    many details."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Admin Commands"},{"line_number":100,"context_line":"______________"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"First, as admin, create a couple of shared address scopes:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_83ea21d9","line":99,"in_reply_to":"ba0121b8_f55bcff4","updated":"2016-05-11 20:17:30.000000000","message":"That\u0027s true, I do mention a few things that I assume to be there.  I\u0027d like some specific suggestions from others for how to work that in.  I\u0027ll add a couple of notes to the next revision.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d39cecadeb3719f166c0f26902ebdc743544fb34","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Admin Commands"},{"line_number":100,"context_line":"______________"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"First, as admin, create a couple of shared address scopes:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. code-block:: console"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_d535eba8","line":102,"updated":"2016-04-01 23:33:04.000000000","message":"I\u0027d give an objective to the commands you\u0027re about to perform. So what are you trying to achieve?","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Admin Commands"},{"line_number":100,"context_line":"______________"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"First, as admin, create a couple of shared address scopes:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. code-block:: console"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_c3754932","line":102,"in_reply_to":"ba0121b8_d535eba8","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d39cecadeb3719f166c0f26902ebdc743544fb34","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    | shared            | True                                 |"},{"line_number":169,"context_line":"    +-------------------+--------------------------------------+"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Now that these are created, create subnets on the external network."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":".. code-block:: console"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_5571db76","line":171,"updated":"2016-04-01 23:33:04.000000000","message":"which one?","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    | shared            | True                                 |"},{"line_number":169,"context_line":"    +-------------------+--------------------------------------+"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Now that these are created, create subnets on the external network."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":".. code-block:: console"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_88707e0c","line":171,"in_reply_to":"ba0121b8_5571db76","updated":"2016-05-11 20:17:30.000000000","message":"The one with the network id shown below.  I\u0027m not sure what you would suggest I change here.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d39cecadeb3719f166c0f26902ebdc743544fb34","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    | subnetpool_id     | e2c4f12d-307f-4616-a4df-203a45e6cb7f |"},{"line_number":203,"context_line":"    +-------------------+--------------------------------------+"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"This completes the portion of the demo that requires admin privileges."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Non-admin Tenant Commands"},{"line_number":208,"context_line":"_________________________"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba0121b8_b53af796","line":205,"updated":"2016-04-01 23:33:04.000000000","message":"recap what you\u0027ve done?","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    | subnetpool_id     | e2c4f12d-307f-4616-a4df-203a45e6cb7f |"},{"line_number":203,"context_line":"    +-------------------+--------------------------------------+"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"This completes the portion of the demo that requires admin privileges."},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Non-admin Tenant Commands"},{"line_number":208,"context_line":"_________________________"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_c89286f5","line":205,"in_reply_to":"ba0121b8_b53af796","updated":"2016-05-11 20:17:30.000000000","message":"Done","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"776035c4bbf8d86a46a46d4f3add69cc511406b6","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. code-block:: console"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    $ sudo ip route add 203.0.112.0/26 via 172.24.4.2"},{"line_number":366,"context_line":"    $ ping -c 1 203.0.112.3"},{"line_number":367,"context_line":"    1 packets transmitted, 1 received, 0% packet loss, time 0ms"},{"line_number":368,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a122d0e_ed5c124d","line":365,"range":{"start_line":365,"start_character":29,"end_line":365,"end_character":30},"updated":"2016-04-26 22:24:15.000000000","message":"why does the user need to change the route in VM? isn\u0027t the router itself doing this for user?","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9f93eba453eef625caf3d7315715430d4d040769","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":".. code-block:: console"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    $ sudo ip route add 203.0.112.0/26 via 172.24.4.2"},{"line_number":366,"context_line":"    $ ping -c 1 203.0.112.3"},{"line_number":367,"context_line":"    1 packets transmitted, 1 received, 0% packet loss, time 0ms"},{"line_number":368,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dab17558_c88f2673","line":365,"range":{"start_line":365,"start_character":29,"end_line":365,"end_character":30},"in_reply_to":"1a122d0e_ed5c124d","updated":"2016-05-11 20:17:30.000000000","message":"This is the route in the devstack, not the end user\u0027s VM.  We can now use BGP routing to fill this gap but I haven\u0027t really worked that in to the docs.","commit_id":"21bdf1b670d2e6d2f51b2944a1e573c88a74f891"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"0de012f9bfe8ecbda03ca0b43802f95732eb1233","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"OpenStack Networking preserves backwards compatibility with pre-Mitaka"},{"line_number":57,"context_line":"Networking. You will not notice any difference until you decide to begin using"},{"line_number":58,"context_line":"hem so you will not be forced to change your behavior."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"When subnets are not explicitly part of an explicit address scope.  They can be"},{"line_number":61,"context_line":"considered part of a catch all implicit scope which is different in a few ways"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_93f7c5f4","line":58,"range":{"start_line":58,"start_character":0,"end_line":58,"end_character":3},"updated":"2016-05-13 06:56:19.000000000","message":"them?","commit_id":"db7a694a663180d836534648d36f32926561f500"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"eb69c22b816b90f12aeeb99fbca89224661dc273","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Give it a try. Starting with devstack is recommended."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note:: Some irrelevant fields have been trimmed from the output of"},{"line_number":78,"context_line":"    these commands just for brevity and to avoid distracting with too"},{"line_number":79,"context_line":"    many details."},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_fe36cdb2","line":77,"range":{"start_line":77,"start_character":10,"end_line":77,"end_character":69},"updated":"2016-05-13 10:16:26.000000000","message":"move this line under note with a line gap between them. For reference http://docs.openstack.org/contributor-guide/rst-conv/spec-info.html","commit_id":"db7a694a663180d836534648d36f32926561f500"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"eb69c22b816b90f12aeeb99fbca89224661dc273","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    many details."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Admin commands"},{"line_number":82,"context_line":"______________"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"First, as admin, create a couple of shared address scopes, subnet pools to"},{"line_number":85,"context_line":"manage the addresses inside them, and an external network with subnets from"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_63cc0662","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":14},"updated":"2016-05-13 10:16:26.000000000","message":"change to -------------","commit_id":"db7a694a663180d836534648d36f32926561f500"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"eb69c22b816b90f12aeeb99fbca89224661dc273","unresolved":false,"context_lines":[{"line_number":198,"context_line":"the external network has been created with subnets from the address scope."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Non-admin tenant commands"},{"line_number":201,"context_line":"_________________________"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"As a tenant, create networks that will be routed straight to the external"},{"line_number":204,"context_line":"network without NAT.  Also, create a network the old way to demonstrate how"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_c3c4d241","line":201,"range":{"start_line":201,"start_character":1,"end_line":201,"end_character":25},"updated":"2016-05-13 10:16:26.000000000","message":"change to --------------","commit_id":"db7a694a663180d836534648d36f32926561f500"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"eb69c22b816b90f12aeeb99fbca89224661dc273","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    Added interface f5904a4b-9547-4c08-bc7e-bc5fc71a8db9 to router router1."},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"Checking connectivity"},{"line_number":331,"context_line":"_____________________"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Boot two vms, instance1 on network1 and instance2 on network2 and give"},{"line_number":334,"context_line":"them floating ip addresses. Adjust security groups to allow pings and"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_4399026e","line":331,"range":{"start_line":331,"start_character":0,"end_line":331,"end_character":21},"updated":"2016-05-13 10:16:26.000000000","message":"change to -------------","commit_id":"db7a694a663180d836534648d36f32926561f500"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"0de012f9bfe8ecbda03ca0b43802f95732eb1233","unresolved":false,"context_lines":[{"line_number":358,"context_line":"pingable directly because it is in the the same address scope as the"},{"line_number":359,"context_line":"external network."},{"line_number":360,"context_line":""},{"line_number":361,"context_line":".. note:: The following is kind of a cludge.  When I wrote this, I didn\u0027t have"},{"line_number":362,"context_line":"   the BGP routing work available in Neutron.  So, I added a static route"},{"line_number":363,"context_line":"   manually.  However, now BGP is available which could fill the gap but at the"},{"line_number":364,"context_line":"   cost of going through all of that setup.  How should we handle this in the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_d3f4ad88","line":361,"range":{"start_line":361,"start_character":37,"end_line":361,"end_character":43},"updated":"2016-05-13 06:56:19.000000000","message":"cludge?","commit_id":"db7a694a663180d836534648d36f32926561f500"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"0de012f9bfe8ecbda03ca0b43802f95732eb1233","unresolved":false,"context_lines":[{"line_number":376,"context_line":"    $ ping6 -c 1 2001:db8:a583:0:f816:3eff:fe42:1eeb"},{"line_number":377,"context_line":"    1 packets transmitted, 1 received, 0% packet loss, time 0ms"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"The other network is not pingable directlybecause the scopes do not"},{"line_number":380,"context_line":"match."},{"line_number":381,"context_line":""},{"line_number":382,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dab17558_93e18501","line":379,"range":{"start_line":379,"start_character":34,"end_line":379,"end_character":49},"updated":"2016-05-13 06:56:19.000000000","message":"directly because","commit_id":"db7a694a663180d836534648d36f32926561f500"}]}
