)]}'
{"deployment/nova/nova-compute-container-puppet.yaml":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"edefc8508bacaec198232139048f131074df0a73","unresolved":true,"context_lines":[{"line_number":550,"context_line":"  NovaGlanceRbdPoolName:"},{"line_number":551,"context_line":"    type: string"},{"line_number":552,"context_line":"    description: \u003e"},{"line_number":553,"context_line":"      Per default GlanceRbdPoolName is set as rbd pool name. This parameter can"},{"line_number":554,"context_line":"      can be used to overwrite GlanceRbdPoolName."},{"line_number":555,"context_line":"    default: \u0027\u0027"},{"line_number":556,"context_line":"    tags:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"190cb69e_4cbed2a4","line":553,"range":{"start_line":553,"start_character":6,"end_line":553,"end_character":59},"updated":"2021-01-26 17:42:54.000000000","message":"Sorry, I don\u0027t understand what this sentence is trying to convey.","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":17216,"name":"Martin Schuppert","email":"mschuppert@redhat.com","username":"mcschupp"},"change_message_id":"813aeff6a3562e485063ee53032ff4ed400c77eb","unresolved":true,"context_lines":[{"line_number":550,"context_line":"  NovaGlanceRbdPoolName:"},{"line_number":551,"context_line":"    type: string"},{"line_number":552,"context_line":"    description: \u003e"},{"line_number":553,"context_line":"      Per default GlanceRbdPoolName is set as rbd pool name. This parameter can"},{"line_number":554,"context_line":"      can be used to overwrite GlanceRbdPoolName."},{"line_number":555,"context_line":"    default: \u0027\u0027"},{"line_number":556,"context_line":"    tags:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"d334ea13_a5a371dc","line":553,"range":{"start_line":553,"start_character":6,"end_line":553,"end_character":59},"in_reply_to":"190cb69e_4cbed2a4","updated":"2021-01-27 07:31:22.000000000","message":"we take the default GlanceRbdPoolName, but glance supports multistore to add additional backends. the intend is to be able to override the default pool to one of the additional configured backends for this compute role. I now see that when using multiple stores we\nalso need  to be able to set a different CephClusterName/CephClientUserName. I\u0027ll update the patch to have parameters for this.","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":17216,"name":"Martin Schuppert","email":"mschuppert@redhat.com","username":"mcschupp"},"change_message_id":"339a44125e3052f82f1247c3b49fc404b197be10","unresolved":true,"context_lines":[{"line_number":550,"context_line":"  NovaGlanceRbdPoolName:"},{"line_number":551,"context_line":"    type: string"},{"line_number":552,"context_line":"    description: \u003e"},{"line_number":553,"context_line":"      Per default GlanceRbdPoolName is set as rbd pool name. This parameter can"},{"line_number":554,"context_line":"      can be used to overwrite GlanceRbdPoolName."},{"line_number":555,"context_line":"    default: \u0027\u0027"},{"line_number":556,"context_line":"    tags:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"f57bf98c_c781230b","line":553,"range":{"start_line":553,"start_character":6,"end_line":553,"end_character":59},"in_reply_to":"d334ea13_a5a371dc","updated":"2021-01-27 10:04:38.000000000","message":"well thinking about this again it does not make sense to support override CephClusterName/CephClientUserName. as it will be a different ceph cluster from where the ephemeral nova disks are located, it\u0027ll end up in using the api download process anyways.","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":25402,"name":"Francesco Pantano","email":"fpantano@redhat.com","username":"fmount"},"change_message_id":"f8b51ee483d300f3f66b42b4289a058f8d2dc87e","unresolved":true,"context_lines":[{"line_number":550,"context_line":"  NovaGlanceRbdPoolName:"},{"line_number":551,"context_line":"    type: string"},{"line_number":552,"context_line":"    description: \u003e"},{"line_number":553,"context_line":"      Per default GlanceRbdPoolName is set as rbd pool name. This parameter can"},{"line_number":554,"context_line":"      can be used to overwrite GlanceRbdPoolName."},{"line_number":555,"context_line":"    default: \u0027\u0027"},{"line_number":556,"context_line":"    tags:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3baaa604_431f7264","line":553,"range":{"start_line":553,"start_character":6,"end_line":553,"end_character":59},"in_reply_to":"f57bf98c_c781230b","updated":"2021-01-27 17:52:13.000000000","message":"iiuc here you\u0027re overriding the GlanceRBDPool (which is used in the glance config) if some conditions are met (nova_glance_rbd_pool_name_set and a few others).\nMaybe I\u0027m missing some logic into puppet but the purpose here is to use NovaGlanceRbdPoolName instead of the default variable only when rbd download is enabled, right?\nThis is ok since you\u0027re supporting multiple instances via puppet but I\u0027m wondering if it\u0027s better having a dictionary containing multiple configurations for multiple instances of the puppet resource.\nIn addition, should the CephPools value (where a different pool !\u003d from the default one) needs to be checked?","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"edefc8508bacaec198232139048f131074df0a73","unresolved":true,"context_lines":[{"line_number":551,"context_line":"    type: string"},{"line_number":552,"context_line":"    description: \u003e"},{"line_number":553,"context_line":"      Per default GlanceRbdPoolName is set as rbd pool name. This parameter can"},{"line_number":554,"context_line":"      can be used to overwrite GlanceRbdPoolName."},{"line_number":555,"context_line":"    default: \u0027\u0027"},{"line_number":556,"context_line":"    tags:"},{"line_number":557,"context_line":"      - role_specific"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"16ab5adf_6d242b13","line":554,"range":{"start_line":554,"start_character":21,"end_line":554,"end_character":30},"updated":"2021-01-26 17:42:54.000000000","message":"Do you mean \"override\"? That would make more sense to me.","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":17216,"name":"Martin Schuppert","email":"mschuppert@redhat.com","username":"mcschupp"},"change_message_id":"813aeff6a3562e485063ee53032ff4ed400c77eb","unresolved":true,"context_lines":[{"line_number":551,"context_line":"    type: string"},{"line_number":552,"context_line":"    description: \u003e"},{"line_number":553,"context_line":"      Per default GlanceRbdPoolName is set as rbd pool name. This parameter can"},{"line_number":554,"context_line":"      can be used to overwrite GlanceRbdPoolName."},{"line_number":555,"context_line":"    default: \u0027\u0027"},{"line_number":556,"context_line":"    tags:"},{"line_number":557,"context_line":"      - role_specific"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9df3b363_313e109e","line":554,"range":{"start_line":554,"start_character":21,"end_line":554,"end_character":30},"in_reply_to":"16ab5adf_6d242b13","updated":"2021-01-27 07:31:22.000000000","message":"yes override, had to lookup the different meaning between overwrite and override as the translation of the word itself is the same 😊","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":25402,"name":"Francesco Pantano","email":"fpantano@redhat.com","username":"fmount"},"change_message_id":"f8b51ee483d300f3f66b42b4289a058f8d2dc87e","unresolved":false,"context_lines":[{"line_number":929,"context_line":"            nova::glance::rbd_ceph_conf:"},{"line_number":930,"context_line":"              list_join:"},{"line_number":931,"context_line":"              - \u0027\u0027"},{"line_number":932,"context_line":"              - - \u0027/etc/ceph/\u0027"},{"line_number":933,"context_line":"                - {get_param: CephClusterName}"},{"line_number":934,"context_line":"                - \u0027.conf\u0027"},{"line_number":935,"context_line":"      service_config_settings:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"29be662d_87236787","line":932,"range":{"start_line":932,"start_character":18,"end_line":932,"end_character":30},"updated":"2021-01-27 17:52:13.000000000","message":"+1 since this is the location resolved within the container.","commit_id":"e950ba44fd8e32b1f41bfc052c7e3c514ca09a7f"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"09c933f830ed80dd49f6e2633798e5c1753c9d5d","unresolved":true,"context_lines":[{"line_number":593,"context_line":"    default: false"},{"line_number":594,"context_line":"    tags:"},{"line_number":595,"context_line":"      - role_specific"},{"line_number":596,"context_line":"  NovaGlanceRbdDownloadMultistoreConfig:"},{"line_number":597,"context_line":"    type: string"},{"line_number":598,"context_line":"    description: \u003e"},{"line_number":599,"context_line":"      The hash key, which is the backend ID, of the GlanceMultistoreConfig to"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"2d57078e_f2da62c6","line":596,"updated":"2021-02-02 21:27:40.000000000","message":"This NovaGlanceRbdDownloadMultistoreConfig approach certainly works, but I\u0027m mentioning an alternative just so it\u0027s recorded.\n\nAn alternative might be to define a NovaGlanceRbdDownloadBackendID parameter, which the user would use to specify the GlanceBackendID associated with this \"direct download\" feature. If NovaGlanceRbdDownloadBackendID equals GlanceBackendID then you know they want to use glance\u0027s default cluster/pool/user values. Otherwise, they want you to pull the values from GlanceMultistoreConfig using NovaGlanceRbdDownloadBackendID as the key.\n\nYou might also be able to eliminate the NovaGlanceEnableRbdDownload boolean by inference. Assume False if NovaGlanceRbdDownloadBackendID is empty (\u0027\u0027), and True if it\u0027s not.","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":17216,"name":"Martin Schuppert","email":"mschuppert@redhat.com","username":"mcschupp"},"change_message_id":"37489d2ca8806b15b7593723775f01819d610f82","unresolved":true,"context_lines":[{"line_number":593,"context_line":"    default: false"},{"line_number":594,"context_line":"    tags:"},{"line_number":595,"context_line":"      - role_specific"},{"line_number":596,"context_line":"  NovaGlanceRbdDownloadMultistoreConfig:"},{"line_number":597,"context_line":"    type: string"},{"line_number":598,"context_line":"    description: \u003e"},{"line_number":599,"context_line":"      The hash key, which is the backend ID, of the GlanceMultistoreConfig to"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"a34eaa72_c11aa36a","line":596,"in_reply_to":"2d57078e_f2da62c6","updated":"2021-02-03 06:58:08.000000000","message":"\u003e This NovaGlanceRbdDownloadMultistoreConfig approach certainly works, but I\u0027m mentioning an alternative just so it\u0027s recorded.\n\u003e \n\u003e An alternative might be to define a NovaGlanceRbdDownloadBackendID parameter, which the user would use to specify the GlanceBackendID associated with this \"direct download\" feature. If NovaGlanceRbdDownloadBackendID equals GlanceBackendID then you know they want to use glance\u0027s default cluster/pool/user values. Otherwise, they want you to pull the values from GlanceMultistoreConfig using NovaGlanceRbdDownloadBackendID as the key.\n\nyes, that\u0027s an alternative,\n\n\u003e \n\u003e You might also be able to eliminate the NovaGlanceEnableRbdDownload boolean by inference. Assume False if NovaGlanceRbdDownloadBackendID is empty (\u0027\u0027), and True if it\u0027s not.\n\nFrom discussion with Lee we agreed that this is a corner case config and we don\u0027t what this to be enabled per default, at least not atm. When we want it to be automatically enabled we can do a check like this. Thanks for the suggestion!","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":25402,"name":"Francesco Pantano","email":"fpantano@redhat.com","username":"fmount"},"change_message_id":"9dff927dfcf23bb80c183eb9e270fc739d550768","unresolved":true,"context_lines":[{"line_number":593,"context_line":"    default: false"},{"line_number":594,"context_line":"    tags:"},{"line_number":595,"context_line":"      - role_specific"},{"line_number":596,"context_line":"  NovaGlanceRbdDownloadMultistoreConfig:"},{"line_number":597,"context_line":"    type: string"},{"line_number":598,"context_line":"    description: \u003e"},{"line_number":599,"context_line":"      The hash key, which is the backend ID, of the GlanceMultistoreConfig to"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"26cf98e0_84c4a354","line":596,"in_reply_to":"a34eaa72_c11aa36a","updated":"2021-02-04 12:27:08.000000000","message":"In general I agree with the approach proposed by Alan, but I also see the motivation of this kind of definition, so +1 on my side","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"3f4da404044139550e9723e93e9e1437bd9fddff","unresolved":true,"context_lines":[{"line_number":596,"context_line":"  NovaGlanceRbdDownloadMultistoreConfig:"},{"line_number":597,"context_line":"    type: string"},{"line_number":598,"context_line":"    description: \u003e"},{"line_number":599,"context_line":"      The hash key, which is the backend ID, of the GlanceMultistoreConfig to"},{"line_number":600,"context_line":"      be used for the role where NovaGlanceEnableRbdDownload is enabled and"},{"line_number":601,"context_line":"      defaults should be overridden. If CephClientUserName or GlanceRbdPoolName"},{"line_number":602,"context_line":"      are not set in the GlanceMultistoreConfig, the global values of those"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1e610d26_ada46ad8","line":599,"range":{"start_line":599,"start_character":29,"end_line":599,"end_character":43},"updated":"2021-02-04 10:59:39.000000000","message":"The NovaGlanceRbdDownloadMultistoreConfig param name suggests it\u0027s more than just an ID. NovaGlanceRbdDownloadMultistoreID might be clearer.","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":17216,"name":"Martin Schuppert","email":"mschuppert@redhat.com","username":"mcschupp"},"change_message_id":"5c1e57d01bc0e24539027ae9e15b57f4ee63feb1","unresolved":true,"context_lines":[{"line_number":596,"context_line":"  NovaGlanceRbdDownloadMultistoreConfig:"},{"line_number":597,"context_line":"    type: string"},{"line_number":598,"context_line":"    description: \u003e"},{"line_number":599,"context_line":"      The hash key, which is the backend ID, of the GlanceMultistoreConfig to"},{"line_number":600,"context_line":"      be used for the role where NovaGlanceEnableRbdDownload is enabled and"},{"line_number":601,"context_line":"      defaults should be overridden. If CephClientUserName or GlanceRbdPoolName"},{"line_number":602,"context_line":"      are not set in the GlanceMultistoreConfig, the global values of those"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"e1c44097_fad8e50d","line":599,"range":{"start_line":599,"start_character":29,"end_line":599,"end_character":43},"in_reply_to":"1e610d26_ada46ad8","updated":"2021-02-04 12:25:56.000000000","message":"Ack, makes sense. Updated in the latest","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"09c933f830ed80dd49f6e2633798e5c1753c9d5d","unresolved":true,"context_lines":[{"line_number":1015,"context_line":"                - nova_glance_rbd_download_multistore_config_set"},{"line_number":1016,"context_line":"                -"},{"line_number":1017,"context_line":"                  yaql:"},{"line_number":1018,"context_line":"                    expression: let(k \u003d\u003e $.data.key, d \u003d\u003e $.data.default_ceph_client_user_name) -\u003e $.data.multistore.get($k).get(\"CephClientUserName\", $d)"},{"line_number":1019,"context_line":"                    data:"},{"line_number":1020,"context_line":"                      key: {get_attr: [RoleParametersValue, value, nova_glance_rbd_download_multistore_config]}"},{"line_number":1021,"context_line":"                      multistore: {get_param: GlanceMultistoreConfig}"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"22839c58_3e9ced89","line":1018,"updated":"2021-02-02 21:27:40.000000000","message":"nice! It will bomb if the user specifies an invalid NovaGlanceRbdDownloadMultistoreConfig, but hopefully it will do so in a way that helps the user understand what they did wrong.","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":25402,"name":"Francesco Pantano","email":"fpantano@redhat.com","username":"fmount"},"change_message_id":"04a5f3a7fbd9502039a8c1abcbcdb2bf81449f6b","unresolved":true,"context_lines":[{"line_number":1015,"context_line":"                - nova_glance_rbd_download_multistore_config_set"},{"line_number":1016,"context_line":"                -"},{"line_number":1017,"context_line":"                  yaql:"},{"line_number":1018,"context_line":"                    expression: let(k \u003d\u003e $.data.key, d \u003d\u003e $.data.default_ceph_client_user_name) -\u003e $.data.multistore.get($k).get(\"CephClientUserName\", $d)"},{"line_number":1019,"context_line":"                    data:"},{"line_number":1020,"context_line":"                      key: {get_attr: [RoleParametersValue, value, nova_glance_rbd_download_multistore_config]}"},{"line_number":1021,"context_line":"                      multistore: {get_param: GlanceMultistoreConfig}"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"772cc657_ddf0eb40","line":1018,"in_reply_to":"22839c58_3e9ced89","updated":"2021-02-04 12:36:46.000000000","message":"This can probably be solved by an additional validation step (a tripleo-validation set of tasks ) where both the fields and the content of a given data structure can be evaluated with a specific logic.\nI guess this is not required here, but adding (at the right step) an \"in-flight\" validation can help checking values and return a more user friendly/verbose error.","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"09c933f830ed80dd49f6e2633798e5c1753c9d5d","unresolved":true,"context_lines":[{"line_number":1116,"context_line":"                  for_each:"},{"line_number":1117,"context_line":"                    \u003c%keyring%\u003e:"},{"line_number":1118,"context_line":"                      yaql:"},{"line_number":1119,"context_line":"                        expression: let(u \u003d\u003e $.data.user) -\u003e $.data.multistore.values().where($.get(\"CephClusterName\")).select(\"{0}.client.{1}.keyring\".format($.CephClusterName, $.get(\"CephClientUserName\", $u)    ))"},{"line_number":1120,"context_line":"                        data:"},{"line_number":1121,"context_line":"                          user: {get_param: CephClientUserName}"},{"line_number":1122,"context_line":"                          multistore: {get_param: GlanceMultistoreConfig}"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"85f95641_d443f0f4","line":1119,"updated":"2021-02-02 21:27:40.000000000","message":"nice!","commit_id":"ed2247a3c70c4abd53f65b389ae2edde8c1e1ecb"}]}
