)]}'
{"specs/9.0/set-vip-address-via-api.rst":[{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"7fe229d60643ee31d8ddc1c751fc5fee9c0aaecc","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Setting of IP addresses for VIPs will be allowed via urls:"},{"line_number":86,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/vips/`,"},{"line_number":87,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/\u003cip_id\u003e/vips/`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"`/ips/` is introduced here as root qualifier because it can be used later not"},{"line_number":90,"context_line":"for VIPs only, i.e. for nodes addresses and other reserved IPs."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_f86b131c","line":87,"updated":"2015-12-08 16:53:05.000000000","message":"Actually, i don\u0027t get why /vips/ sub-space is required.\nWe are getting full ip_addr info with GET request and updating that info by providing full ip_addr record structure. \nRestrictions to update certain fields in current API implementation is the other matter.","commit_id":"b772d8eaba47816b9172ede96b10562b659aad88"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"8c6cfc067f816a12d27a16142e9572f9f848a7e5","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Setting of IP addresses for VIPs will be allowed via urls:"},{"line_number":86,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/vips/`,"},{"line_number":87,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/\u003cip_id\u003e/vips/`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"`/ips/` is introduced here as root qualifier because it can be used later not"},{"line_number":90,"context_line":"for VIPs only, i.e. for nodes addresses and other reserved IPs."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_5129eb9c","line":87,"updated":"2015-12-08 15:03:46.000000000","message":"Need example of API output and API input for PATCH/PUT requests.\n\nShould the DELETE method be supported?","commit_id":"b772d8eaba47816b9172ede96b10562b659aad88"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"de407e04f2969f5092acaa4fc254bab45929b7df","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Setting of IP addresses for VIPs will be allowed via urls:"},{"line_number":86,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/vips/`,"},{"line_number":87,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/\u003cip_id\u003e/vips/`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"`/ips/` is introduced here as root qualifier because it can be used later not"},{"line_number":90,"context_line":"for VIPs only, i.e. for nodes addresses and other reserved IPs."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_2a1f015c","line":87,"in_reply_to":"7a740942_5129eb9c","updated":"2015-12-08 16:13:13.000000000","message":"AFAIC, DELETE is not necessary for now. It could be added later together with POST. I\u0027ll add examples here.","commit_id":"b772d8eaba47816b9172ede96b10562b659aad88"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"aa3fc174f8a8f25e7730c3bd4a606be80dfed44b","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Setting of IP addresses for VIPs will be allowed via urls:"},{"line_number":86,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/vips/`,"},{"line_number":87,"context_line":"`/clusters/\u003ccluster_id\u003e/network_configuration/ips/\u003cip_id\u003e/vips/`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"`/ips/` is introduced here as root qualifier because it can be used later not"},{"line_number":90,"context_line":"for VIPs only, i.e. for nodes addresses and other reserved IPs."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_f3ad74e9","line":87,"in_reply_to":"7a740942_f86b131c","updated":"2015-12-08 16:58:14.000000000","message":"only ip_addrs which are allocated for VIPs should be accessible.","commit_id":"b772d8eaba47816b9172ede96b10562b659aad88"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"8c6cfc067f816a12d27a16142e9572f9f848a7e5","unresolved":false,"context_lines":[{"line_number":207,"context_line":"- Extend Nailgun REST API"},{"line_number":208,"context_line":"- Use `manual` flag to disable IP auto-allocation."},{"line_number":209,"context_line":"- Validate VIPs before deployment."},{"line_number":210,"context_line":"- Add VIP-related commands to CLI."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_f1f4975b","line":210,"updated":"2015-12-08 15:03:46.000000000","message":"What about CLI interface, what the commands should look like?\n\nHow VIP configuration update should work over CLI?","commit_id":"b772d8eaba47816b9172ede96b10562b659aad88"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"de407e04f2969f5092acaa4fc254bab45929b7df","unresolved":false,"context_lines":[{"line_number":207,"context_line":"- Extend Nailgun REST API"},{"line_number":208,"context_line":"- Use `manual` flag to disable IP auto-allocation."},{"line_number":209,"context_line":"- Validate VIPs before deployment."},{"line_number":210,"context_line":"- Add VIP-related commands to CLI."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_0a39e5d6","line":210,"in_reply_to":"7a740942_f1f4975b","updated":"2015-12-08 16:13:13.000000000","message":"Will add.","commit_id":"b772d8eaba47816b9172ede96b10562b659aad88"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"c8325dbc750d67964a0019ad93bce81f412df5cb","unresolved":false,"context_lines":[{"line_number":89,"context_line":"`/ips/` is introduced here as root qualifier because it can be used later not"},{"line_number":90,"context_line":"for VIPs only, i.e. for nodes addresses and other reserved IPs."},{"line_number":91,"context_line":"There will be GET and PUT(PATCH) requests for both single object and"},{"line_number":92,"context_line":"collection. Only ip_addr and vip_info.manual fields can be changed via API."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The following ip_addrs fields sholud be serialized:"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_504afe56","line":92,"updated":"2015-12-09 18:24:40.000000000","message":"No update for the \"vendor_specific\" field?","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"fada52611adc3200f3e9ec9e102a758b3513d7aa","unresolved":false,"context_lines":[{"line_number":89,"context_line":"`/ips/` is introduced here as root qualifier because it can be used later not"},{"line_number":90,"context_line":"for VIPs only, i.e. for nodes addresses and other reserved IPs."},{"line_number":91,"context_line":"There will be GET and PUT(PATCH) requests for both single object and"},{"line_number":92,"context_line":"collection. Only ip_addr and vip_info.manual fields can be changed via API."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The following ip_addrs fields sholud be serialized:"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_b7b67cf7","line":92,"in_reply_to":"7a740942_504afe56","updated":"2015-12-10 15:24:15.000000000","message":"Let\u0027s allow its update.","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":11577,"name":"Ivan Kliuk","email":"ivan.kliuk+spam@gmail.com","username":"ivan"},"change_message_id":"961e61e19fdbe5f799963ad5d374eca7beec2895","unresolved":false,"context_lines":[{"line_number":91,"context_line":"There will be GET and PUT(PATCH) requests for both single object and"},{"line_number":92,"context_line":"collection. Only ip_addr and vip_info.manual fields can be changed via API."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"The following ip_addrs fields sholud be serialized:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. code-block:: python"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a7e1126_86776539","line":94,"range":{"start_line":94,"start_character":30,"end_line":94,"end_character":36},"updated":"2015-12-18 12:34:54.000000000","message":"Typo in word \u0027should\u0027.","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":11577,"name":"Ivan Kliuk","email":"ivan.kliuk+spam@gmail.com","username":"ivan"},"change_message_id":"961e61e19fdbe5f799963ad5d374eca7beec2895","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    node: null"},{"line_number":114,"context_line":"    ip_addr: 192.169.1.33"},{"line_number":115,"context_line":"    vip_info:"},{"line_number":116,"context_line":"      name: public"},{"line_number":117,"context_line":"      namespace: haproxy"},{"line_number":118,"context_line":"      alias: public_vip"},{"line_number":119,"context_line":"      node_roles:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a7e1126_5c070dca","line":116,"range":{"start_line":116,"start_character":6,"end_line":116,"end_character":10},"updated":"2015-12-18 12:34:54.000000000","message":"I think, this field will be redundant, because \u0027vip_name\u0027 is going to be introduced by this patch: https://review.openstack.org/#/c/257919/","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"c8325dbc750d67964a0019ad93bce81f412df5cb","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        - controller"},{"line_number":121,"context_line":"        - primary-controller"},{"line_number":122,"context_line":"      network_role: public/vip"},{"line_number":123,"context_line":"      manual: false"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Orchestration"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_c6dcf176","line":123,"updated":"2015-12-09 18:24:40.000000000","message":"As i think expected workflow for the admin is to download ipaddr data then change addresses and manual modes and then upload the yaml back. Maybe admin would desire to change prohibited fields.\n\nResult will be surprise for administrator because only couple of fields is not prohibited for update and schema validation will fail.\n\nWhat could be better behaviour, ignore changed fields that is not available for update?","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"41a3e1d1a807508d41f45de38e6192ffd3a4747e","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        - controller"},{"line_number":121,"context_line":"        - primary-controller"},{"line_number":122,"context_line":"      network_role: public/vip"},{"line_number":123,"context_line":"      manual: false"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Orchestration"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_fd2dc5fd","line":123,"in_reply_to":"7a740942_5d13b95c","updated":"2015-12-10 15:55:34.000000000","message":"\u003e inert fields\n\ni.e. insensitive (read-only)? yes, we should have good documentation for that. So that user could know why some change was skipped. Otherwise, we could reject the changes if some read-only field was changed.","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"fada52611adc3200f3e9ec9e102a758b3513d7aa","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        - controller"},{"line_number":121,"context_line":"        - primary-controller"},{"line_number":122,"context_line":"      network_role: public/vip"},{"line_number":123,"context_line":"      manual: false"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Orchestration"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_d4d22634","line":123,"in_reply_to":"7a740942_c6dcf176","updated":"2015-12-10 15:24:15.000000000","message":"Schema validation should not fail. It should be supported that output of GET is accepted as input for PUT. But not all the fields will be changed. Other fields could be ignored (as for network configuration now).","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"2aabb5ecd0841f4328fd472ecf64a5e9ce297973","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        - controller"},{"line_number":121,"context_line":"        - primary-controller"},{"line_number":122,"context_line":"      network_role: public/vip"},{"line_number":123,"context_line":"      manual: false"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Orchestration"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_5d13b95c","line":123,"in_reply_to":"7a740942_d4d22634","updated":"2015-12-10 15:46:26.000000000","message":"Ok, something is confusing me in approach with inert fields, but i can\u0027t offer anything better.","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"3be606bcdb540b4871b7a7f905a3c2a0bed61f6f","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        - controller"},{"line_number":121,"context_line":"        - primary-controller"},{"line_number":122,"context_line":"      network_role: public/vip"},{"line_number":123,"context_line":"      manual: false"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Orchestration"},{"line_number":126,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_7d20f5b0","line":123,"in_reply_to":"7a740942_fd2dc5fd","updated":"2015-12-10 17:17:39.000000000","message":"agree","commit_id":"0fd6abd2138b93e1301e38e79f243c30e605f966"},{"author":{"_account_id":9387,"name":"Aleksandr Didenko","email":"adidenko@mirantis.com","username":"AD"},"change_message_id":"4ff5f7268d5526b289538463e0a6cfdda0a0e15a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"There will be GET and PUT(PATCH) requests for both single object and"},{"line_number":78,"context_line":"collection."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Only `ip_addr` and `is_user_defined` fields can be changed via API."},{"line_number":81,"context_line":"It should be possible to pass full output of GET request to the input of PUT"},{"line_number":82,"context_line":"request (as for other handlers). Check for read-only fields should be done in"},{"line_number":83,"context_line":"API validator."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_5f8b5f68","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":66},"updated":"2015-12-28 17:17:04.000000000","message":"How about \"namespace\"? If user redefines, for instance, management_vip to some external IP and \"namespace\" parameter will remain \"haproxy\", then puppet will try to bring this VIP up under corosync cluster and fail.","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"7a15ffba5d98b64aa4f98faccd595f00a92d77d1","unresolved":false,"context_lines":[{"line_number":77,"context_line":"There will be GET and PUT(PATCH) requests for both single object and"},{"line_number":78,"context_line":"collection."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Only `ip_addr` and `is_user_defined` fields can be changed via API."},{"line_number":81,"context_line":"It should be possible to pass full output of GET request to the input of PUT"},{"line_number":82,"context_line":"request (as for other handlers). Check for read-only fields should be done in"},{"line_number":83,"context_line":"API validator."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_f261153a","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":66},"in_reply_to":"1a7b0d38_5f8b5f68","updated":"2015-12-29 09:58:14.000000000","message":"Namespace should be set to None automatically then. These is no need to store it. It cannot be set to arbitrary value in this case anyway.","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":16518,"name":"Alexey Shtokolov","email":"ashtokolov@gmail.com","username":"ashtokolov"},"change_message_id":"ea957373fbfc3f1600d59539d72266de8f3b0608","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    fuel vip --env 1 --download"},{"line_number":140,"context_line":"    fuel vip --env 1 --download --network 1"},{"line_number":141,"context_line":"    fuel vip --env 1 --download --network-role \"public/vip\""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_0507b818","line":139,"range":{"start_line":139,"start_character":23,"end_line":139,"end_character":31},"updated":"2015-12-29 12:56:04.000000000","message":"Line break needed between command lines","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"53c98a1a7d31fcae55d006e540f2222148570374","unresolved":false,"context_lines":[{"line_number":137,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    fuel vip --env 1 --download"},{"line_number":140,"context_line":"    fuel vip --env 1 --download --network 1"},{"line_number":141,"context_line":"    fuel vip --env 1 --download --network-role \"public/vip\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"#. Set VIPs parameters by their ids (within one environment)."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_e25e6211","line":140,"updated":"2015-12-25 16:25:25.000000000","message":"in CLI there is existing CLO alias \n\n`--net` or `network`\n--network is inconsistent with it","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"0a0d0f32db44fff1c12c5f8fb44220813f18014a","unresolved":false,"context_lines":[{"line_number":137,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    fuel vip --env 1 --download"},{"line_number":140,"context_line":"    fuel vip --env 1 --download --network 1"},{"line_number":141,"context_line":"    fuel vip --env 1 --download --network-role \"public/vip\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"#. Set VIPs parameters by their ids (within one environment)."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_2d58db31","line":140,"in_reply_to":"1a7b0d38_0d371fe4","updated":"2015-12-25 17:26:33.000000000","message":"It\u0027d be better to keep one of this variants in future though (rename the other one).","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"79bf85b1fbb7aa1adf75953bea399c0e8cba7037","unresolved":false,"context_lines":[{"line_number":137,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    fuel vip --env 1 --download"},{"line_number":140,"context_line":"    fuel vip --env 1 --download --network 1"},{"line_number":141,"context_line":"    fuel vip --env 1 --download --network-role \"public/vip\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"#. Set VIPs parameters by their ids (within one environment)."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_adbfebf9","line":140,"in_reply_to":"1a7b0d38_2d58db31","updated":"2015-12-25 17:40:08.000000000","message":"Found this param declared with autoprefixing with --\n\ni\u0027ll keep --network","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":8392,"name":"Aleksey Kasatkin","email":"akasatkin@mirantis.com","username":"aleksey"},"change_message_id":"03111cce1b15f07f78d3f07cfe195cdaadc3c7cf","unresolved":false,"context_lines":[{"line_number":137,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    fuel vip --env 1 --download"},{"line_number":140,"context_line":"    fuel vip --env 1 --download --network 1"},{"line_number":141,"context_line":"    fuel vip --env 1 --download --network-role \"public/vip\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"#. Set VIPs parameters by their ids (within one environment)."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_0d371fe4","line":140,"in_reply_to":"1a7b0d38_e25e6211","updated":"2015-12-25 17:24:21.000000000","message":"CLI uses both. You could grep for \u0027--network\u0027. I\u0027m OK with either option.","commit_id":"b3dc74f9baa9e9329be31449a6f42be14a3b5c3c"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"8aa62a97fe7c90df0e88140dc7ad82bf4697bd03","unresolved":false,"context_lines":[{"line_number":53,"context_line":"with manually set IP. Validation should be added before deployment that all"},{"line_number":54,"context_line":"VIPs have IPs either assigned automatically or by user."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"VIPs will be checked and re-allocated in ip_addrs table at these points:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. create cluster"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa69d971_a9542054","line":56,"range":{"start_line":56,"start_character":56,"end_line":56,"end_character":58},"updated":"2015-12-30 14:09:34.000000000","message":"after/before?","commit_id":"10a007708bd442f04314e4d01edc315dae8c601e"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"8aa62a97fe7c90df0e88140dc7ad82bf4697bd03","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"#. deployment start (final check)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"VIPs allocation procedure should not overwrite information in DB"},{"line_number":77,"context_line":"(IP, namespace) if it was set by user already."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model"},{"line_number":80,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa69d971_29c7d013","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":46},"updated":"2015-12-30 14:09:34.000000000","message":"what about is_user_defined?","commit_id":"10a007708bd442f04314e4d01edc315dae8c601e"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"8aa62a97fe7c90df0e88140dc7ad82bf4697bd03","unresolved":false,"context_lines":[{"line_number":88,"context_line":"`vip_type` is actually a VIP name since 7.0 release."},{"line_number":89,"context_line":"`is_user_defined` is a new boolean field, False by default. It determines"},{"line_number":90,"context_line":"whether IP is allocated automatically (False) or it is set by user (True)."},{"line_number":91,"context_line":"`vip_namespace` now presents in VIP description (inside network roles) and we"},{"line_number":92,"context_line":"need to have it changeable as VIPs with manually set IPs can be the external"},{"line_number":93,"context_line":"resources (external LB) which should not be set up with manifests."},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa69d971_692068f8","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":15},"updated":"2015-12-30 14:09:34.000000000","message":"A little ambiguous description , in database and API it\u0027s `vip_namespace` but in the network roles yaml it\u0027s just `namespace`","commit_id":"10a007708bd442f04314e4d01edc315dae8c601e"},{"author":{"_account_id":9387,"name":"Aleksandr Didenko","email":"adidenko@mirantis.com","username":"AD"},"change_message_id":"1daab066fbc9b0dde5d7045796ec43837eb44647","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    fuel vip --env 1 --ip 1 --upload ip_address.yaml"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    TBD, do we need this separate request. Seems, Id from yaml should be"},{"line_number":170,"context_line":"    ignored here."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":173,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa69d971_03758bf8","line":170,"range":{"start_line":169,"start_character":50,"end_line":170,"end_character":17},"updated":"2016-01-11 09:35:42.000000000","message":"Agreed, since we\u0027re uploading it by ID in CLI, then we should not take into account ID from yaml.","commit_id":"b8afa61361268b79d9fa044473be82edc4540279"},{"author":{"_account_id":19158,"name":"Ilya Kutukov","email":"post.ilya@gmail.com","username":"ikutukov"},"change_message_id":"f4f36cfe9cd191915808b1dc1551ac9c2951c706","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    fuel vip --env 1 --ip 1 --upload ip_address.yaml"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    TBD, do we need this separate request. Seems, Id from yaml should be"},{"line_number":170,"context_line":"    ignored here."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":173,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa69d971_34b1e747","line":170,"range":{"start_line":169,"start_character":50,"end_line":170,"end_character":17},"in_reply_to":"fa69d971_03758bf8","updated":"2016-01-11 10:20:16.000000000","message":"Double id param source could produce operator mistakes because it required additional knowledge about how conflict will be resolved.\nMaybe it will be better not to have --ip param for upload at all?","commit_id":"b8afa61361268b79d9fa044473be82edc4540279"},{"author":{"_account_id":9387,"name":"Aleksandr Didenko","email":"adidenko@mirantis.com","username":"AD"},"change_message_id":"4ac803ee0a6960e1270100c6dd7a67d02bdf5a56","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    fuel vip --env 1 --ip 1 --upload ip_address.yaml"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    TBD, do we need this separate request. Seems, Id from yaml should be"},{"line_number":170,"context_line":"    ignored here."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"#. Get all VIPs for environment, optional filter by network/network role."},{"line_number":173,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa69d971_54f7bb8a","line":170,"range":{"start_line":169,"start_character":50,"end_line":170,"end_character":17},"in_reply_to":"fa69d971_34b1e747","updated":"2016-01-11 10:27:57.000000000","message":"In such case it will duplicate \"Set VIPs parameters by their ids (within one environment)\" so we can simply remove this item completely.","commit_id":"b8afa61361268b79d9fa044473be82edc4540279"}]}
