)]}'
{"puppet/controller-role.yaml":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"462978b58b05370ca26503d01f6c4a1fdd18ce11","unresolved":false,"context_lines":[{"line_number":501,"context_line":"      config: {get_resource: ControllerUpgradeInitConfig}"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"  ControllerDeployment:"},{"line_number":504,"context_line":"    type: OS::TripleO::SoftwareDeployment"},{"line_number":505,"context_line":"    depends_on: ControllerUpgradeInitDeployment"},{"line_number":506,"context_line":"    properties:"},{"line_number":507,"context_line":"      name: ControllerDeployment"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f1d235d_55ce0db4","side":"PARENT","line":504,"range":{"start_line":504,"start_character":10,"end_line":504,"end_character":41},"updated":"2017-07-05 21:55:20.000000000","message":"In role.role.j2.yaml the type is OS::Heat::StructuredDeployment.  I assume that\u0027s OK but wanted to check.","commit_id":"eba40cdc1336e82bb24048b2c03a3de2109fe9a1"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"f05c176f7be622624ed218277c2eba57933b487a","unresolved":false,"context_lines":[{"line_number":501,"context_line":"      config: {get_resource: ControllerUpgradeInitConfig}"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"  ControllerDeployment:"},{"line_number":504,"context_line":"    type: OS::TripleO::SoftwareDeployment"},{"line_number":505,"context_line":"    depends_on: ControllerUpgradeInitDeployment"},{"line_number":506,"context_line":"    properties:"},{"line_number":507,"context_line":"      name: ControllerDeployment"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f1d235d_537cdbea","side":"PARENT","line":504,"range":{"start_line":504,"start_character":10,"end_line":504,"end_character":41},"in_reply_to":"3f1d235d_55ce0db4","updated":"2017-07-06 07:24:44.000000000","message":"Yeah, actually either will work (which is why the current controller-role template is working), but strictly speaking it\u0027s not matched with the OS::Heat::SoftwareConfig we have here:\n\nhttps://github.com/openstack/tripleo-heat-templates/blob/master/puppet/config.role.j2.yaml#L27\n\nIn general SoftwareDeployment-\u003eSoftwareConfig and StructuredDeployment-\u003eStructuredConfig (the latter is less used in t-h-t now but at one point we used it for ControllerConfig)","commit_id":"eba40cdc1336e82bb24048b2c03a3de2109fe9a1"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"462978b58b05370ca26503d01f6c4a1fdd18ce11","unresolved":false,"context_lines":[{"line_number":513,"context_line":"      config: {get_resource: ControllerConfig}"},{"line_number":514,"context_line":"      server: {get_resource: Controller}"},{"line_number":515,"context_line":"      input_values:"},{"line_number":516,"context_line":"        bootstack_nodeid: {get_attr: [Controller, name]}"},{"line_number":517,"context_line":"        enable_load_balancer: {get_param: EnableLoadBalancer}"},{"line_number":518,"context_line":"        enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"  # Map heat metadata into hiera datafiles"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f1d235d_15c41590","side":"PARENT","line":517,"range":{"start_line":516,"start_character":0,"end_line":517,"end_character":61},"updated":"2017-07-05 21:55:20.000000000","message":"I noticed that these values are not mapped to role.role.j2.yaml.  Do they need to be?","commit_id":"eba40cdc1336e82bb24048b2c03a3de2109fe9a1"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"a545a2dddba2ed502d13a413859ad29c693bedb5","unresolved":false,"context_lines":[{"line_number":513,"context_line":"      config: {get_resource: ControllerConfig}"},{"line_number":514,"context_line":"      server: {get_resource: Controller}"},{"line_number":515,"context_line":"      input_values:"},{"line_number":516,"context_line":"        bootstack_nodeid: {get_attr: [Controller, name]}"},{"line_number":517,"context_line":"        enable_load_balancer: {get_param: EnableLoadBalancer}"},{"line_number":518,"context_line":"        enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"  # Map heat metadata into hiera datafiles"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f1d235d_d38400b4","side":"PARENT","line":517,"range":{"start_line":516,"start_character":0,"end_line":517,"end_character":61},"in_reply_to":"3f1d235d_13e9c37e","updated":"2017-07-10 14:07:46.000000000","message":"So I investigated and these are removed via https://review.openstack.org/#/c/481145/ https://review.openstack.org/#/c/481084/ - I\u0027ve not rebased the series yet but we should probably wait for them to land before we merge this.","commit_id":"eba40cdc1336e82bb24048b2c03a3de2109fe9a1"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"f05c176f7be622624ed218277c2eba57933b487a","unresolved":false,"context_lines":[{"line_number":513,"context_line":"      config: {get_resource: ControllerConfig}"},{"line_number":514,"context_line":"      server: {get_resource: Controller}"},{"line_number":515,"context_line":"      input_values:"},{"line_number":516,"context_line":"        bootstack_nodeid: {get_attr: [Controller, name]}"},{"line_number":517,"context_line":"        enable_load_balancer: {get_param: EnableLoadBalancer}"},{"line_number":518,"context_line":"        enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"  # Map heat metadata into hiera datafiles"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f1d235d_13e9c37e","side":"PARENT","line":517,"range":{"start_line":516,"start_character":0,"end_line":517,"end_character":61},"in_reply_to":"3f1d235d_15c41590","updated":"2017-07-06 07:24:44.000000000","message":"I don\u0027t think they are since the rework for composable services, but I\u0027ll double check, thanks for highlighting it! :)","commit_id":"eba40cdc1336e82bb24048b2c03a3de2109fe9a1"}],"puppet/role.role.j2.yaml":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"5d0ce80d0b597b093143eeda1c4498700aaaa67e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{#- ## FIXME: we need some way to deprecate the old inconsistent parameters #}"},{"line_number":4,"context_line":"{%- if role.name \u003d\u003d \u0027Controller\u0027 -%}"},{"line_number":5,"context_line":"  {%- set image_param  \u003d \u0027controllerImage\u0027  -%}"},{"line_number":6,"context_line":"  {%- set flavor_param  \u003d \u0027OvercloudControlFlavor\u0027  -%}"},{"line_number":7,"context_line":"  {%- set deprecated_extraconfig_param  \u003d \u0027controllerExtraConfig\u0027  -%}"},{"line_number":8,"context_line":"{%- else %}"},{"line_number":9,"context_line":"  {%- set image_param  \u003d role.name ~ \u0027Image\u0027  -%}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"ff346bd7_6972cd13","line":6,"updated":"2017-07-25 18:19:03.000000000","message":"couldn\u0027t we handle these in the roles data directly? Having keys for ImageParam, FlavorParam, etc.\n\nThat way we can handle this special case via the existing framework (customizing roles) vs. hardcoded special cases just for the Controller role in role.role.j2.yaml.","commit_id":"f90e5e0161d980d01a10217698ac312eefb843a5"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"540c91cf733601506b28e7ab8faad1027c74e631","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{#- ## FIXME: we need some way to deprecate the old inconsistent parameters #}"},{"line_number":4,"context_line":"{%- if role.name \u003d\u003d \u0027Controller\u0027 -%}"},{"line_number":5,"context_line":"  {%- set image_param  \u003d \u0027controllerImage\u0027  -%}"},{"line_number":6,"context_line":"  {%- set flavor_param  \u003d \u0027OvercloudControlFlavor\u0027  -%}"},{"line_number":7,"context_line":"  {%- set deprecated_extraconfig_param  \u003d \u0027controllerExtraConfig\u0027  -%}"},{"line_number":8,"context_line":"{%- else %}"},{"line_number":9,"context_line":"  {%- set image_param  \u003d role.name ~ \u0027Image\u0027  -%}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9f436f4f_fbd6dac3","line":6,"in_reply_to":"ff346bd7_171b4c81","updated":"2017-08-08 09:10:46.000000000","message":"As noted by Saravanan later in the series, the main disadvantage of this is it makes these interface workarounds visible to users, e.g when they rebase their custom roles_data.yaml files.\n\nIt does make the internal templates a little cleaner though, and perhaps exposing them to users with some clear comments/docs/releasenotes is lever to get them to fix their environments to they can be removed in future.","commit_id":"f90e5e0161d980d01a10217698ac312eefb843a5"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"f293ec6d67ee108a4b3ea7ab366232a7ddfd4f33","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{#- ## FIXME: we need some way to deprecate the old inconsistent parameters #}"},{"line_number":4,"context_line":"{%- if role.name \u003d\u003d \u0027Controller\u0027 -%}"},{"line_number":5,"context_line":"  {%- set image_param  \u003d \u0027controllerImage\u0027  -%}"},{"line_number":6,"context_line":"  {%- set flavor_param  \u003d \u0027OvercloudControlFlavor\u0027  -%}"},{"line_number":7,"context_line":"  {%- set deprecated_extraconfig_param  \u003d \u0027controllerExtraConfig\u0027  -%}"},{"line_number":8,"context_line":"{%- else %}"},{"line_number":9,"context_line":"  {%- set image_param  \u003d role.name ~ \u0027Image\u0027  -%}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"ff346bd7_171b4c81","line":6,"in_reply_to":"ff346bd7_6972cd13","updated":"2017-07-26 05:52:24.000000000","message":"Done","commit_id":"f90e5e0161d980d01a10217698ac312eefb843a5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"8108bcdc5dbff4b047f98a86391b5bf3c77baaa3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{#- ## where a few parameter/resource names don\u0027t match the expected pattern #}"},{"line_number":3,"context_line":"{#- ## FIXME: we need some way to deprecate the old inconsistent parameters #}"},{"line_number":4,"context_line":"{%- if role.name \u003d\u003d \u0027Controller\u0027 -%}"},{"line_number":5,"context_line":"  {%- set deprecated_extraconfig_param  \u003d \u0027controllerExtraConfig\u0027  -%}"},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"heat_template_version: pike"},{"line_number":8,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_85b37498","line":5,"updated":"2017-07-26 14:04:21.000000000","message":"can we take the similar approach here?","commit_id":"adafc7d4250f61e8a2d066709fdb4d79ccb46980"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"21e41ea102ce8df274fef2a4dc91b6d3426f7895","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{#- ## where a few parameter/resource names don\u0027t match the expected pattern #}"},{"line_number":3,"context_line":"{#- ## FIXME: we need some way to deprecate the old inconsistent parameters #}"},{"line_number":4,"context_line":"{%- if role.name \u003d\u003d \u0027Controller\u0027 -%}"},{"line_number":5,"context_line":"  {%- set deprecated_extraconfig_param  \u003d \u0027controllerExtraConfig\u0027  -%}"},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"heat_template_version: pike"},{"line_number":8,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_ace89ce1","line":5,"in_reply_to":"ff346bd7_85b37498","updated":"2017-07-26 17:04:35.000000000","message":"I guess, but frankly this seems forced. These deprecated parameters are not properties of the role. It seems wrong to place all these workarounds as properties of the role, since really these are peculiarities of the legacy role definitions, not of the roles themselves. Also, by moving all of these parameters into the roles_data.yaml, we are making that definition file significantly more complex and confusing. At least the workarounds being in the role.role.j2.yaml template only allows one to see how and why those parameters are used. When looking at the roles_data.yaml it wouldn\u0027t be at all clear why all those properties were part of the role.\n\nFurthermore, image_param and flavor_param are shared by all roles, while many of these workaround params only apply to a particular role, so we will have lots of properties in roles_data.yaml that only apply to one role.","commit_id":"adafc7d4250f61e8a2d066709fdb4d79ccb46980"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"acae38ae6861562e7c38291cc5bd4bd46323f7eb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{#- ## where a few parameter/resource names don\u0027t match the expected pattern #}"},{"line_number":3,"context_line":"{#- ## FIXME: we need some way to deprecate the old inconsistent parameters #}"},{"line_number":4,"context_line":"{%- if role.name \u003d\u003d \u0027Controller\u0027 -%}"},{"line_number":5,"context_line":"  {%- set deprecated_extraconfig_param  \u003d \u0027controllerExtraConfig\u0027  -%}"},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"heat_template_version: pike"},{"line_number":8,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_703042e9","line":5,"in_reply_to":"ff346bd7_ace89ce1","updated":"2017-07-26 20:53:20.000000000","message":"After having a conversation with James, I have come around to his point of view about putting all deprecated params in the roles_data.yaml. In order to make the roles_data.yaml more clear, I will preface all deprecated params with \"deprecated_\".","commit_id":"adafc7d4250f61e8a2d066709fdb4d79ccb46980"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"46a6ab061b5e57e8231fb6898d41d62b548f64c0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"heat_template_version: pike"},{"line_number":5,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  {{role.deprecated_flavor_param|default(\u0027Overcloud\u0027 ~ role.name ~ \u0027Flavor\u0027)}}:"},{"line_number":8,"context_line":"    description: Flavor for the {{role.name}} node."},{"line_number":9,"context_line":"    default: baremetal"},{"line_number":10,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"df3967d1_9d2a26e5","line":7,"updated":"2017-07-28 22:19:57.000000000","message":"So my only issue with this is that it would use OvercloudControlFlavor over OvercloudControllerFlavor which seems backwards or am I misreading this?  Is there anyway to Always have Overcloud\u003crole\u003eFlavor and only fall back the deprecated flavor param is defined and has a value?\n\nSo for this always have \n\nOvercloud{{role.name}}Flavor:\n  ... stuff ...\n\n{%- if role.deprecated_flavor_param %}\n{{role.deprecated_flavor_param}}: \n ... stuff ...\n{%- endif %}\n\n\nflavor: pick( Overcloud{{role.name}}Flavor, {{role.deprecated_flavor_param}}) )\n\nI know heat doesn\u0027t have a pick function (would be nice) but maybe is there something we could do with yaql/conditions?","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"737fef4e753c98563abf050341b53555bd845b61","unresolved":false,"context_lines":[{"line_number":4,"context_line":"heat_template_version: pike"},{"line_number":5,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  {{role.deprecated_flavor_param|default(\u0027Overcloud\u0027 ~ role.name ~ \u0027Flavor\u0027)}}:"},{"line_number":8,"context_line":"    description: Flavor for the {{role.name}} node."},{"line_number":9,"context_line":"    default: baremetal"},{"line_number":10,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"df3967d1_3331c6ed","line":7,"in_reply_to":"df3967d1_569faf02","updated":"2017-08-02 11:28:50.000000000","message":"I don\u0027t think there is an elegant solution here using conditions. Heat supports creating resources based on a condition, but apparently not creating parameters based on a condition. The best I can do is string concatenation, but that is functionally equivalent to the map_merge that we do with the ExtraConfig deprecated parameters.","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"874f352be5acd1ab1ad3a72f170ed9640f2ba702","unresolved":false,"context_lines":[{"line_number":4,"context_line":"heat_template_version: pike"},{"line_number":5,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  {{role.deprecated_flavor_param|default(\u0027Overcloud\u0027 ~ role.name ~ \u0027Flavor\u0027)}}:"},{"line_number":8,"context_line":"    description: Flavor for the {{role.name}} node."},{"line_number":9,"context_line":"    default: baremetal"},{"line_number":10,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"df3967d1_569faf02","line":7,"in_reply_to":"df3967d1_89651148","updated":"2017-08-01 19:11:07.000000000","message":"The only similar case i\u0027ve seen is the times when we have workers set to zero and we want to switch out for something else but i\u0027m not sure if we can use a similar thing for the flavor.\n\nhttps://github.com/openstack/tripleo-heat-templates/blob/07a5fe1ba66cbad5afafbbd30d2d78129cb90bae/puppet/services/heat-api.yaml#L63-L64\nhttps://github.com/openstack/tripleo-heat-templates/blob/07a5fe1ba66cbad5afafbbd30d2d78129cb90bae/puppet/services/heat-api.yaml#L123-L127","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":12398,"name":"Dan Sneddon","email":"dsneddon@redhat.com","username":"dsneddon"},"change_message_id":"ce343e069793af8df8a78038cbf24a07fd4a42f3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"heat_template_version: pike"},{"line_number":5,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  {{role.deprecated_flavor_param|default(\u0027Overcloud\u0027 ~ role.name ~ \u0027Flavor\u0027)}}:"},{"line_number":8,"context_line":"    description: Flavor for the {{role.name}} node."},{"line_number":9,"context_line":"    default: baremetal"},{"line_number":10,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"df3967d1_89651148","line":7,"in_reply_to":"df3967d1_9d2a26e5","updated":"2017-08-01 04:47:11.000000000","message":"I like the idea, but I\u0027m not sure how to go about doing that. Googling yaql usage and Heat conditionals is not finding what I need (but I often have trouble finding how to do things in Heat).","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"c818a7a5de621fccb556e2d7b5c578bc7c924456","unresolved":false,"context_lines":[{"line_number":5,"context_line":"heat_template_version: pike"},{"line_number":6,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"},{"line_number":7,"context_line":"parameters:"},{"line_number":8,"context_line":"{%- if role.deprecated_flavor_param is defined %}"},{"line_number":9,"context_line":"  {{role.deprecated_flavor_param}}:"},{"line_number":10,"context_line":"    description: DEPRECATED Use Overcloud{{role.name}}Flavor instead."},{"line_number":11,"context_line":"    default: baremetal"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"bf3e73b7_ce4b4285","line":8,"range":{"start_line":8,"start_character":12,"end_line":8,"end_character":35},"updated":"2017-08-07 12:02:16.000000000","message":"I am not able to find the deprecated param in roles_data, is it left to the user to define?","commit_id":"d3edefcf4525358cbfecee051ac5cf1d9b1ab3a0"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"6b2cda792bbcd6a6f92d18991831ef5ff2363112","unresolved":false,"context_lines":[{"line_number":5,"context_line":"heat_template_version: pike"},{"line_number":6,"context_line":"description: \u0027OpenStack {{role.name}} node configured by Puppet\u0027"},{"line_number":7,"context_line":"parameters:"},{"line_number":8,"context_line":"{%- if role.deprecated_flavor_param is defined %}"},{"line_number":9,"context_line":"  {{role.deprecated_flavor_param}}:"},{"line_number":10,"context_line":"    description: DEPRECATED Use Overcloud{{role.name}}Flavor instead."},{"line_number":11,"context_line":"    default: baremetal"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9f436f4f_eae03d99","line":8,"range":{"start_line":8,"start_character":12,"end_line":8,"end_character":35},"in_reply_to":"bf3e73b7_ce4b4285","updated":"2017-08-08 15:02:14.000000000","message":"No you\u0027re right, it\u0027s a bug in the patch, it got lost in translation from my original version I think, and I can confirm it doesn\u0027t work as expected in local testing (the --control-flavor arg is ignored, and on update we use the wrong flavor unless the default baremetal one is used)","commit_id":"d3edefcf4525358cbfecee051ac5cf1d9b1ab3a0"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"93d84743683ead9aa6f35f54c359b4b5d9bfa511","unresolved":false,"context_lines":[{"line_number":280,"context_line":"{%- endif %}"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"      image_update_policy: {get_param: ImageUpdatePolicy}"},{"line_number":283,"context_line":"      flavor: "},{"line_number":284,"context_line":"{%- if role.deprecated_param_flavor is defined %}"},{"line_number":285,"context_line":"        if:"},{"line_number":286,"context_line":"          - deprecated_param_flavor_set"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_e0f28c06","line":283,"updated":"2017-08-09 05:52:44.000000000","message":"white space","commit_id":"e3601f7892dac109120e38db1b0ed0c74cb042d8"}],"releasenotes/notes/controller_deprecated_params-7f009de6d17c05a4.yaml":[{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"c818a7a5de621fccb556e2d7b5c578bc7c924456","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The following parameters are deprecated for the Compute role:"},{"line_number":5,"context_line":"    controllerExtraConfig - Use ControlExtraConfig instead"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":29,"id":"bf3e73b7_8e9e5a05","line":4,"range":{"start_line":4,"start_character":52,"end_line":4,"end_character":59},"updated":"2017-08-07 12:02:16.000000000","message":"I suppose this is controller role?","commit_id":"d3edefcf4525358cbfecee051ac5cf1d9b1ab3a0"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"93d84743683ead9aa6f35f54c359b4b5d9bfa511","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The following parameters are deprecated for the Compute role:"},{"line_number":5,"context_line":"    controllerExtraConfig - Use ControlExtraConfig instead"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_a04a4424","line":4,"range":{"start_line":4,"start_character":52,"end_line":4,"end_character":59},"updated":"2017-08-09 05:52:44.000000000","message":"should be Controller?","commit_id":"e3601f7892dac109120e38db1b0ed0c74cb042d8"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"93d84743683ead9aa6f35f54c359b4b5d9bfa511","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The following parameters are deprecated for the Compute role:"},{"line_number":5,"context_line":"    controllerExtraConfig - Use ControlExtraConfig instead"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_e0596cfe","line":5,"range":{"start_line":5,"start_character":32,"end_line":5,"end_character":50},"updated":"2017-08-09 05:52:44.000000000","message":"Do you mean ControllerExtraConfig?","commit_id":"e3601f7892dac109120e38db1b0ed0c74cb042d8"}],"releasenotes/notes/roles_deprecated_params-50b4bbe8b9e4abc7.yaml":[{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"93d84743683ead9aa6f35f54c359b4b5d9bfa511","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    which require special handling to convert to dynamic template generation."},{"line_number":6,"context_line":"    In the future, these parameters will be removed. If a role requires one"},{"line_number":7,"context_line":"    of these deprecated parameters, then it will be defined in the role"},{"line_number":8,"context_line":"    definition in a property named \"deprecated_\u003cname\u003e\". If the role has one"},{"line_number":9,"context_line":"    or more deprecated parameters, then \"uses_deprecated_params\" should be"},{"line_number":10,"context_line":"    set to True as well. This will enable creation of a parameter_group"},{"line_number":11,"context_line":"    containing the deprecated parameters in the role definition."}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_40ff18aa","line":8,"range":{"start_line":8,"start_character":36,"end_line":8,"end_character":47},"updated":"2017-08-09 05:52:44.000000000","message":"should be \"deprecated_param_\u003cname\u003e\"","commit_id":"e3601f7892dac109120e38db1b0ed0c74cb042d8"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"93d84743683ead9aa6f35f54c359b4b5d9bfa511","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    defined, but defining both will cause an error."},{"line_number":16,"context_line":"    For detailed information about which deprecated parameters are needed"},{"line_number":17,"context_line":"    by each role, and what parameters to use instead, check the release"},{"line_number":18,"context_line":"    notes for the \u003crole\u003e_deprecated_params file."}],"source_content_type":"text/x-yaml","patch_set":30,"id":"9f436f4f_208f7424","line":18,"range":{"start_line":18,"start_character":18,"end_line":18,"end_character":47},"updated":"2017-08-09 05:52:44.000000000","message":"Just wondering whether referring to the internal release notes file in release notes itself is valid. Below is the current release notes. Can you check if this need to be re-worded?\n\nhttps://docs.openstack.org/releasenotes/tripleo-heat-templates/unreleased.html","commit_id":"e3601f7892dac109120e38db1b0ed0c74cb042d8"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"a19110c8aa4987b03edcbcbecbdb4414d5278fdf","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    warning users if they use deprecated parameters on deployment."},{"line_number":13,"context_line":"upgrade:"},{"line_number":14,"context_line":"  - |"},{"line_number":15,"context_line":"    For deployments where a custom roles_data file is used, it should be rebased"},{"line_number":16,"context_line":"    against the default roles_data.yaml, as several additional items, e.g to"},{"line_number":17,"context_line":"    specify deprecated parameter names for some of the default roles, have been"},{"line_number":18,"context_line":"    added.  Alternatively you can regenerate your roles_data using the new "}],"source_content_type":"text/x-yaml","patch_set":33,"id":"9f436f4f_11e716e7","line":15,"updated":"2017-08-09 14:27:46.000000000","message":"\"rebased\" is perhaps an unfortunately development-specific term but I can\u0027t think of a reasonably concise alternative. Perhaps your explanation of why this is necessary provides sufficient context to \"figure it out\" anyways.","commit_id":"4bd2b44494f7f013a13510629f20471eb0e87866"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"b684bcb2a131726ba8e146eaa634090d0a96d8e8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    warning users if they use deprecated parameters on deployment."},{"line_number":13,"context_line":"upgrade:"},{"line_number":14,"context_line":"  - |"},{"line_number":15,"context_line":"    For deployments where a custom roles_data file is used, it should be rebased"},{"line_number":16,"context_line":"    against the default roles_data.yaml, as several additional items, e.g to"},{"line_number":17,"context_line":"    specify deprecated parameter names for some of the default roles, have been"},{"line_number":18,"context_line":"    added.  Alternatively you can regenerate your roles_data using the new "}],"source_content_type":"text/x-yaml","patch_set":33,"id":"9f436f4f_3fe9bc19","line":15,"in_reply_to":"9f436f4f_11e716e7","updated":"2017-08-09 17:55:04.000000000","message":"Yeah, I guess we may explain it differently in the docs but hopefully this will suffice for the release note.","commit_id":"4bd2b44494f7f013a13510629f20471eb0e87866"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"a19110c8aa4987b03edcbcbecbdb4414d5278fdf","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    For deployments where a custom roles_data file is used, it should be rebased"},{"line_number":16,"context_line":"    against the default roles_data.yaml, as several additional items, e.g to"},{"line_number":17,"context_line":"    specify deprecated parameter names for some of the default roles, have been"},{"line_number":18,"context_line":"    added.  Alternatively you can regenerate your roles_data using the new "},{"line_number":19,"context_line":"    overcloud roles generate command, so that the updated role definitions in"},{"line_number":20,"context_line":"    /usr/share/openstack-tripleo-heat-templates/roles are used, which include"},{"line_number":21,"context_line":"    the necessary additional data."}],"source_content_type":"text/x-yaml","patch_set":33,"id":"9f436f4f_0c093d2b","line":18,"updated":"2017-08-09 14:27:46.000000000","message":"Nit: Extra WS at EOL in case respin/rebase.","commit_id":"4bd2b44494f7f013a13510629f20471eb0e87866"}],"roles/Controller.yaml":[{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"17653d9f3f7c2b9a8a1cbff288248b2a1a3fdd19","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    - StorageMgmt"},{"line_number":17,"context_line":"    - Tenant"},{"line_number":18,"context_line":"  HostnameFormatDefault: \u0027%stackname%-controller-%index%\u0027"},{"line_number":19,"context_line":"  # Deprecated \u0026 backward-compatible values (FIXME: Make parameters consistent)"},{"line_number":20,"context_line":"  deprecated_image_param: \u0027controllerImage\u0027"},{"line_number":21,"context_line":"  deprecated_flavor_param: \u0027OvercloudControlFlavor\u0027"},{"line_number":22,"context_line":"  deprecated_extraconfig_param: \u0027controllerExtraConfig\u0027"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ff346bd7_260dd5e7","line":19,"updated":"2017-07-27 05:00:37.000000000","message":"A drawback with this approach is that during an upgrade (o -\u003e p), the users will tend to use their existing roles_data file, if they have already customized it. This will enforce them to modify their roles_data file (with the help of documentation):\n\n* If users need backward compatibility, they need to add these deprecated_* properties in their roles_data file, which will not have any meaning on the next release\n* If users choose to migrate to new parameter, then they can ignore this change in the roles_data\n\nThe earlier approach was hidden to the user with a warning message of usage of deprecated parameter. And we will remove these parameters, in next release.\n\nI somehow feel exposing changes via user specific files (like roles_data) will always introduce legacy their templates.","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"da9d916be01e0b9861375ede0710468edd749267","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    - StorageMgmt"},{"line_number":17,"context_line":"    - Tenant"},{"line_number":18,"context_line":"  HostnameFormatDefault: \u0027%stackname%-controller-%index%\u0027"},{"line_number":19,"context_line":"  # Deprecated \u0026 backward-compatible values (FIXME: Make parameters consistent)"},{"line_number":20,"context_line":"  deprecated_image_param: \u0027controllerImage\u0027"},{"line_number":21,"context_line":"  deprecated_flavor_param: \u0027OvercloudControlFlavor\u0027"},{"line_number":22,"context_line":"  deprecated_extraconfig_param: \u0027controllerExtraConfig\u0027"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ff346bd7_f9952488","line":19,"in_reply_to":"ff346bd7_260dd5e7","updated":"2017-07-27 12:58:35.000000000","message":"Do you mean for the Controller role specifically?\n\ncontroller-role.yaml never got rendered due to it being in the excludes file.\n\nServicesDefault or CountDefault would have still been used though.\n\nHonestly, I think it\u0027s fine as these parameters have been deprecated for quite some time. If they don\u0027t update their custom roles file, and for some reason hit an error due to these missing paramters, they have an easy way to recover.","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"25bf657bac695b9d077707611bc6183e1eb361e9","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    - StorageMgmt"},{"line_number":17,"context_line":"    - Tenant"},{"line_number":18,"context_line":"  HostnameFormatDefault: \u0027%stackname%-controller-%index%\u0027"},{"line_number":19,"context_line":"  # Deprecated \u0026 backward-compatible values (FIXME: Make parameters consistent)"},{"line_number":20,"context_line":"  deprecated_image_param: \u0027controllerImage\u0027"},{"line_number":21,"context_line":"  deprecated_flavor_param: \u0027OvercloudControlFlavor\u0027"},{"line_number":22,"context_line":"  deprecated_extraconfig_param: \u0027controllerExtraConfig\u0027"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ff346bd7_d758cb88","line":19,"in_reply_to":"ff346bd7_44f66765","updated":"2017-07-28 06:05:52.000000000","message":"Having said, I am not gating because of it. I prefer earlier approach or documentation for users having custom roles_data.yaml file.","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"46973378f53acd474162bef13a95c0cc822d5784","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    - StorageMgmt"},{"line_number":17,"context_line":"    - Tenant"},{"line_number":18,"context_line":"  HostnameFormatDefault: \u0027%stackname%-controller-%index%\u0027"},{"line_number":19,"context_line":"  # Deprecated \u0026 backward-compatible values (FIXME: Make parameters consistent)"},{"line_number":20,"context_line":"  deprecated_image_param: \u0027controllerImage\u0027"},{"line_number":21,"context_line":"  deprecated_flavor_param: \u0027OvercloudControlFlavor\u0027"},{"line_number":22,"context_line":"  deprecated_extraconfig_param: \u0027controllerExtraConfig\u0027"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"bf3e73b7_af60f933","line":19,"in_reply_to":"ff346bd7_d758cb88","updated":"2017-08-07 13:06:13.000000000","message":"Yeah I agree this is not ideal, but we already added networks/tags so any user who copied roles_data will have to rebase their forked version anyway.  \n\nI guess the best we can do is document this carefully, and guide folks towards the new \"overcloud roles generate\" CLI which should enable decoupling of in-tree from custom user defined roles?","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"94e4c3d9f94f17152778e882818d319a686c8453","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    - StorageMgmt"},{"line_number":17,"context_line":"    - Tenant"},{"line_number":18,"context_line":"  HostnameFormatDefault: \u0027%stackname%-controller-%index%\u0027"},{"line_number":19,"context_line":"  # Deprecated \u0026 backward-compatible values (FIXME: Make parameters consistent)"},{"line_number":20,"context_line":"  deprecated_image_param: \u0027controllerImage\u0027"},{"line_number":21,"context_line":"  deprecated_flavor_param: \u0027OvercloudControlFlavor\u0027"},{"line_number":22,"context_line":"  deprecated_extraconfig_param: \u0027controllerExtraConfig\u0027"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ff346bd7_44f66765","line":19,"in_reply_to":"ff346bd7_f9952488","updated":"2017-07-28 05:04:22.000000000","message":"\u003e Do you mean for the Controller role specifically?\n\u003e controller-role.yaml never got rendered due to it being in the excludes file.\n\nThe idea for this change is to remove the controller-role.yaml file and use it with role.role.j2.yaml file. \nhttps://review.openstack.org/#/c/480272/19/j2_excludes.yaml\n\n\u003e ServicesDefault or CountDefault would have still been used though.\n\nThere parameters are there from the beginning and it will continue to exist in future. Unlike there deprecated params are new only for pike and will be removed in q  cycle. \nAdditionally for ServiceDefault, we provide upgrade documentation to add and remove services (if users are having custom roles_data file)\n\n\u003e Honestly, I think it\u0027s fine as these parameters have been deprecated for quite some time. If they don\u0027t update their custom roles file, and for some reason hit an error due to these missing paramters, they have an easy way to recover.\n\nAgree that there parameters are deprecated for a long time, but we have never provided this information (either documentation or warning log about these deprecated parameters) to user to migrate to new parameters. Without it, this approach will result in unknown issues (provided config will not be set in case of controllerExtraConfig).\n\nEven today, one of the environment file in our repo is still using it.\n./environments/neutron-nuage-config.yaml:25:  controllerExtraConfig:","commit_id":"9ee779456d736603611b9f109bb3077e0f81180b"}]}
