)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"80501b5c30f8f9c665ebb773ee08cdcd88b97d5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5be42812_5991e8cc","updated":"2021-10-25 11:48:40.000000000","message":"I get the right data injected in my IPA with this patch.","commit_id":"6bae260bcfa369365d9cfb3112c686f468fcef55"},{"author":{"_account_id":20172,"name":"Michele Baldessari","email":"michele@acksyn.org","username":"michele"},"change_message_id":"6c02e61acda831c8ad4d52532eeee053af248d9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2112a44c_b4a0ad1c","updated":"2021-10-26 06:20:43.000000000","message":"Note that this one gave us a regression in cs9 land (not sure if it is only cs9 related). Filed as https://bugs.launchpad.net/tripleo/+bug/1948754","commit_id":"6bae260bcfa369365d9cfb3112c686f468fcef55"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"91c9c6c3c069745eea6cb0e1008a177b4c95b71e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"903d9cc8_8c2b9b00","updated":"2021-10-27 10:47:57.000000000","message":"This has been re-proposed as two separate changes, handling each issue individually:\n\nhttps://review.opendev.org/c/openstack/tripleo-heat-templates/+/815598\n  This is a copy of krb-service-principals/role.role.j2.yaml in this change.\n\nhttps://review.opendev.org/c/openstack/tripleo-heat-templates/+/815599\n  This takes a different approach, using the ServiceNetMaps PublicNetwork to filter \u0027external\u0027 from the nets to create a certificate for in haproxy-internal-tls-certmonger.j2.yaml. I believe https://bugs.launchpad.net/tripleo/+bug/1948754 was caused by the previous approach not working as intended.\n","commit_id":"6bae260bcfa369365d9cfb3112c686f468fcef55"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"4691491b2da7b4d8d18250f8de464f62c2131875","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"30900e11_54574496","updated":"2021-10-25 11:14:55.000000000","message":"check-rdo\n\nI\u0027m still running a test on my local env, hitting some bumps, not due to the patch though. Seems to work as expected so far. Will +2 once I get an actual working env.","commit_id":"6bae260bcfa369365d9cfb3112c686f468fcef55"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"59bd095b61440fb4efe92fabe7bfd8b63d04f91b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"77e4ca50_91bf99c6","updated":"2021-10-25 05:22:27.000000000","message":"recheck","commit_id":"6bae260bcfa369365d9cfb3112c686f468fcef55"}],"deployment/apache/apache-baremetal-puppet.j2.yaml":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"173a883e4487140d593d496df3e35fdb11b94030","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        # since we don\u0027t generate certificates for those."},{"line_number":75,"context_line":"        - ctlplane"},{"line_number":76,"context_line":"{%- for network in networks if network.enabled|default(true) and network.vip|default(false) %}"},{"line_number":77,"context_line":"        - {{network.name}}"},{"line_number":78,"context_line":"{%- endfor %}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"outputs:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"93ea83ab_1f50af71","line":77,"updated":"2021-10-04 07:56:01.000000000","message":"I think we should at least push .lower() here - else we\u0027ll end with \"Storage\", \"StorageMgmt\" and so on.","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"}],"extraconfig/nova_metadata/krb-service-principals/role.role.j2.yaml":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"173a883e4487140d593d496df3e35fdb11b94030","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            role_networks:"},{"line_number":62,"context_line":"              - ctlplane"},{"line_number":63,"context_line":"{%- for network in networks if network.name in role.networks %}"},{"line_number":64,"context_line":"              - {{network.name}}"},{"line_number":65,"context_line":"{%- endfor %}"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # Generates entries for nova metadata with the following format:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"15bbbbfc_d078b064","line":64,"updated":"2021-10-04 07:56:01.000000000","message":"same here, at least \".lower()\" is needed","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"1257abd4897985adde13e4366fe2df4aeca3f366","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            role_networks:"},{"line_number":62,"context_line":"              - ctlplane"},{"line_number":63,"context_line":"{%- for network in networks if network.name in role.networks %}"},{"line_number":64,"context_line":"              - {{network.name}}"},{"line_number":65,"context_line":"{%- endfor %}"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # Generates entries for nova metadata with the following format:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ce71413c_ccc0a7a6","line":64,"in_reply_to":"15bbbbfc_d078b064","updated":"2021-10-04 08:34:21.000000000","message":"I don\u0027t think .lower() is needed here. The stuff in role_data-\u003emetadata_settings-\u003enetwork would be the version without .lower() since that was what we put there in the ApacheNetworks resource.","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8cf38d3e3323f3c5a0e755e1deb42e2d0f5c55ff","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            role_networks:"},{"line_number":62,"context_line":"              - ctlplane"},{"line_number":63,"context_line":"{%- for network in networks if network.name in role.networks %}"},{"line_number":64,"context_line":"              - {{network.name}}"},{"line_number":65,"context_line":"{%- endfor %}"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  # Generates entries for nova metadata with the following format:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"395f185a_5c0b6dfe","line":64,"in_reply_to":"ce71413c_ccc0a7a6","updated":"2021-10-04 11:12:24.000000000","message":"this will then change the HostNetMap imho. It was using the name_lower in other places.","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"173a883e4487140d593d496df3e35fdb11b94030","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    properties:"},{"line_number":111,"context_line":"      value:"},{"line_number":112,"context_line":"        yaql:"},{"line_number":113,"context_line":"          expression: dict(coalesce($.data, []).where($ !\u003d null and $.type \u003d \u0027node\u0027).groupBy(concat(\u0027compact_service_\u0027, $.service), $.network.toLower()))"},{"line_number":114,"context_line":"          data: {get_attr: [IncomingMetadataSettings, value]}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"outputs:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"fbd6c47f_b619d443","line":113,"range":{"start_line":113,"start_character":142,"end_line":113,"end_character":149},"updated":"2021-10-04 07:56:01.000000000","message":"toLower() ? yaql has yet another name for that method?","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"ba4b17da65295c36a4d5bb5d9dd062f50766423e","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    properties:"},{"line_number":111,"context_line":"      value:"},{"line_number":112,"context_line":"        yaql:"},{"line_number":113,"context_line":"          expression: dict(coalesce($.data, []).where($ !\u003d null and $.type \u003d \u0027node\u0027).groupBy(concat(\u0027compact_service_\u0027, $.service), $.network.toLower()))"},{"line_number":114,"context_line":"          data: {get_attr: [IncomingMetadataSettings, value]}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"outputs:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"5f1aa924_bb074e19","line":113,"range":{"start_line":113,"start_character":142,"end_line":113,"end_character":149},"in_reply_to":"3fb80f77_3c5c05b8","updated":"2021-10-04 18:22:50.000000000","message":"hmm, \u0027fqdn_External\u0027 is undefined\" - https://logserver.rdoproject.org/86/812286/1/openstack-check/tripleo-ci-centos-8-ovb-3ctlr_1comp_1supp-featureset039/f16edd0/logs/undercloud/home/zuul/overcloud_deploy.log.txt.gz\n\nLet\u0027s try to use .lower() in Jinja2 instead ...","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"1257abd4897985adde13e4366fe2df4aeca3f366","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    properties:"},{"line_number":111,"context_line":"      value:"},{"line_number":112,"context_line":"        yaql:"},{"line_number":113,"context_line":"          expression: dict(coalesce($.data, []).where($ !\u003d null and $.type \u003d \u0027node\u0027).groupBy(concat(\u0027compact_service_\u0027, $.service), $.network.toLower()))"},{"line_number":114,"context_line":"          data: {get_attr: [IncomingMetadataSettings, value]}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"outputs:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3fb80f77_3c5c05b8","line":113,"range":{"start_line":113,"start_character":142,"end_line":113,"end_character":149},"in_reply_to":"fbd6c47f_b619d443","updated":"2021-10-04 08:34:21.000000000","message":":) yup, https://yaql.readthedocs.io/en/latest/standard_library.html#tolower","commit_id":"bde69fbb75ce2f9cdea0ccad0cf5da70940f785e"}],"overcloud-resource-registry-puppet.j2.yaml":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"bc052e00fa33607ce9d5bca2d0db5c6449cd0576","unresolved":true,"context_lines":[{"line_number":437,"context_line":"    {{role.name}}MetricsQdrNetwork: ctlplane"},{"line_number":438,"context_line":"  {%- endif %}"},{"line_number":439,"context_line":"  {%- else %}"},{"line_number":440,"context_line":"  {%- if \u0027InternalApi\u0027 in role.networks %}"},{"line_number":441,"context_line":"    {{role.name}}HostnameResolveNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":442,"context_line":"    {{role.name}}MetricsQdrNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":443,"context_line":"  {%- else %}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"8ae6ee2c_bed143fc","side":"PARENT","line":440,"range":{"start_line":440,"start_character":2,"end_line":440,"end_character":42},"updated":"2021-10-06 16:58:20.000000000","message":"Removing these will set the HostnameResolvNetwork to inernal_api even if the role does not have a interface in internal_api. Which will break the deployment. These where added for a reason: https://opendev.org/openstack/tripleo-heat-templates/commit/324fcc36ba4945623aa8e6b6f8466e45b6be93af\n\nI think the right thing to do is to document that if you use custom network names you will have to manually override these in the ServiceNetMap?","commit_id":"5147e8b3fa5f249459b65f672cb2d2c35dff5754"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"998108f79e4ba720b394cc233c2faad546bcdbd7","unresolved":true,"context_lines":[{"line_number":437,"context_line":"    {{role.name}}MetricsQdrNetwork: ctlplane"},{"line_number":438,"context_line":"  {%- endif %}"},{"line_number":439,"context_line":"  {%- else %}"},{"line_number":440,"context_line":"  {%- if \u0027InternalApi\u0027 in role.networks %}"},{"line_number":441,"context_line":"    {{role.name}}HostnameResolveNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":442,"context_line":"    {{role.name}}MetricsQdrNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":443,"context_line":"  {%- else %}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"82613453_a1340f25","side":"PARENT","line":440,"range":{"start_line":440,"start_character":2,"end_line":440,"end_character":42},"in_reply_to":"2241e557_bb035f34","updated":"2021-10-07 05:49:18.000000000","message":"I thought the \"get\" here was using \"ctlplane\" if it can\u0027t actually get the intended value... ? So I\u0027m a but surprised seeing this \"if\", to be honest.","commit_id":"5147e8b3fa5f249459b65f672cb2d2c35dff5754"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"83ce573419bf315cb78ba7b1088b6b9c34a8e60d","unresolved":true,"context_lines":[{"line_number":437,"context_line":"    {{role.name}}MetricsQdrNetwork: ctlplane"},{"line_number":438,"context_line":"  {%- endif %}"},{"line_number":439,"context_line":"  {%- else %}"},{"line_number":440,"context_line":"  {%- if \u0027InternalApi\u0027 in role.networks %}"},{"line_number":441,"context_line":"    {{role.name}}HostnameResolveNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":442,"context_line":"    {{role.name}}MetricsQdrNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":443,"context_line":"  {%- else %}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3543177f_7443b213","side":"PARENT","line":440,"range":{"start_line":440,"start_character":2,"end_line":440,"end_character":42},"in_reply_to":"82613453_a1340f25","updated":"2021-10-07 08:48:02.000000000","message":"The network \u0027internal_api\u0027 is in _service_nets, but \u0027internal_api\u0027 is not in the role.networks. The get will return a network that is not \"attached\" to the role.","commit_id":"5147e8b3fa5f249459b65f672cb2d2c35dff5754"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"403c08252a829108072663db531f5446cd4469fa","unresolved":true,"context_lines":[{"line_number":437,"context_line":"    {{role.name}}MetricsQdrNetwork: ctlplane"},{"line_number":438,"context_line":"  {%- endif %}"},{"line_number":439,"context_line":"  {%- else %}"},{"line_number":440,"context_line":"  {%- if \u0027InternalApi\u0027 in role.networks %}"},{"line_number":441,"context_line":"    {{role.name}}HostnameResolveNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":442,"context_line":"    {{role.name}}MetricsQdrNetwork: {{ _service_nets.get(\u0027internal_api\u0027, \u0027ctlplane\u0027) }}"},{"line_number":443,"context_line":"  {%- else %}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2241e557_bb035f34","side":"PARENT","line":440,"range":{"start_line":440,"start_character":2,"end_line":440,"end_character":42},"in_reply_to":"8ae6ee2c_bed143fc","updated":"2021-10-06 17:36:22.000000000","message":"Maybe we should add an parameter in roles data for resolve_network and qdr_metrics_network?\nAnd here do:\n    {{role.name}}HostnameResolveNetwork: {{ _service_nets.get(role.resolve_network, \u0027ctlplane\u0027) }}\n    {{role.name}}MetricsQdrNetwork: {{ _service_nets.get(role.qdr_metrics_network, \u0027ctlplane\u0027) }}\n\nThese check for static network names in role.networks is very fragile. If there was a parameter to set these for each role in roles data it becomes fairly clear that it needs to be customized?","commit_id":"5147e8b3fa5f249459b65f672cb2d2c35dff5754"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"bc052e00fa33607ce9d5bca2d0db5c6449cd0576","unresolved":true,"context_lines":[{"line_number":452,"context_line":"{%- for network in networks if network.vip|default(false) %}"},{"line_number":453,"context_line":"    {{network.name}}: {{network.name_lower}}_subnet"},{"line_number":454,"context_line":"{%- endfor %}"},{"line_number":455,"context_line":"    redis: internal_api_subnet"},{"line_number":456,"context_line":"    ovn_dbs: internal_api_subnet"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"  EndpointMap:"},{"line_number":459,"context_line":"    AodhAdmin: {protocol: http, port: \u00278042\u0027, host: IP_ADDRESS}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6f37380d_d4c9e021","side":"PARENT","line":456,"range":{"start_line":455,"start_character":4,"end_line":456,"end_character":32},"updated":"2021-10-06 16:58:20.000000000","message":"Here is also candidate for \"always have to override if using custom names\".","commit_id":"5147e8b3fa5f249459b65f672cb2d2c35dff5754"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"998108f79e4ba720b394cc233c2faad546bcdbd7","unresolved":true,"context_lines":[{"line_number":452,"context_line":"{%- for network in networks if network.vip|default(false) %}"},{"line_number":453,"context_line":"    {{network.name}}: {{network.name_lower}}_subnet"},{"line_number":454,"context_line":"{%- endfor %}"},{"line_number":455,"context_line":"    redis: internal_api_subnet"},{"line_number":456,"context_line":"    ovn_dbs: internal_api_subnet"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"  EndpointMap:"},{"line_number":459,"context_line":"    AodhAdmin: {protocol: http, port: \u00278042\u0027, host: IP_ADDRESS}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"aaa452c9_d978302d","side":"PARENT","line":456,"range":{"start_line":455,"start_character":4,"end_line":456,"end_character":32},"in_reply_to":"6f37380d_d4c9e021","updated":"2021-10-07 05:49:18.000000000","message":"right - subnet are especially prone to custom names.","commit_id":"5147e8b3fa5f249459b65f672cb2d2c35dff5754"}]}
