)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"35d71b264903cd754026bcc3517fa4be87294106","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d6a653c3_3490ada9","updated":"2021-11-14 12:20:00.000000000","message":"recheck","commit_id":"324ae1b9a69b04d3342f89d017422ed1df1d5527"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"83a673c7a32b9d0e09ad43403689301623589581","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"953daad0_1842d036","updated":"2021-11-14 17:37:48.000000000","message":"recheck","commit_id":"5a95c70879644c38697805f28235ec9473ffe234"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"ab9547e4a0bb4cb899cfe2860dda1319f384d623","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b3d089d4_21d196b9","updated":"2021-11-15 13:17:54.000000000","message":"recheck","commit_id":"5a95c70879644c38697805f28235ec9473ffe234"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"1afd188eab2350e76df3e4d51fa9bb280a9a9c95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e928b569_fee2fd60","updated":"2021-11-22 13:43:15.000000000","message":"A few questions:\n - Is there a bug associated with this patch? If not, should there be one? The topicality of this patch hints that it is meant to address an issue.\n - Why not add to all neutron containers? I could see some logic in having just the API, or just the agents, but not the API and only one of the agents.","commit_id":"aaf5852346ed93d8c4d27cf6707017da3842de42"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"fe750e1538b60d9d2ee5bd999d2b7d96d9259396","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"905a7222_510e63be","in_reply_to":"bcd3716e_11c18b96","updated":"2021-12-01 02:20:54.000000000","message":"I did open a backport request for queens [1] which was denied because queens is EOL (which is fine) and this patch here would\u0027ve allowed them to bypass the paunch dance we had to do to add SYS_PTRACE in the contrail / neutron containers.\n\n[1] https://bugzilla.redhat.com/show_bug.cgi?id\u003d1902793","commit_id":"aaf5852346ed93d8c4d27cf6707017da3842de42"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"25db284369c76254e573aa144f24a45177692983","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"bcd3716e_11c18b96","in_reply_to":"e928b569_fee2fd60","updated":"2021-12-01 02:15:47.000000000","message":"Well I had a case with a customer where they needed to enable this for running gdb (or something like that) in a container and they needed extra capabilities .  They wanted something like that and we managed to hardcode it in the tht for them but I felt like we needed something more granular on a wider scale and this was a PoC for me and them.   Let me see if I can find back that support case and see if I created a BZ at that time.","commit_id":"aaf5852346ed93d8c4d27cf6707017da3842de42"}],"deployment/neutron/neutron-api-container-puppet.yaml":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"80d0d29f2702335cbd7b2129104c243abe1a9b25","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  OpenStack containerized Neutron API service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ContainerCapabilities:"},{"line_number":8,"context_line":"    description: Container capabilities"},{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f621f24_a0f525cd","line":7,"range":{"start_line":7,"start_character":2,"end_line":7,"end_character":23},"updated":"2020-11-17 14:43:49.000000000","message":"This would be global which doesn\u0027t seem like a good idea","commit_id":"ec9a128b53cc708caffef61fa656ddcded103b89"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"d3eec13cf3afcdae174ff01db02101d42fa18a10","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  OpenStack containerized Neutron API service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ContainerCapabilities:"},{"line_number":8,"context_line":"    description: Container capabilities"},{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"fffc6b78_98095d33","line":7,"range":{"start_line":7,"start_character":2,"end_line":7,"end_character":23},"in_reply_to":"1f621f24_35d66329","updated":"2020-11-18 22:53:55.000000000","message":"I was flirting with this idea and I didn\u0027t think of any good ways of actually doing this.  We have an issue with one process which has a memory leak and needed to add SYS_PTRACE to the capabilities of a neutron-like container and this was a PoC on how we could probably do it.   Role-specific might not be really practical if I need to change this only for neutron-server or neutron-ovs-agent across the board.   I think this usecase is a corner case that won\u0027t happen much but still is a \"valid\" one.   If a customer wants to add a capability, either he does it globally or on a per service/docker definition.  I\u0027m not sure how this could be implemented practically.","commit_id":"ec9a128b53cc708caffef61fa656ddcded103b89"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3bc3385e8efd8553843ab073b3d88bdc9e5fe7ce","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  OpenStack containerized Neutron API service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ContainerCapabilities:"},{"line_number":8,"context_line":"    description: Container capabilities"},{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f621f24_ff8cca80","line":7,"range":{"start_line":7,"start_character":2,"end_line":7,"end_character":23},"in_reply_to":"1f621f24_a0f525cd","updated":"2020-11-18 12:08:11.000000000","message":"do you mean this should become \"role_specific\", right? I\u0027d agree.","commit_id":"ec9a128b53cc708caffef61fa656ddcded103b89"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"e4be087aa6fbd4e1d802cc259fec0df1c2f1cf75","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  OpenStack containerized Neutron API service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ContainerCapabilities:"},{"line_number":8,"context_line":"    description: Container capabilities"},{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f621f24_35d66329","line":7,"range":{"start_line":7,"start_character":2,"end_line":7,"end_character":23},"in_reply_to":"1f621f24_ff8cca80","updated":"2020-11-18 14:31:00.000000000","message":"At least role specific, however this would be for *any* service that includes this which could be dangerous or cause problems.  It seems like it should role specific and service specific but at the very least it should probably be role specific.","commit_id":"ec9a128b53cc708caffef61fa656ddcded103b89"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"4b2bb4c5208bb31a327ee2da8db058df2922c7c9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  OpenStack containerized Neutron API service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"parameters:"},{"line_number":7,"context_line":"  ContainerCapabilities:"},{"line_number":8,"context_line":"    description: Container capabilities"},{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"fffc6b78_1b03a70f","line":7,"range":{"start_line":7,"start_character":2,"end_line":7,"end_character":23},"in_reply_to":"fffc6b78_98095d33","updated":"2020-11-18 22:56:20.000000000","message":"Role specific would work for neutron-server and neutron-ovs-agent if they are the same role. The issue I have here is really the blanket change this would be if adopted.","commit_id":"ec9a128b53cc708caffef61fa656ddcded103b89"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"8b646863748ed3f67f27354e588623cfb35f8908","unresolved":false,"context_lines":[{"line_number":529,"context_line":"                privileged: false"},{"line_number":530,"context_line":"                restart: always"},{"line_number":531,"context_line":"                - if neutron_cap_set:"},{"line_number":532,"context_line":"                  - cap_add:"},{"line_number":533,"context_line":"                    - {get_param: NeutronContainerCapabilities}"},{"line_number":534,"context_line":"                  - null"},{"line_number":535,"context_line":"                healthcheck:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"471c1f73_d8c29331","line":532,"updated":"2021-11-13 22:46:58.000000000","message":"cap_add doesn\u0027t like an empty value :\n\n2021-11-13 18:33:06.601170 |                                      |    WARNING | ERROR: Can\u0027t run container neutron_api\nstderr: Error: \"CAP_[]\": unknown capability","commit_id":"d3fc96b85b08dc8687d308966fd18de2bbb2ce96"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"bfd8c62fc6390fdad2f91538ab75a91810319c6b","unresolved":false,"context_lines":[{"line_number":529,"context_line":"                privileged: false"},{"line_number":530,"context_line":"                restart: always"},{"line_number":531,"context_line":"                - if neutron_cap_set:"},{"line_number":532,"context_line":"                  - cap_add:"},{"line_number":533,"context_line":"                    - {get_param: NeutronContainerCapabilities}"},{"line_number":534,"context_line":"                  - null"},{"line_number":535,"context_line":"                healthcheck:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"28b7faf3_32f4e611","line":532,"in_reply_to":"471c1f73_d8c29331","updated":"2021-11-13 22:48:26.000000000","message":"Or maybe this is a kolla bug ?","commit_id":"d3fc96b85b08dc8687d308966fd18de2bbb2ce96"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"7ee5bad290c1feea13b94d381fd0f5639b9cf688","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"},{"line_number":11,"context_line":"    tags:"},{"line_number":12,"context_line":"      - role_specific"},{"line_number":13,"context_line":"  ContainerNeutronApiImage:"},{"line_number":14,"context_line":"    description: image"},{"line_number":15,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7ed70e5e_9acde645","line":12,"updated":"2021-11-18 12:17:34.000000000","message":"if you intend to make this role_specific, then you need to add the resource for RoleParametersValue that does the value merging.\n\nhttps://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/features/role_specific_parameters.html","commit_id":"5a95c70879644c38697805f28235ec9473ffe234"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"b32970a01e2019a78ed3e1d7e3be9333b715d59c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    type: comma_delimited_list"},{"line_number":10,"context_line":"    default: []"},{"line_number":11,"context_line":"    tags:"},{"line_number":12,"context_line":"      - role_specific"},{"line_number":13,"context_line":"  ContainerNeutronApiImage:"},{"line_number":14,"context_line":"    description: image"},{"line_number":15,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"dfa3d4fa_f3086b87","line":12,"in_reply_to":"7ed70e5e_9acde645","updated":"2021-11-19 01:47:35.000000000","message":"Ack","commit_id":"5a95c70879644c38697805f28235ec9473ffe234"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"3598347275ff161ebcba8160582678bac53607b5","unresolved":true,"context_lines":[{"line_number":229,"context_line":"conditions:"},{"line_number":230,"context_line":"  neutron_workers_set:"},{"line_number":231,"context_line":"    not: {equals : [{get_param: NeutronWorkers}, \u0027\u0027]}"},{"line_number":232,"context_line":"  neutron_cap_set:"},{"line_number":233,"context_line":"    not: {equals : [{get_param: NeutronContainerCapabilities}, \u0027\u0027]}"},{"line_number":234,"context_line":"  neutron_rpc_workers_set:"},{"line_number":235,"context_line":"    not: {equals : [{get_param: NeutronRpcWorkers}, \u0027\u0027]}"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"2ed52b63_05d1ff5f","line":232,"updated":"2021-11-22 13:10:23.000000000","message":"Condition should also check for RoleParameters for the presense of NeutronContainerCapabilities","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"e1ae009da9b8f579fc45b764993adb2cfec14c16","unresolved":true,"context_lines":[{"line_number":249,"context_line":"    equals: [{get_param: NeutronAuthStrategy}, \u0027http_basic\u0027]"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"resources:"},{"line_number":252,"context_line":"  RoleParametersValue:"},{"line_number":253,"context_line":"    type: OS::Heat::Value"},{"line_number":254,"context_line":"    properties:"},{"line_number":255,"context_line":"      type: json"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"d4be3fb1_87c66e3d","line":252,"updated":"2021-11-22 11:13:15.000000000","message":"Role-specific values are valid only when there is a possibility for the service to be present in multiple roles, In case of neutron-api service, it will be present only in the controller roles, which is unique. No value in having role-specific for controller services.","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"0b4c78627eb17dcae750e1f67181fea47068794e","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    equals: [{get_param: NeutronAuthStrategy}, \u0027http_basic\u0027]"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"resources:"},{"line_number":252,"context_line":"  RoleParametersValue:"},{"line_number":253,"context_line":"    type: OS::Heat::Value"},{"line_number":254,"context_line":"    properties:"},{"line_number":255,"context_line":"      type: json"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"6bc39073_f49a3a5e","line":252,"in_reply_to":"2d671fa2_6bc06f55","updated":"2021-11-22 12:38:51.000000000","message":"NeutronApi can be on separate role but it cannot be on multiple roles. The use case for role-specific is to provide different values for different roles where the service is hosted, like\n\nparameter_defaults:\n  Role1Parameters:\n    NeutronContainerCapabilities: value1\n  Role2Parameters:\n    NeutronContainerCapabilities: value2\n\nDo you think such a scenario is applicable for NeutronApi Containers?","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"1e8b8469e53b31f822761ad0ea972440c7c0521f","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    equals: [{get_param: NeutronAuthStrategy}, \u0027http_basic\u0027]"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"resources:"},{"line_number":252,"context_line":"  RoleParametersValue:"},{"line_number":253,"context_line":"    type: OS::Heat::Value"},{"line_number":254,"context_line":"    properties:"},{"line_number":255,"context_line":"      type: json"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7ca32ebe_dbb6d899","line":252,"in_reply_to":"6bc39073_f49a3a5e","updated":"2021-11-22 12:43:24.000000000","message":"What about this ?\n\nparameter_defaults:\n  ComputeParameters:\n    NeutronContainerCapabilities: value1\n  ControllerParameters:\n    NeutronContainerCapabilities: value2\n\nI mean , I just added it to this NeutronApi but what about NeutronOvs and NeutronL2Agent ?  NeutronSRIOV ?  It\u0027s just a first step and we didn\u0027t need it in other containers at the time of that patch ... but it doesn\u0027t prevent anyone from re-using this code in other services as well.   I do see why we dont\u0027 really need it in neutron-api but when I first wrote this patch, I had all neutron services in mind which can be scoped on roles as well.    Is that really bad that this one doesn\u0027t support it ?  I can still just move the role-specific code in ovs-agent and remove the tag here and map-merge.  It\u0027s not really complex ... should we do this instead ?","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"3598347275ff161ebcba8160582678bac53607b5","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    equals: [{get_param: NeutronAuthStrategy}, \u0027http_basic\u0027]"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"resources:"},{"line_number":252,"context_line":"  RoleParametersValue:"},{"line_number":253,"context_line":"    type: OS::Heat::Value"},{"line_number":254,"context_line":"    properties:"},{"line_number":255,"context_line":"      type: json"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"3a50a6ee_786a4455","line":252,"in_reply_to":"7ca32ebe_dbb6d899","updated":"2021-11-22 13:10:23.000000000","message":"Ok. It is prefered to keep the parameter non-role-specific when a service can be used in only one role. This NeutronApi service can be used in one role only. It doesn\u0027t have a value in creating a role-specific merging in this service. But if the same parameter is required in the ovs-agent service, then it can be implemented as role-specific. By doing that, the same parameter will have two different implementations, which may confuse users. So it is better to have role-specific implementation in this service too, eventhough it does not add value to keep it consistent with usability.","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":7130,"name":"David Hill","email":"davidchill@hotmail.com","username":"dhill"},"change_message_id":"a622370c636d0adfd2787dcda8e0198e80a76e5d","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    equals: [{get_param: NeutronAuthStrategy}, \u0027http_basic\u0027]"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"resources:"},{"line_number":252,"context_line":"  RoleParametersValue:"},{"line_number":253,"context_line":"    type: OS::Heat::Value"},{"line_number":254,"context_line":"    properties:"},{"line_number":255,"context_line":"      type: json"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"2d671fa2_6bc06f55","line":252,"in_reply_to":"d4be3fb1_87c66e3d","updated":"2021-11-22 11:32:13.000000000","message":"You can put NeutronApi on separate role if you want ... this would still stand.   Also, this was needed on the compute and was only a PoC for a customer which needed to troubleshoot some issues with ovs (from memory) but I expect more people having to troubleshoot different type of issues in different containers family so ... it\u0027s a nice to have on all containers in all roles to be able to override the Containers Capabilities .","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"3598347275ff161ebcba8160582678bac53607b5","unresolved":true,"context_lines":[{"line_number":256,"context_line":"      value:"},{"line_number":257,"context_line":"        map_replace:"},{"line_number":258,"context_line":"          - map_replace:"},{"line_number":259,"context_line":"            - vars: NeutronContainerCapabilities"},{"line_number":260,"context_line":"            - values: {get_param: [RoleParameters]}"},{"line_number":261,"context_line":"          - values:"},{"line_number":262,"context_line":"              NeutronContainerCapabilities: {get_param: NeutronContainerCapabilities}"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"fb35e547_4ccb00dd","line":259,"range":{"start_line":259,"start_character":14,"end_line":259,"end_character":18},"updated":"2021-11-22 13:10:23.000000000","message":"It would be better to have NeutronContainerCapabilities itself instead of vars.","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"3598347275ff161ebcba8160582678bac53607b5","unresolved":true,"context_lines":[{"line_number":543,"context_line":"                    restart: always"},{"line_number":544,"context_line":"                  - if neutron_cap_set:"},{"line_number":545,"context_line":"                    - cap_add:"},{"line_number":546,"context_line":"                      - {get_param: NeutronContainerCapabilities}"},{"line_number":547,"context_line":"                    - null"},{"line_number":548,"context_line":"                  - healthcheck:"},{"line_number":549,"context_line":"                      test: /openstack/healthcheck"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"32facf06_52d3a791","line":546,"range":{"start_line":546,"start_character":24,"end_line":546,"end_character":65},"updated":"2021-11-22 13:10:23.000000000","message":"This value need to be fetched from the merged resource RoleParametersValue","commit_id":"c01cdf97684ee2c18d18ee417cf6182842f6bcc5"}]}
