)]}'
{"docker/services/ceph-ansible/ceph-nfs.yaml":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"df6c343a004f1b752799b3ae7645d02314c85d71","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: pike"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"description: \u003e"},{"line_number":4,"context_line":"  Ceph NFS Ganeshaservice."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f485f77_961fe306","line":1,"range":{"start_line":1,"start_character":23,"end_line":1,"end_character":27},"updated":"2017-11-18 11:49:17.000000000","message":"queens ?","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"cc0c204dbdf80a7dcd55281e442362cd447b79bd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: pike"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"description: \u003e"},{"line_number":4,"context_line":"  Ceph NFS Ganeshaservice."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ff82abbf_4dc96176","line":1,"range":{"start_line":1,"start_character":23,"end_line":1,"end_character":27},"in_reply_to":"1f485f77_961fe306","updated":"2017-11-21 09:33:29.000000000","message":"I *think* pike is fine, at least at this point. Wouldn\u0027t \u0027queens\u0027 mean that this template would not be usable with undercloud running pike version?\n https://docs.openstack.org/heat/pike/template_guide/hot_spec.html#heat-template-version","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"df6c343a004f1b752799b3ae7645d02314c85d71","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        - tripleo.ceph_nfs.firewall_rules:"},{"line_number":61,"context_line":"            \u0027120 ceph_nfs\u0027:"},{"line_number":62,"context_line":"              dport:"},{"line_number":63,"context_line":"              # FIXME"},{"line_number":64,"context_line":"              - 2049"},{"line_number":65,"context_line":"              - 20048"},{"line_number":66,"context_line":"              - 38468"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f485f77_36d6ef29","line":63,"range":{"start_line":63,"start_character":14,"end_line":63,"end_character":21},"updated":"2017-11-18 11:49:17.000000000","message":"Should we email Jeff Layton to ask exactly which ports we need to open on this network?","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"cc0c204dbdf80a7dcd55281e442362cd447b79bd","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        - tripleo.ceph_nfs.firewall_rules:"},{"line_number":61,"context_line":"            \u0027120 ceph_nfs\u0027:"},{"line_number":62,"context_line":"              dport:"},{"line_number":63,"context_line":"              # FIXME"},{"line_number":64,"context_line":"              - 2049"},{"line_number":65,"context_line":"              - 20048"},{"line_number":66,"context_line":"              - 38468"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ff82abbf_f8d595ba","line":63,"range":{"start_line":63,"start_character":14,"end_line":63,"end_character":21},"in_reply_to":"1f485f77_36d6ef29","updated":"2017-11-21 09:33:29.000000000","message":"Yes, I\u0027ll send him an email.","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"a55ed8971d257a57f53fa3f6f7cff9364e8c9d87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ff82abbf_2cf67c91","line":76,"updated":"2017-11-20 10:40:57.000000000","message":"Just a reminder for myself that we need to add here:\n\n            - ceph_nfs_rados_backend: true","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"cc0c204dbdf80a7dcd55281e442362cd447b79bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ff82abbf_0d8a791a","line":76,"in_reply_to":"ff82abbf_2cf67c91","updated":"2017-11-21 09:33:29.000000000","message":"Done","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9a2a41e4745e1a680a817ad33e80dcf0b4133a4e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"              - 4501"},{"line_number":68,"context_line":"        - ceph_nfs_ansible_vars:"},{"line_number":69,"context_line":"            map_merge:"},{"line_number":70,"context_line":"            - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}"},{"line_number":71,"context_line":"            - ceph_nfs_enable_service: false"},{"line_number":72,"context_line":"            - ceph_nfs_use_pacemaker: true"},{"line_number":73,"context_line":"            - ceph_nfs_dynamic_exports: true"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"ff82abbf_cd881c24","line":70,"updated":"2017-12-01 02:56:10.000000000","message":"This line looks similar to the culprit in https://review.openstack.org/#/c/512240","commit_id":"9b7600284fae34661eaa998e5bb9642dae77830c"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"060d9f7e179d63811af9c4e424ad380487cdd929","unresolved":false,"context_lines":[{"line_number":67,"context_line":"              - 4501"},{"line_number":68,"context_line":"        - ceph_nfs_ansible_vars:"},{"line_number":69,"context_line":"            map_merge:"},{"line_number":70,"context_line":"            - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}"},{"line_number":71,"context_line":"            - ceph_nfs_enable_service: false"},{"line_number":72,"context_line":"            - ceph_nfs_use_pacemaker: true"},{"line_number":73,"context_line":"            - ceph_nfs_dynamic_exports: true"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"df87a7cf_40f2a308","line":70,"in_reply_to":"df87a7cf_903b229b","updated":"2017-12-01 20:16:35.000000000","message":"Yes, validation script is complaining about step_config, https://review.openstack.org/#/c/471245/9/tools/yaml-validate.py might need additional tweak (otherwise you would have to split the template into 2 templates - one for step_config and one for ceph_ansible.","commit_id":"9b7600284fae34661eaa998e5bb9642dae77830c"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"d1ce52055495986570e67353b5f36daf95902a9d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"              - 4501"},{"line_number":68,"context_line":"        - ceph_nfs_ansible_vars:"},{"line_number":69,"context_line":"            map_merge:"},{"line_number":70,"context_line":"            - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}"},{"line_number":71,"context_line":"            - ceph_nfs_enable_service: false"},{"line_number":72,"context_line":"            - ceph_nfs_use_pacemaker: true"},{"line_number":73,"context_line":"            - ceph_nfs_dynamic_exports: true"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"df87a7cf_903b229b","line":70,"in_reply_to":"ff82abbf_cd881c24","updated":"2017-12-01 16:42:25.000000000","message":"I was confused.\n\nThe pep8 error pertains to the step_config above.  Jan had reasons, which I need to review, for using it rather than docker_config.","commit_id":"9b7600284fae34661eaa998e5bb9642dae77830c"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"b9c56e353dc7489f154b48b3f8095b571abac82a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            map_merge:"},{"line_number":70,"context_line":"            - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}"},{"line_number":71,"context_line":"            - ceph_nfs_enable_service: false"},{"line_number":72,"context_line":"            - ceph_nfs_use_pacemaker: true"},{"line_number":73,"context_line":"            - ceph_nfs_dynamic_exports: true"},{"line_number":74,"context_line":"            - ceph_nfs_service_suffix: pacemaker"},{"line_number":75,"context_line":"            - nfs_obj_gw: false"}],"source_content_type":"text/x-yaml","patch_set":25,"id":"3fa0c359_0e45adb3","line":72,"updated":"2018-02-05 12:31:25.000000000","message":"I am not sure what purpose this is supposed to have, but I don\u0027t see in ceph-ansible code dealing with _use_pacemaker\n\nthe variable above, _enable_service seems to be enough to tell ceph-ansible to not start the container given [1] is skipped when the boolean is false\n\n1. https://github.com/ceph/ceph-ansible/blob/stable-3.0/roles/ceph-nfs/tasks/start_nfs.yml#L56","commit_id":"78135d07f48fbad9519ce6c05e7e1e0b52424487"}],"environments/manila-cephfsganesha-config-docker.yaml":[{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"e8c9377f3f04cef6ccc00b1751f2401351135e0e","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"parameter_defaults:"},{"line_number":15,"context_line":"  ManilaCephFSBackendName: cephfsnfs"},{"line_number":16,"context_line":"  ManilaCephFSDriverHandlesShareServers: false"},{"line_number":17,"context_line":"  ManilaCephFSCephFSConfPath: \u0027/etc/ceph/ceph.conf\u0027"},{"line_number":18,"context_line":"  ManilaCephFSCephFSAuthId: \u0027manila\u0027"},{"line_number":19,"context_line":"  ManilaCephFSCephFSClusterName: \u0027ceph\u0027"},{"line_number":20,"context_line":"  ManilaCephFSNativeCephFSEnableSnapshots: false"},{"line_number":21,"context_line":"  ManilaCephFSCephFSProtocolHelperType: \u0027NFS\u0027"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3f4b6375_371c0cc0","line":21,"range":{"start_line":15,"start_character":0,"end_line":21,"end_character":45},"updated":"2017-11-01 19:58:34.000000000","message":"I wonder if any of these should have comments specifying what are the valid options?","commit_id":"7ee787a109a279089ab84e44befd29403e814fcf"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"1c971104aa292b8ea69b207e71067d89f2084107","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"parameter_defaults:"},{"line_number":15,"context_line":"  ManilaCephFSBackendName: cephfsnfs"},{"line_number":16,"context_line":"  ManilaCephFSDriverHandlesShareServers: false"},{"line_number":17,"context_line":"  ManilaCephFSCephFSConfPath: \u0027/etc/ceph/ceph.conf\u0027"},{"line_number":18,"context_line":"  ManilaCephFSCephFSAuthId: \u0027manila\u0027"},{"line_number":19,"context_line":"  ManilaCephFSCephFSClusterName: \u0027ceph\u0027"},{"line_number":20,"context_line":"  ManilaCephFSNativeCephFSEnableSnapshots: false"},{"line_number":21,"context_line":"  ManilaCephFSCephFSProtocolHelperType: \u0027NFS\u0027"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3f4b6375_3fb4b481","line":21,"range":{"start_line":15,"start_character":0,"end_line":21,"end_character":45},"in_reply_to":"3f4b6375_371c0cc0","updated":"2017-11-03 13:36:26.000000000","message":"Done","commit_id":"7ee787a109a279089ab84e44befd29403e814fcf"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"df6c343a004f1b752799b3ae7645d02314c85d71","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# EXPERIMENTAL: The configuration enabled by this environment"},{"line_number":2,"context_line":"# is not considered production-ready."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# A Heat environment file which can be used to enable a"},{"line_number":5,"context_line":"# a Manila CephFS driver backend."},{"line_number":6,"context_line":"resource_registry:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f485f77_7676a740","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":1},"updated":"2017-11-18 11:49:17.000000000","message":"Remove?  The intent is to GA with this back end but to leave cephfsnative tech preview.","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"cc0c204dbdf80a7dcd55281e442362cd447b79bd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# EXPERIMENTAL: The configuration enabled by this environment"},{"line_number":2,"context_line":"# is not considered production-ready."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# A Heat environment file which can be used to enable a"},{"line_number":5,"context_line":"# a Manila CephFS driver backend."},{"line_number":6,"context_line":"resource_registry:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ff82abbf_0d8fd923","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":1},"in_reply_to":"1f485f77_7676a740","updated":"2017-11-21 09:33:29.000000000","message":"Done","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"df6c343a004f1b752799b3ae7645d02314c85d71","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# is not considered production-ready."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# A Heat environment file which can be used to enable a"},{"line_number":5,"context_line":"# a Manila CephFS driver backend."},{"line_number":6,"context_line":"resource_registry:"},{"line_number":7,"context_line":"  OS::TripleO::Services::ManilaApi: ../docker/services/manila-api.yaml"},{"line_number":8,"context_line":"  OS::TripleO::Services::ManilaScheduler: ../docker/services/manila-scheduler.yaml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f485f77_36926f4d","line":5,"range":{"start_line":5,"start_character":11,"end_line":5,"end_character":17},"updated":"2017-11-18 11:49:17.000000000","message":"CephFS-NFS or perhaps CephNfs","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"cc0c204dbdf80a7dcd55281e442362cd447b79bd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# is not considered production-ready."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# A Heat environment file which can be used to enable a"},{"line_number":5,"context_line":"# a Manila CephFS driver backend."},{"line_number":6,"context_line":"resource_registry:"},{"line_number":7,"context_line":"  OS::TripleO::Services::ManilaApi: ../docker/services/manila-api.yaml"},{"line_number":8,"context_line":"  OS::TripleO::Services::ManilaScheduler: ../docker/services/manila-scheduler.yaml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ff82abbf_8da2099a","line":5,"range":{"start_line":5,"start_character":11,"end_line":5,"end_character":17},"in_reply_to":"1f485f77_36926f4d","updated":"2017-11-21 09:33:29.000000000","message":"Done","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"}],"overcloud-resource-registry-puppet.j2.yaml":[{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"0971b7d5eb4c7a7bd88ede112ba596bd571ecdc2","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  {%- endfor %}"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":94,"context_line":"  OS::TripleO::Network::Ports::GaneshaVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":95,"context_line":"  OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  # Service to network Mappings"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f231b9d_a0e08f27","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":78},"updated":"2017-06-15 17:20:51.000000000","message":"This is incorrect. The ctlplane_vip.yaml template will only create a VIP on the Control Plane network, not the network configured for Ganesha in the ServiceNetMap. That said, I am not sure we should have a separate VIP for Ganesha. What are the reasons we wouldn\u0027t reuse the VIP that exists on the network? That is, if Ganesha were configured on the Storage network, it would use the existing storage VIP. When composable networks are complete, you could create a separate Ganesha network, and it would use the VIP on that custom network.","commit_id":"ca1d5787b4de25e9186941b96339a998165b8173"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"bae219dc0c71f8164996368c697a2d7d86be80ce","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  {%- endfor %}"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":94,"context_line":"  OS::TripleO::Network::Ports::GaneshaVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":95,"context_line":"  OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  # Service to network Mappings"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_dd29c4f2","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":78},"in_reply_to":"1f1a1f67_44516562","updated":"2017-07-20 18:31:54.000000000","message":"Yes, I was addressing only the VIP part in my previous comment. Use of control plane is wrong - I\u0027m updating the patch to use storage network.","commit_id":"ca1d5787b4de25e9186941b96339a998165b8173"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"5caf366b8420aa5aca08391e5165c7f6a74e2a6f","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  {%- endfor %}"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":94,"context_line":"  OS::TripleO::Network::Ports::GaneshaVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":95,"context_line":"  OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  # Service to network Mappings"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_44516562","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":78},"in_reply_to":"1f1a1f67_c71fceb5","updated":"2017-07-20 17:02:44.000000000","message":"Sure, but why do you think you need this on the Control Plane network? Wouldn\u0027t this be better as a *second* VIP on the Storage network? Why put this on the Control Plane, where it doesn\u0027t really belong?","commit_id":"ca1d5787b4de25e9186941b96339a998165b8173"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"d3f8a377e856a3db02b116e82b607401a663a4fc","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  {%- endfor %}"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":94,"context_line":"  OS::TripleO::Network::Ports::GaneshaVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":95,"context_line":"  OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  # Service to network Mappings"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_38c1e681","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":78},"in_reply_to":"1f1a1f67_dd29c4f2","updated":"2017-07-20 18:50:03.000000000","message":"Actually, now that I think about it, do we really need a separate VIP just for the Ganesha service? Couldn\u0027t we implement the same ServiceNetMap mechanism that the other services use, and have Ganesha use whatever VIP existed on the Ganesha network specified in the ServiceNetMap? Then, when we add a new composable network for Ganesha, we will specify the name of that new network in the ServiceNetMap and Ganesha will use that instead.\n\nIf Ganesha is a service that requires its own VIP (separate from the other VIPs), then I could see creating a second VIP on the Storage network.","commit_id":"ca1d5787b4de25e9186941b96339a998165b8173"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"a2efb0007397de5ac508d360497d287e0b79ccb3","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  {%- endfor %}"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  OS::TripleO::Network::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":94,"context_line":"  OS::TripleO::Network::Ports::GaneshaVipPort: network/ports/ctlplane_vip.yaml"},{"line_number":95,"context_line":"  OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Neutron::Port"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  # Service to network Mappings"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_c71fceb5","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":78},"in_reply_to":"7f231b9d_a0e08f27","updated":"2017-07-20 07:16:33.000000000","message":"Yes, once composable networks are complete the plan is to create a seprate ganesha network. For now (when using storage network as POC) I used a separate VIP because ganesha service is active/passive and VIP should move on failover to the node where ganesha runs - if I reuse the storage VIP I couldn\u0027t move ganesha service independently (which is scenario when ganesha service on a node is failing for some reason, but node is fine otherwise).","commit_id":"ca1d5787b4de25e9186941b96339a998165b8173"}],"puppet/all-nodes-config.j2.yaml":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"d43852b1f8b4ce233bee9f703acc19cd15bf50af","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                network_virtual_ips:"},{"line_number":192,"context_line":"{% set count \u003d 1 %}"},{"line_number":193,"context_line":"{%- for network in networks if network.vip|default(false) %}"},{"line_number":194,"context_line":"{%- if network.name !\u003d \u0027External\u0027 and network.name !\u003d \u0027StorageNFS\u0027 %}"},{"line_number":195,"context_line":"                  {{network.name_lower}}:"},{"line_number":196,"context_line":"                    ip_address: {get_param: [NetVipMap, {get_param: {{network.name}}NetName}]}"},{"line_number":197,"context_line":"                    index: {{count}}"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7f96bb07_e5542524","line":194,"range":{"start_line":194,"start_character":0,"end_line":194,"end_character":69},"updated":"2018-01-19 13:23:25.000000000","message":"Could you add a comment here along the lines of - External virtual ip is currently being handled separately as public_virtual_ip, likewise, StorageNFS virtual ip is handled separetely as ganesha_vip.","commit_id":"a12246cbf38276c7d02a1c7376dabe57c7aac015"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"127c17cc0261824aa9665eecd7f3cfccc3735731","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                network_virtual_ips:"},{"line_number":192,"context_line":"{% set count \u003d 1 %}"},{"line_number":193,"context_line":"{%- for network in networks if network.vip|default(false) %}"},{"line_number":194,"context_line":"{%- if network.name !\u003d \u0027External\u0027 and network.name !\u003d \u0027StorageNFS\u0027 %}"},{"line_number":195,"context_line":"                  {{network.name_lower}}:"},{"line_number":196,"context_line":"                    ip_address: {get_param: [NetVipMap, {get_param: {{network.name}}NetName}]}"},{"line_number":197,"context_line":"                    index: {{count}}"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7f96bb07_6f0c6e3b","line":194,"range":{"start_line":194,"start_character":0,"end_line":194,"end_character":69},"in_reply_to":"7f96bb07_e5542524","updated":"2018-01-19 16:22:49.000000000","message":"Good idea.","commit_id":"a12246cbf38276c7d02a1c7376dabe57c7aac015"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"d43852b1f8b4ce233bee9f703acc19cd15bf50af","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                cloud_name_internal_api: {get_param: cloud_name_internal_api}"},{"line_number":217,"context_line":"                cloud_name_storage: {get_param: cloud_name_storage}"},{"line_number":218,"context_line":"                cloud_name_storage_mgmt: {get_param: cloud_name_storage_mgmt}"},{"line_number":219,"context_line":"                cloud_name_storage_nfs: {get_param: cloud_name_storage_nfs}"},{"line_number":220,"context_line":"                cloud_name_ctlplane: {get_param: cloud_name_ctlplane}"},{"line_number":221,"context_line":"                # TLS parameters"},{"line_number":222,"context_line":"                certmonger_ca: {get_param: CertmongerCA}"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7f96bb07_c557a926","line":219,"range":{"start_line":219,"start_character":15,"end_line":219,"end_character":75},"updated":"2018-01-19 13:23:25.000000000","message":"I have a patch that will use a loop instead of hardcoding - https://review.openstack.org/#/c/532994/, but OK to leave.","commit_id":"a12246cbf38276c7d02a1c7376dabe57c7aac015"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"127c17cc0261824aa9665eecd7f3cfccc3735731","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                cloud_name_internal_api: {get_param: cloud_name_internal_api}"},{"line_number":217,"context_line":"                cloud_name_storage: {get_param: cloud_name_storage}"},{"line_number":218,"context_line":"                cloud_name_storage_mgmt: {get_param: cloud_name_storage_mgmt}"},{"line_number":219,"context_line":"                cloud_name_storage_nfs: {get_param: cloud_name_storage_nfs}"},{"line_number":220,"context_line":"                cloud_name_ctlplane: {get_param: cloud_name_ctlplane}"},{"line_number":221,"context_line":"                # TLS parameters"},{"line_number":222,"context_line":"                certmonger_ca: {get_param: CertmongerCA}"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7f96bb07_4f07321a","line":219,"range":{"start_line":219,"start_character":15,"end_line":219,"end_character":75},"in_reply_to":"7f96bb07_c557a926","updated":"2018-01-19 16:22:49.000000000","message":"I put myself on that review and will remove this line either in this review (if 532994 merges first) or in a followup review.","commit_id":"a12246cbf38276c7d02a1c7376dabe57c7aac015"}],"puppet/all-nodes-config.yaml":[{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"54f7174368e13605e56aa5891d1b480c239e9ba7","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                storage_virtual_ip: {get_param: [NetVipMap, {get_param: StorageNetName}]}"},{"line_number":209,"context_line":"                storage_mgmt_virtual_ip: {get_param: [NetVipMap, {get_param: StorageMgmtNetName}]}"},{"line_number":210,"context_line":"                redis_vip: {get_param: RedisVirtualIP}"},{"line_number":211,"context_line":"                ganesha_vip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GaneshaNetwork]}]}"},{"line_number":212,"context_line":"                # public_virtual_ip and controller_virtual_ip are needed in"},{"line_number":213,"context_line":"                # both HAproxy \u0026 keepalived."},{"line_number":214,"context_line":"                tripleo::haproxy::public_virtual_ip: {get_param: [NetVipMap, {get_param: ExternalNetName}]}"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1f1a1f67_b24740bd","line":211,"updated":"2017-07-21 08:39:44.000000000","message":"What is the proper way to get VIP of a composable network? The above reference is probably incorrect - Heat complains about:\n\n u\u0027message\u0027: u\u0027Failed to run action [action_ex_id\u003de7acbd10-f43d-4bd3-9a65-11de29675920, action_cls\u003d\\\u0027\u003cclass \\\u0027mistral.actions.action_factory.DeployStackAction\\\u0027\u003e\\\u0027, attributes\u003d\\\u0027{}\\\u0027, params\n\u003d\\\u0027{u\\\u0027skip_deploy_identifier\\\u0027: False, u\\\u0027container\\\u0027: u\\\u0027overcloud\\\u0027, u\\\u0027timeout\\\u0027: 240}\\\u0027]\\n ERROR: Failed to validate: : resources.allNodesConfig: : The specified reference \"NetIpMap\" (i\nn allNodesConfigImpl.Properties.config.datafiles.vip_data.map_merge[1].ganesha_vip) is incorrect.\u0027","commit_id":"c3c66831d8f542ebf8cbcf4b5db6392dd7a63c9b"}],"puppet/services/manila-backend-cephfs.yaml":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"df6c343a004f1b752799b3ae7645d02314c85d71","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    type: boolean"},{"line_number":54,"context_line":"    default: false"},{"line_number":55,"context_line":"  ManilaCephFSCephFSProtocolHelperType:"},{"line_number":56,"context_line":"    default: CEPHFS"},{"line_number":57,"context_line":"    type: string"},{"line_number":58,"context_line":"  # (jprovazn) default value is set to assure this templates works with an"},{"line_number":59,"context_line":"  # external ceph too (user/key is created only when ceph is deployed by"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1f485f77_36e02fcd","line":56,"range":{"start_line":56,"start_character":13,"end_line":56,"end_character":19},"updated":"2017-11-18 11:49:17.000000000","message":"Would there be bad consequences if we set the default to \u0027NFS\u0027?  That\u0027s going to be the supported driver.","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"cc0c204dbdf80a7dcd55281e442362cd447b79bd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    type: boolean"},{"line_number":54,"context_line":"    default: false"},{"line_number":55,"context_line":"  ManilaCephFSCephFSProtocolHelperType:"},{"line_number":56,"context_line":"    default: CEPHFS"},{"line_number":57,"context_line":"    type: string"},{"line_number":58,"context_line":"  # (jprovazn) default value is set to assure this templates works with an"},{"line_number":59,"context_line":"  # external ceph too (user/key is created only when ceph is deployed by"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ff82abbf_b852ad66","line":56,"range":{"start_line":56,"start_character":13,"end_line":56,"end_character":19},"in_reply_to":"1f485f77_36e02fcd","updated":"2017-11-21 09:33:29.000000000","message":"I think the consequence at this point would be that scenario004 would be failing (default luminous doesn\u0027t include rados patches, ceph-ansible in CI still uses stable 3.0 branch too).","commit_id":"41aa99c846863c74f2e2629a2130ba59d35f66ff"}],"puppet/services/manila-backend-cephfsganesha.yaml":[{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"e8c9377f3f04cef6ccc00b1751f2401351135e0e","unresolved":false,"context_lines":[{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ServiceData:"},{"line_number":8,"context_line":"    default: {}"},{"line_number":9,"context_line":"    description: Dictionary packing service data"},{"line_number":10,"context_line":"    type: json"},{"line_number":11,"context_line":"  RoleName:"},{"line_number":12,"context_line":"    default: \u0027\u0027"},{"line_number":13,"context_line":"    description: Role name on which the service is applied"},{"line_number":14,"context_line":"    type: string"},{"line_number":15,"context_line":"  RoleParameters:"},{"line_number":16,"context_line":"    default: {}"},{"line_number":17,"context_line":"    description: Parameters specific to the role"},{"line_number":18,"context_line":"    type: json"},{"line_number":19,"context_line":"  ServiceNetMap:"},{"line_number":20,"context_line":"    default: {}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3f4b6375_b7ec7c8f","line":17,"range":{"start_line":9,"start_character":0,"end_line":17,"end_character":48},"updated":"2017-11-01 19:58:34.000000000","message":"nit: I like to terminate descriptions with periods.","commit_id":"7ee787a109a279089ab84e44befd29403e814fcf"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"1c971104aa292b8ea69b207e71067d89f2084107","unresolved":false,"context_lines":[{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ServiceData:"},{"line_number":8,"context_line":"    default: {}"},{"line_number":9,"context_line":"    description: Dictionary packing service data"},{"line_number":10,"context_line":"    type: json"},{"line_number":11,"context_line":"  RoleName:"},{"line_number":12,"context_line":"    default: \u0027\u0027"},{"line_number":13,"context_line":"    description: Role name on which the service is applied"},{"line_number":14,"context_line":"    type: string"},{"line_number":15,"context_line":"  RoleParameters:"},{"line_number":16,"context_line":"    default: {}"},{"line_number":17,"context_line":"    description: Parameters specific to the role"},{"line_number":18,"context_line":"    type: json"},{"line_number":19,"context_line":"  ServiceNetMap:"},{"line_number":20,"context_line":"    default: {}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3f4b6375_bfe0a498","line":17,"range":{"start_line":9,"start_character":0,"end_line":17,"end_character":48},"in_reply_to":"3f4b6375_b7ec7c8f","updated":"2017-11-03 13:36:26.000000000","message":"Done","commit_id":"7ee787a109a279089ab84e44befd29403e814fcf"}]}
