)]}'
{"magnum/drivers/common/templates/environments/enable_floating_ip.yaml":[{"author":{"_account_id":15123,"name":"Drago","email":"drago.rosson@rackspace.com","username":"Drago"},"change_message_id":"a00f4ac24e7fec8586bce6cc6ac8062ba0c46abe","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  \"Magnum::FloatingIPAddressSwitcher\": \"../fragments/floating_ip_address_switcher_public.yaml\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  # with_master_lb.yaml"},{"line_number":7,"context_line":"  \"Magnum::Optional::Neutron::Pool::FloatingIP\": \"OS::Neutron::FloatingIP\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  # kubemaster.yaml"},{"line_number":10,"context_line":"  \"Magnum::Optional::KubeMaster::Neutron::FloatingIP\": \"OS::Neutron::FloatingIP\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3ac371cc_e1739de5","line":7,"updated":"2016-08-16 16:19:44.000000000","message":"I think getting the remapping on this pool floating IP is tricky... I have been second-guessing my recommendation (which is still different than it is implemented here).\n\nThis way will not work and my original suggestion would not quite work either (though I think your original implementation worked!), so I\u0027m going to go through this step-by-step to make sure we think about it clearly:\n\nThere are four cases we want:\nLB disabled, FIPs disabled -\u003e Pool FIP disabled\nLB disabled, FIPs enabled -\u003e Pool FIP disabled\nLB enabled, FIPs disabled -\u003e Pool FIP disabled\nLB enabled, FIPs enabled -\u003e Pool FIP enabled\n\nWithout the new floating IP environments, the cases look like this, because it only depends on master_lb_enabled:\nLB disabled, FIPs disabled -\u003e Pool FIP disabled\nLB disabled, FIPs enabled -\u003e Pool FIP disabled\nLB enabled, FIPs disabled -\u003e Pool FIP enabled # We must handle this case\nLB enabled, FIPs enabled -\u003e Pool FIP enabled\n\n3 of the 4 cases already work, so to handle the last case, we can add `Pool::FIP: OS::Heat::None` into disable_floating_ip.yaml and not include Pool::FIP in enable_floating_ip.yaml at all, since the FIP will be enabled by with_master_lb.yaml already.\n\nSo our four cases look like:\nLB disabled, FIPs disabled -\u003e Pool FIP disabled by disable_floating_ip.yaml (overrides no_master_lb.yaml)\nLB disabled, FIPs enabled -\u003e Pool FIP disabled by no_master_lb.yaml\nLB enabled, FIPs disabled -\u003e Pool FIP disabled by disable_floating_ip.yaml (overrides with_master_lb.yaml)\nLB enabled, FIPs enabled -\u003e Pool FIP enabled by with_master_lb.yaml\n\nI believe this does exactly what we want with 0 changes to with_master_lb.yaml or no_master_lb.yaml\n\nIn disable_floating_ip.yaml:\n\"Magnum::Optional::Neutron::Pool::FloatingIP\": \"OS::Heat::None\"\n\nIn enable_floating_ip.yaml:\nNothing, but a comment explaining that Pool::FloatingIP will be enabled/disabled based on with_master_lb or no_master_lb would probably be good.","commit_id":"cbb48d8e3ac48e7c5c7daa18558776abcd22ba7d"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"e6a93aece2617765ba3dd5138563900647c629d1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  \"Magnum::FloatingIPAddressSwitcher\": \"../fragments/floating_ip_address_switcher_public.yaml\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  # with_master_lb.yaml"},{"line_number":7,"context_line":"  \"Magnum::Optional::Neutron::Pool::FloatingIP\": \"OS::Neutron::FloatingIP\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  # kubemaster.yaml"},{"line_number":10,"context_line":"  \"Magnum::Optional::KubeMaster::Neutron::FloatingIP\": \"OS::Neutron::FloatingIP\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3ac371cc_d17e1318","line":7,"in_reply_to":"3ac371cc_e1739de5","updated":"2016-08-17 05:41:58.000000000","message":"OK, I\u0027ll check them. Thanks for your classification!","commit_id":"cbb48d8e3ac48e7c5c7daa18558776abcd22ba7d"}],"magnum/drivers/common/templates/environments/with_master_lb.yaml":[{"author":{"_account_id":15123,"name":"Drago","email":"drago.rosson@rackspace.com","username":"Drago"},"change_message_id":"c7c08a6ebb825bce9ee32862e2134ae5fd252402","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  # Cluster template"},{"line_number":7,"context_line":"  \"Magnum::Optional::Neutron::Pool\": \"OS::Neutron::Pool\""},{"line_number":8,"context_line":"  \"Magnum::Optional::Neutron::Pool::FloatingIP\": \"Magnum::Optional::LBaaS::Neutron::FloatingIP\""},{"line_number":9,"context_line":"  \"Magnum::Optional::Neutron::Pool::HealthMonitor\": \"OS::Neutron::HealthMonitor\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"  # Master node template"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_c7a9757d","line":8,"updated":"2016-08-16 06:41:26.000000000","message":"The floating ip environment can be put second in template_def so it has priority, then simply map Magnum::Optional::Neutron::Pool::FloatingIP to floating ip or OS::Heat::None and then this file can be left as it is.","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"4b98b2f20b09cfcb38f110ae87295766e6a7ba75","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  # Cluster template"},{"line_number":7,"context_line":"  \"Magnum::Optional::Neutron::Pool\": \"OS::Neutron::Pool\""},{"line_number":8,"context_line":"  \"Magnum::Optional::Neutron::Pool::FloatingIP\": \"Magnum::Optional::LBaaS::Neutron::FloatingIP\""},{"line_number":9,"context_line":"  \"Magnum::Optional::Neutron::Pool::HealthMonitor\": \"OS::Neutron::HealthMonitor\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"  # Master node template"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_7d3db0ba","line":8,"in_reply_to":"3ac371cc_c7a9757d","updated":"2016-08-16 07:18:26.000000000","message":"Thanks for your good suggestion!","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"}],"magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml":[{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"002655dac9d0cd53a57eb935915fb4672f22a05d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: 2013-05-23"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"description: \u003e"},{"line_number":4,"context_line":"  This is a template resource that accepts public and private IPs."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"1ac06dbe_000cc039","line":1,"updated":"2016-08-23 10:27:54.000000000","message":"Use version number consistent with other heat templates.","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"6c7f5d1857a30c90d0323bc639b98f92ff1ab5c7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: 2013-05-23"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"description: \u003e"},{"line_number":4,"context_line":"  This is a template resource that accepts public and private IPs."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"1ac06dbe_05c2d2e8","line":1,"in_reply_to":"1ac06dbe_000cc039","updated":"2016-08-24 00:39:03.000000000","message":"Done","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"}],"magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml":[{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"002655dac9d0cd53a57eb935915fb4672f22a05d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: 2013-05-23"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"description: \u003e"},{"line_number":4,"context_line":"  This is a template resource that accepts public and private IPs."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"1ac06dbe_7d01db05","line":1,"updated":"2016-08-23 10:27:54.000000000","message":"Use version number consistent with other heat templates.","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"6c7f5d1857a30c90d0323bc639b98f92ff1ab5c7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: 2013-05-23"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"description: \u003e"},{"line_number":4,"context_line":"  This is a template resource that accepts public and private IPs."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"1ac06dbe_65b5867c","line":1,"in_reply_to":"1ac06dbe_7d01db05","updated":"2016-08-24 00:39:03.000000000","message":"Done","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"}],"magnum/drivers/k8s_fedora_atomic_v1/template_def.py":[{"author":{"_account_id":15123,"name":"Drago","email":"drago.rosson@rackspace.com","username":"Drago"},"change_message_id":"c7c08a6ebb825bce9ee32862e2134ae5fd252402","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        if baymodel.floating_ip_enabled:"},{"line_number":157,"context_line":"            env_files.append("},{"line_number":158,"context_line":"                \u0027common/environments/enable_floating_ip.yaml\u0027"},{"line_number":159,"context_line":"            )"},{"line_number":160,"context_line":"        else:"},{"line_number":161,"context_line":"            env_files.append("},{"line_number":162,"context_line":"                \u0027common/environments/disable_floating_ip.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_27d16958","line":159,"updated":"2016-08-16 06:41:26.000000000","message":"Nit: can you put these lone parenthesis with the line above?","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"4b98b2f20b09cfcb38f110ae87295766e6a7ba75","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        if baymodel.floating_ip_enabled:"},{"line_number":157,"context_line":"            env_files.append("},{"line_number":158,"context_line":"                \u0027common/environments/enable_floating_ip.yaml\u0027"},{"line_number":159,"context_line":"            )"},{"line_number":160,"context_line":"        else:"},{"line_number":161,"context_line":"            env_files.append("},{"line_number":162,"context_line":"                \u0027common/environments/disable_floating_ip.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_7d6490e4","line":159,"in_reply_to":"3ac371cc_27d16958","updated":"2016-08-16 07:18:26.000000000","message":"Actually, I\u0027m not sure about Python\u0027s manner...","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"002655dac9d0cd53a57eb935915fb4672f22a05d","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class MasterAddressOutputMapping(ServerAddressOutputMapping):"},{"line_number":74,"context_line":"    public_ip_output_key \u003d \u0027kube_masters\u0027"},{"line_number":75,"context_line":"    private_ip_output_key \u003d \u0027kube_masters_private\u0027"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_8060abd0","line":74,"updated":"2016-08-23 10:27:54.000000000","message":"\u0027kube_masters\u0027 --\u003e \u0027kube_masters_public\u0027\n\ncan it be changed for consistency?","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"6c7f5d1857a30c90d0323bc639b98f92ff1ab5c7","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"class MasterAddressOutputMapping(ServerAddressOutputMapping):"},{"line_number":74,"context_line":"    public_ip_output_key \u003d \u0027kube_masters\u0027"},{"line_number":75,"context_line":"    private_ip_output_key \u003d \u0027kube_masters_private\u0027"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_e580568d","line":74,"in_reply_to":"1ac06dbe_8060abd0","updated":"2016-08-24 00:39:03.000000000","message":"This value depends on heat templates. So I think your suggestion is out of scope of this patch.","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"002655dac9d0cd53a57eb935915fb4672f22a05d","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class NodeAddressOutputMapping(ServerAddressOutputMapping):"},{"line_number":79,"context_line":"    public_ip_output_key \u003d \u0027kube_minions\u0027"},{"line_number":80,"context_line":"    private_ip_output_key \u003d \u0027kube_minions_private\u0027"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_e0a7df08","line":79,"updated":"2016-08-23 10:27:54.000000000","message":"same as above","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"6c7f5d1857a30c90d0323bc639b98f92ff1ab5c7","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class NodeAddressOutputMapping(ServerAddressOutputMapping):"},{"line_number":79,"context_line":"    public_ip_output_key \u003d \u0027kube_minions\u0027"},{"line_number":80,"context_line":"    private_ip_output_key \u003d \u0027kube_minions_private\u0027"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_05501231","line":79,"in_reply_to":"1ac06dbe_e0a7df08","updated":"2016-08-24 00:39:03.000000000","message":"ditto","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"002655dac9d0cd53a57eb935915fb4672f22a05d","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                                      **kwargs)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def get_env_files(self, baymodel):"},{"line_number":188,"context_line":"        env_files \u003d []"},{"line_number":189,"context_line":"        if baymodel.master_lb_enabled:"},{"line_number":190,"context_line":"            env_files.append("},{"line_number":191,"context_line":"                \u0027../../common/templates/environments/with_master_lb.yaml\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_40ccf369","line":188,"updated":"2016-08-23 10:27:54.000000000","message":"../../common/templates/environments/ path seems to be redundant in each if else. Can you please make a variable at the beginning and then append values based on conditions.","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"6c7f5d1857a30c90d0323bc639b98f92ff1ab5c7","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                                      **kwargs)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def get_env_files(self, baymodel):"},{"line_number":188,"context_line":"        env_files \u003d []"},{"line_number":189,"context_line":"        if baymodel.master_lb_enabled:"},{"line_number":190,"context_line":"            env_files.append("},{"line_number":191,"context_line":"                \u0027../../common/templates/environments/with_master_lb.yaml\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ac06dbe_48597f34","line":188,"in_reply_to":"1ac06dbe_40ccf369","updated":"2016-08-24 00:39:03.000000000","message":"Other drivers also have same issue, so may I fix this issue as separate patch?\nI submitted a bug report for this issue.\n\n* https://bugs.launchpad.net/magnum/+bug/1616259","commit_id":"170d043bc10123303df69a9f57741dee767d7eeb"}],"magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml":[{"author":{"_account_id":15123,"name":"Drago","email":"drago.rosson@rackspace.com","username":"Drago"},"change_message_id":"c7c08a6ebb825bce9ee32862e2134ae5fd252402","unresolved":false,"context_lines":[{"line_number":538,"context_line":"          auth_url: {get_param: auth_url}"},{"line_number":539,"context_line":"          insecure_registry_url: {get_param: insecure_registry_url}"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"outputs:"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_072a6d7e","line":541,"updated":"2016-08-16 06:41:26.000000000","message":"Remove added lines (at least one, if not both)","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"4b98b2f20b09cfcb38f110ae87295766e6a7ba75","unresolved":false,"context_lines":[{"line_number":538,"context_line":"          auth_url: {get_param: auth_url}"},{"line_number":539,"context_line":"          insecure_registry_url: {get_param: insecure_registry_url}"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"outputs:"},{"line_number":544,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_1d9c7cbf","line":541,"in_reply_to":"3ac371cc_072a6d7e","updated":"2016-08-16 07:18:26.000000000","message":"Done","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"},{"author":{"_account_id":15123,"name":"Drago","email":"drago.rosson@rackspace.com","username":"Drago"},"change_message_id":"c7c08a6ebb825bce9ee32862e2134ae5fd252402","unresolved":false,"context_lines":[{"line_number":547,"context_line":"      str_replace:"},{"line_number":548,"context_line":"        template: api_ip_address"},{"line_number":549,"context_line":"        params:"},{"line_number":550,"context_line":"          api_ip_address: {get_attr: [api_address_lb_switch, public_ip]}"},{"line_number":551,"context_line":"    description: \u003e"},{"line_number":552,"context_line":"      This is the API endpoint of the Kubernetes cluster. Use this to access"},{"line_number":553,"context_line":"      the Kubernetes API."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_4780e546","line":550,"updated":"2016-08-16 06:41:26.000000000","message":"If I\u0027m understanding correctly, this should be the floating switch","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"4b98b2f20b09cfcb38f110ae87295766e6a7ba75","unresolved":false,"context_lines":[{"line_number":547,"context_line":"      str_replace:"},{"line_number":548,"context_line":"        template: api_ip_address"},{"line_number":549,"context_line":"        params:"},{"line_number":550,"context_line":"          api_ip_address: {get_attr: [api_address_lb_switch, public_ip]}"},{"line_number":551,"context_line":"    description: \u003e"},{"line_number":552,"context_line":"      This is the API endpoint of the Kubernetes cluster. Use this to access"},{"line_number":553,"context_line":"      the Kubernetes API."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_5da6f410","line":550,"in_reply_to":"3ac371cc_4780e546","updated":"2016-08-16 07:18:26.000000000","message":"Yes, I forgot to fix here!","commit_id":"60a47155c7a47bf150342ad90fb4dfcb74f53343"}]}
