)]}'
{"nova/templates/network_policy.yaml":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"83bf205cba340f34e3333cd5665be50ba7ce3672","unresolved":false,"context_lines":[{"line_number":17,"context_line":"{{- if .Values.manifests.network_policy -}}"},{"line_number":18,"context_line":"{{- $netpol_opts :\u003d dict \"envAll\" . \"name\" \"application\" \"label\" \"nova\" }}"},{"line_number":19,"context_line":"{{ $netpol_opts | include \"helm-toolkit.manifests.kubernetes_network_policy\" }}"},{"line_number":20,"context_line":"{{- $netpol_opts :\u003d dict \"envAll\" . \"name\" \"application\" \"label\" \"placement\" }}"},{"line_number":21,"context_line":"{{ $netpol_opts | include \"helm-toolkit.manifests.kubernetes_network_policy\" }}"},{"line_number":22,"context_line":"{{- end -}}"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3fa7e38b_5d6c6635","line":20,"updated":"2019-10-09 08:02:25.000000000","message":"Since this is now also in placement/templates/network_policy you may want a:\n\n{{- if .Values.manifests.deployment_placement }}\n\naround this?","commit_id":"d3c885d4adaba41f8836a70a7438d6c244b3e28d"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"7b26752f364aa07618540a53588ab495cb646cd6","unresolved":false,"context_lines":[{"line_number":17,"context_line":"{{- if .Values.manifests.network_policy -}}"},{"line_number":18,"context_line":"{{- $netpol_opts :\u003d dict \"envAll\" . \"name\" \"application\" \"label\" \"nova\" }}"},{"line_number":19,"context_line":"{{ $netpol_opts | include \"helm-toolkit.manifests.kubernetes_network_policy\" }}"},{"line_number":20,"context_line":"{{- $netpol_opts :\u003d dict \"envAll\" . \"name\" \"application\" \"label\" \"placement\" }}"},{"line_number":21,"context_line":"{{ $netpol_opts | include \"helm-toolkit.manifests.kubernetes_network_policy\" }}"},{"line_number":22,"context_line":"{{- end -}}"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"3fa7e38b_cf95e788","line":20,"in_reply_to":"3fa7e38b_5d6c6635","updated":"2019-10-10 09:04:38.000000000","message":"Will update it later, thanks!","commit_id":"d3c885d4adaba41f8836a70a7438d6c244b3e28d"}],"placement/Chart.yaml":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7bb55fb9d0efa41aede319d251ffb929234127de","unresolved":false,"context_lines":[{"line_number":16,"context_line":"appVersion: \"1.0\""},{"line_number":17,"context_line":"description: OpenStack Placement Service"},{"line_number":18,"context_line":"name: placement"},{"line_number":19,"context_line":"version: 0.1.0"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"3fa7e38b_03d6e150","line":19,"updated":"2019-10-03 15:25:10.000000000","message":"This could also have\n\nicon: https://www.openstack.org/themes/openstack/images/project-mascots/Placement/OpenStack_Project_Placement_vertical.png\nhome: https://docs.openstack.org/placement/latest/\n\nand perhaps sources:, like some of the other charts","commit_id":"b7608043064fe1b0f250f8cbd84e4debef448c28"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"26d5e79fd072c6951fbb9aecb63b922fa90df00e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"appVersion: \"1.0\""},{"line_number":17,"context_line":"description: OpenStack Placement Service"},{"line_number":18,"context_line":"name: placement"},{"line_number":19,"context_line":"version: 0.1.0"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"3fa7e38b_04cc72ba","line":19,"in_reply_to":"3fa7e38b_03d6e150","updated":"2019-10-08 02:17:22.000000000","message":"Good, will update","commit_id":"b7608043064fe1b0f250f8cbd84e4debef448c28"}],"placement/requirements.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"45690b538ceaf436686920b4fef578c4f14af599","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright (c) 2019 StarlingX."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"dependencies:"},{"line_number":8,"context_line":"  - name: helm-toolkit"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_5a6fba91","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":1},"updated":"2019-07-09 15:23:36.000000000","message":"unless strong objection, can we use the same format at other headers in osh.","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"fc9f15d9c6f70c9e4f445a67d243c85b1167d532","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright (c) 2019 StarlingX."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"dependencies:"},{"line_number":8,"context_line":"  - name: helm-toolkit"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_dad64a28","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":1},"in_reply_to":"7faddb67_5a6fba91","updated":"2019-07-09 15:25:13.000000000","message":"I didn\u0027t know StarlingX was a company.. Is this correct?","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"7082bb1dd200e5fbb10506e07adc3a940e06c5b0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright (c) 2019 StarlingX."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"dependencies:"},{"line_number":8,"context_line":"  - name: helm-toolkit"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_fac5463d","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":1},"in_reply_to":"7faddb67_5a6fba91","updated":"2019-07-09 15:48:32.000000000","message":"I will change it, thanks!","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"7082bb1dd200e5fbb10506e07adc3a940e06c5b0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright (c) 2019 StarlingX."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"dependencies:"},{"line_number":8,"context_line":"  - name: helm-toolkit"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_ba14aea1","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":1},"in_reply_to":"7faddb67_dad64a28","updated":"2019-07-09 15:48:32.000000000","message":"Sorry, we need change it","commit_id":"d8381aa420ffb46703461d155243899589059d1b"}],"placement/templates/bin/_db-sync.sh.tpl":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"80ad8f111d23bd39486d3b7ce059c7c78ee102a3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"set -ex"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"su -s /bin/sh -c \"placement-manage db sync\" placement"}],"source_content_type":"text/x-smarty","patch_set":4,"id":"9fb8cfa7_1373a282","line":11,"updated":"2019-06-03 13:23:35.000000000","message":"I\u0027m not recommending that you use it here, but just so people are aware, placement can sync it\u0027s own database when the web service starts up (instead of using placement-manage) by setting the [placement_database]/sync_on_startup option to true [1]\n\n[1] https://docs.openstack.org/placement/latest/configuration/config.html#placement_database.sync_on_startup","commit_id":"694ffffa7164122fef7d9e6b90bdd3bf50829667"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"2818d82037a2c97edfaa19555e8cf8d90082b3e1","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"set -ex"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"su -s /bin/sh -c \"placement-manage db sync\" placement"}],"source_content_type":"text/x-smarty","patch_set":4,"id":"7faddb67_74cbdfa4","line":11,"in_reply_to":"9fb8cfa7_1373a282","updated":"2019-07-05 06:04:23.000000000","message":"It depends on user, they can override sync_on_starup to true\nand disable this db_sync, or use db_sync.\nThis one is just a template.","commit_id":"694ffffa7164122fef7d9e6b90bdd3bf50829667"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"45690b538ceaf436686920b4fef578c4f14af599","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"set -ex"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"su -s /bin/sh -c \"placement-manage db sync\" placement"}],"source_content_type":"text/x-smarty","patch_set":23,"id":"7faddb67_da088ada","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"updated":"2019-07-09 15:23:36.000000000","message":"why not just run this pod as the placement user?","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"7082bb1dd200e5fbb10506e07adc3a940e06c5b0","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"set -ex"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"su -s /bin/sh -c \"placement-manage db sync\" placement"}],"source_content_type":"text/x-smarty","patch_set":23,"id":"7faddb67_ba634e1a","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"in_reply_to":"7faddb67_da088ada","updated":"2019-07-09 15:48:32.000000000","message":"Sorry, not get your point. What\u0027s your proposal?","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"20d9d364ee31593993ab743f0c4bd670149ae63c","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"set -ex"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"su -s /bin/sh -c \"placement-manage db sync\" placement"}],"source_content_type":"text/x-smarty","patch_set":23,"id":"7faddb67_c61c296c","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"in_reply_to":"7faddb67_da088ada","updated":"2019-07-10 03:00:20.000000000","message":"This command is started as placement user already.\nOr, what\u0027s your exact proposal?  Many thanks!","commit_id":"d8381aa420ffb46703461d155243899589059d1b"}],"placement/templates/deployment.yaml":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"80ad8f111d23bd39486d3b7ce059c7c78ee102a3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            - name: p-api"},{"line_number":64,"context_line":"              containerPort: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":65,"context_line":"          readinessProbe:"},{"line_number":66,"context_line":"            #NOTE(portdirect): use tcpSocket check as HTTP will return 401"},{"line_number":67,"context_line":"            tcpSocket:"},{"line_number":68,"context_line":"              port: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":69,"context_line":"            initialDelaySeconds: 15"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9fb8cfa7_93d23234","line":66,"updated":"2019-06-03 13:23:35.000000000","message":"Depending on what version of placement you\u0027re working from here, the version document at / is not authenticated so you could use that (and in the process verify the version of the system if you wanted)","commit_id":"694ffffa7164122fef7d9e6b90bdd3bf50829667"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"2818d82037a2c97edfaa19555e8cf8d90082b3e1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            - name: p-api"},{"line_number":64,"context_line":"              containerPort: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":65,"context_line":"          readinessProbe:"},{"line_number":66,"context_line":"            #NOTE(portdirect): use tcpSocket check as HTTP will return 401"},{"line_number":67,"context_line":"            tcpSocket:"},{"line_number":68,"context_line":"              port: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":69,"context_line":"            initialDelaySeconds: 15"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7faddb67_f4beeffd","line":66,"in_reply_to":"9fb8cfa7_93d23234","updated":"2019-07-05 06:04:23.000000000","message":"Got it, thanks!","commit_id":"694ffffa7164122fef7d9e6b90bdd3bf50829667"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1fe0f49e50eb53eb86f6eb31e827e1fb3fe370d9","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            - name: p-api"},{"line_number":72,"context_line":"              containerPort: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":73,"context_line":"          readinessProbe:"},{"line_number":74,"context_line":"            #NOTE(portdirect): use tcpSocket check as HTTP will return 401"},{"line_number":75,"context_line":"            tcpSocket:"},{"line_number":76,"context_line":"              port: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":77,"context_line":"            initialDelaySeconds: 15"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"5faad753_c1a3e14e","line":74,"updated":"2019-09-09 11:03:38.000000000","message":"This should no longer be true as of https://review.opendev.org/#/c/522002/ (quite a long time ago)","commit_id":"653537a750e15bb45db5f381db1d5183dad96236"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"52852d1065c1ded1c0d84a936bd350912eda772f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            - name: p-api"},{"line_number":72,"context_line":"              containerPort: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":73,"context_line":"          readinessProbe:"},{"line_number":74,"context_line":"            #NOTE(portdirect): use tcpSocket check as HTTP will return 401"},{"line_number":75,"context_line":"            tcpSocket:"},{"line_number":76,"context_line":"              port: {{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}"},{"line_number":77,"context_line":"            initialDelaySeconds: 15"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"5faad753_843d69de","line":74,"in_reply_to":"5faad753_c1a3e14e","updated":"2019-09-16 05:51:15.000000000","message":"Let\u0027s keep it first, thanks!","commit_id":"653537a750e15bb45db5f381db1d5183dad96236"}],"placement/templates/secret-ingress-tls.yaml":[{"author":{"_account_id":28675,"name":"Teresa Ho","email":"teresa.ho@windriver.com","username":"tho"},"change_message_id":"cf41c50ee654e0339b5136e73b9631e3f1c91b04","unresolved":false,"context_lines":[{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if .Values.manifests.secret_ingress_tls }}"},{"line_number":18,"context_line":"{{ include \"helm-toolkit.manifests.secret_ingress_tls\" ( dict \"envAll\" . \"backendService\" \"placement\" \"backendServiceType\" \"placement\" ) }}"},{"line_number":19,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"7faddb67_876b59b5","line":18,"range":{"start_line":18,"start_character":73,"end_line":18,"end_character":101},"updated":"2019-07-12 15:20:11.000000000","message":"Please remove this.","commit_id":"438ba028d721f08eee2352cce78296c43a8a444c"}],"placement/values.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"45690b538ceaf436686920b4fef578c4f14af599","unresolved":false,"context_lines":[{"line_number":346,"context_line":"      placement:"},{"line_number":347,"context_line":"        public: placement-tls-public"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"dependencies:"},{"line_number":350,"context_line":"  dynamic:"},{"line_number":351,"context_line":"    common:"},{"line_number":352,"context_line":"      local_image_registry:"},{"line_number":353,"context_line":"        jobs:"},{"line_number":354,"context_line":"          - image-repo-sync"},{"line_number":355,"context_line":"        services:"},{"line_number":356,"context_line":"          - endpoint: node"},{"line_number":357,"context_line":"            service: local_image_registry"},{"line_number":358,"context_line":"  static:"},{"line_number":359,"context_line":"    api:"},{"line_number":360,"context_line":"      jobs:"},{"line_number":361,"context_line":"        - placement-db-sync"},{"line_number":362,"context_line":"        - placement-ks-service"},{"line_number":363,"context_line":"        - placement-ks-user"},{"line_number":364,"context_line":"        - placement-ks-endpoints"},{"line_number":365,"context_line":"    ks_endpoints:"},{"line_number":366,"context_line":"      jobs:"},{"line_number":367,"context_line":"        - placement-ks-user"},{"line_number":368,"context_line":"        - placement-ks-service"},{"line_number":369,"context_line":"      services:"},{"line_number":370,"context_line":"        - endpoint: internal"},{"line_number":371,"context_line":"          service: identity"},{"line_number":372,"context_line":"    ks_service:"},{"line_number":373,"context_line":"      services:"},{"line_number":374,"context_line":"        - endpoint: internal"},{"line_number":375,"context_line":"          service: identity"},{"line_number":376,"context_line":"    ks_user:"},{"line_number":377,"context_line":"      services:"},{"line_number":378,"context_line":"        - endpoint: internal"},{"line_number":379,"context_line":"          service: identity"},{"line_number":380,"context_line":"    db_drop:"},{"line_number":381,"context_line":"      services:"},{"line_number":382,"context_line":"        - endpoint: internal"},{"line_number":383,"context_line":"          service: oslo_db"},{"line_number":384,"context_line":"    db_init:"},{"line_number":385,"context_line":"      services:"},{"line_number":386,"context_line":"        - endpoint: internal"},{"line_number":387,"context_line":"          service: oslo_db"},{"line_number":388,"context_line":"    db_sync:"},{"line_number":389,"context_line":"      jobs:"},{"line_number":390,"context_line":"        - placement-db-init"},{"line_number":391,"context_line":"      services:"},{"line_number":392,"context_line":"        - endpoint: internal"},{"line_number":393,"context_line":"          service: oslo_db"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"manifests:"},{"line_number":396,"context_line":"  configmap_bin: true"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_7a287633","line":393,"range":{"start_line":349,"start_character":0,"end_line":393,"end_character":26},"updated":"2019-07-09 15:23:36.000000000","message":"how can we get this and nova aligned?","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"7082bb1dd200e5fbb10506e07adc3a940e06c5b0","unresolved":false,"context_lines":[{"line_number":346,"context_line":"      placement:"},{"line_number":347,"context_line":"        public: placement-tls-public"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"dependencies:"},{"line_number":350,"context_line":"  dynamic:"},{"line_number":351,"context_line":"    common:"},{"line_number":352,"context_line":"      local_image_registry:"},{"line_number":353,"context_line":"        jobs:"},{"line_number":354,"context_line":"          - image-repo-sync"},{"line_number":355,"context_line":"        services:"},{"line_number":356,"context_line":"          - endpoint: node"},{"line_number":357,"context_line":"            service: local_image_registry"},{"line_number":358,"context_line":"  static:"},{"line_number":359,"context_line":"    api:"},{"line_number":360,"context_line":"      jobs:"},{"line_number":361,"context_line":"        - placement-db-sync"},{"line_number":362,"context_line":"        - placement-ks-service"},{"line_number":363,"context_line":"        - placement-ks-user"},{"line_number":364,"context_line":"        - placement-ks-endpoints"},{"line_number":365,"context_line":"    ks_endpoints:"},{"line_number":366,"context_line":"      jobs:"},{"line_number":367,"context_line":"        - placement-ks-user"},{"line_number":368,"context_line":"        - placement-ks-service"},{"line_number":369,"context_line":"      services:"},{"line_number":370,"context_line":"        - endpoint: internal"},{"line_number":371,"context_line":"          service: identity"},{"line_number":372,"context_line":"    ks_service:"},{"line_number":373,"context_line":"      services:"},{"line_number":374,"context_line":"        - endpoint: internal"},{"line_number":375,"context_line":"          service: identity"},{"line_number":376,"context_line":"    ks_user:"},{"line_number":377,"context_line":"      services:"},{"line_number":378,"context_line":"        - endpoint: internal"},{"line_number":379,"context_line":"          service: identity"},{"line_number":380,"context_line":"    db_drop:"},{"line_number":381,"context_line":"      services:"},{"line_number":382,"context_line":"        - endpoint: internal"},{"line_number":383,"context_line":"          service: oslo_db"},{"line_number":384,"context_line":"    db_init:"},{"line_number":385,"context_line":"      services:"},{"line_number":386,"context_line":"        - endpoint: internal"},{"line_number":387,"context_line":"          service: oslo_db"},{"line_number":388,"context_line":"    db_sync:"},{"line_number":389,"context_line":"      jobs:"},{"line_number":390,"context_line":"        - placement-db-init"},{"line_number":391,"context_line":"      services:"},{"line_number":392,"context_line":"        - endpoint: internal"},{"line_number":393,"context_line":"          service: oslo_db"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"manifests:"},{"line_number":396,"context_line":"  configmap_bin: true"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_9aa2124b","line":393,"range":{"start_line":349,"start_character":0,"end_line":393,"end_character":26},"in_reply_to":"7faddb67_7a287633","updated":"2019-07-09 15:48:32.000000000","message":"In our StarlingX project, we overrote related flags for nova chart in manifest.yaml\n      deployment_placement: false\n      ingress_placement: false\n      job_db_init_placement: false\n      job_ks_placement_endpoints: false\n      job_ks_placement_service: false\n      job_ks_placement_user: false\n      pdb_placement: false\n      secret_keystone_placement: false\n      service_ingress_placement: false\n      service_placement: false\nDo we need a new patch to change valuse.yaml file for nova directly.\nOr just let downstream project do it like StarlingX did now?Any good idea?   \nThanks!","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"20d9d364ee31593993ab743f0c4bd670149ae63c","unresolved":false,"context_lines":[{"line_number":346,"context_line":"      placement:"},{"line_number":347,"context_line":"        public: placement-tls-public"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"dependencies:"},{"line_number":350,"context_line":"  dynamic:"},{"line_number":351,"context_line":"    common:"},{"line_number":352,"context_line":"      local_image_registry:"},{"line_number":353,"context_line":"        jobs:"},{"line_number":354,"context_line":"          - image-repo-sync"},{"line_number":355,"context_line":"        services:"},{"line_number":356,"context_line":"          - endpoint: node"},{"line_number":357,"context_line":"            service: local_image_registry"},{"line_number":358,"context_line":"  static:"},{"line_number":359,"context_line":"    api:"},{"line_number":360,"context_line":"      jobs:"},{"line_number":361,"context_line":"        - placement-db-sync"},{"line_number":362,"context_line":"        - placement-ks-service"},{"line_number":363,"context_line":"        - placement-ks-user"},{"line_number":364,"context_line":"        - placement-ks-endpoints"},{"line_number":365,"context_line":"    ks_endpoints:"},{"line_number":366,"context_line":"      jobs:"},{"line_number":367,"context_line":"        - placement-ks-user"},{"line_number":368,"context_line":"        - placement-ks-service"},{"line_number":369,"context_line":"      services:"},{"line_number":370,"context_line":"        - endpoint: internal"},{"line_number":371,"context_line":"          service: identity"},{"line_number":372,"context_line":"    ks_service:"},{"line_number":373,"context_line":"      services:"},{"line_number":374,"context_line":"        - endpoint: internal"},{"line_number":375,"context_line":"          service: identity"},{"line_number":376,"context_line":"    ks_user:"},{"line_number":377,"context_line":"      services:"},{"line_number":378,"context_line":"        - endpoint: internal"},{"line_number":379,"context_line":"          service: identity"},{"line_number":380,"context_line":"    db_drop:"},{"line_number":381,"context_line":"      services:"},{"line_number":382,"context_line":"        - endpoint: internal"},{"line_number":383,"context_line":"          service: oslo_db"},{"line_number":384,"context_line":"    db_init:"},{"line_number":385,"context_line":"      services:"},{"line_number":386,"context_line":"        - endpoint: internal"},{"line_number":387,"context_line":"          service: oslo_db"},{"line_number":388,"context_line":"    db_sync:"},{"line_number":389,"context_line":"      jobs:"},{"line_number":390,"context_line":"        - placement-db-init"},{"line_number":391,"context_line":"      services:"},{"line_number":392,"context_line":"        - endpoint: internal"},{"line_number":393,"context_line":"          service: oslo_db"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"manifests:"},{"line_number":396,"context_line":"  configmap_bin: true"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_030eb33a","line":393,"range":{"start_line":349,"start_character":0,"end_line":393,"end_character":26},"in_reply_to":"7faddb67_9aa2124b","updated":"2019-07-10 03:00:20.000000000","message":"For nova part, from my point, we can change these default values in values.yaml of nova later as the local placement in nova is still in use until next release.","commit_id":"d8381aa420ffb46703461d155243899589059d1b"},{"author":{"_account_id":28675,"name":"Teresa Ho","email":"teresa.ho@windriver.com","username":"tho"},"change_message_id":"cf41c50ee654e0339b5136e73b9631e3f1c91b04","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    placement: placement-db-user"},{"line_number":354,"context_line":"  tls:"},{"line_number":355,"context_line":"    placement:"},{"line_number":356,"context_line":"      placement:"},{"line_number":357,"context_line":"        public: placement-tls-public"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"dependencies:"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"7faddb67_6745fd42","line":356,"range":{"start_line":356,"start_character":6,"end_line":356,"end_character":15},"updated":"2019-07-12 15:20:11.000000000","message":"Please replace \u0027placement\u0027 with \u0027api\u0027.","commit_id":"438ba028d721f08eee2352cce78296c43a8a444c"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1fe0f49e50eb53eb86f6eb31e827e1fb3fe370d9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"images:"},{"line_number":30,"context_line":"  pull_policy: IfNotPresent"},{"line_number":31,"context_line":"  tags:"},{"line_number":32,"context_line":"    placement: docker.io/openstackhelm/placement:ocata-ubuntu_xenial"},{"line_number":33,"context_line":"    ks_user: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":34,"context_line":"    ks_service: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":35,"context_line":"    ks_endpoints: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"5faad753_016819f3","line":32,"updated":"2019-09-09 11:03:38.000000000","message":"When will this become newer?","commit_id":"653537a750e15bb45db5f381db1d5183dad96236"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"52852d1065c1ded1c0d84a936bd350912eda772f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"images:"},{"line_number":30,"context_line":"  pull_policy: IfNotPresent"},{"line_number":31,"context_line":"  tags:"},{"line_number":32,"context_line":"    placement: docker.io/openstackhelm/placement:ocata-ubuntu_xenial"},{"line_number":33,"context_line":"    ks_user: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":34,"context_line":"    ks_service: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":35,"context_line":"    ks_endpoints: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"5faad753_04297999","line":32,"in_reply_to":"5faad753_016819f3","updated":"2019-09-16 05:51:15.000000000","message":"These are just default ones.\nYou need to override them in your own implementation.","commit_id":"653537a750e15bb45db5f381db1d5183dad96236"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"72837e9bb4578fb97aacca596f494db23655fd61","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  pull_policy: IfNotPresent"},{"line_number":31,"context_line":"  tags:"},{"line_number":32,"context_line":"    placement: docker.io/openstackhelm/placement:ocata-ubuntu_xenial"},{"line_number":33,"context_line":"    ks_user: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":34,"context_line":"    ks_service: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":35,"context_line":"    ks_endpoints: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":36,"context_line":"    db_init: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"3fa7e38b_1597304a","line":33,"updated":"2019-09-30 14:28:50.000000000","message":"should these be palcement, not heat?\n\n(I know that they are supposed to be replaced in a real use, but having stubs with weird names is confusing)","commit_id":"b7608043064fe1b0f250f8cbd84e4debef448c28"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"1ad485dc334bc8dbcda607f23b0559d048dcfeec","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  pull_policy: IfNotPresent"},{"line_number":31,"context_line":"  tags:"},{"line_number":32,"context_line":"    placement: docker.io/openstackhelm/placement:ocata-ubuntu_xenial"},{"line_number":33,"context_line":"    ks_user: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":34,"context_line":"    ks_service: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":35,"context_line":"    ks_endpoints: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"},{"line_number":36,"context_line":"    db_init: docker.io/openstackhelm/heat:ocata-ubuntu_xenial"}],"source_content_type":"text/x-yaml","patch_set":41,"id":"3fa7e38b_24f64efb","line":33,"in_reply_to":"3fa7e38b_1597304a","updated":"2019-10-08 02:14:31.000000000","message":"This is just according to other component like aodh,\nAnyway, we need ensure it pass zuul test before merge.","commit_id":"b7608043064fe1b0f250f8cbd84e4debef448c28"},{"author":{"_account_id":18795,"name":"mkarpin","email":"mkarpin@mirantis.com","username":"nkarpin"},"change_message_id":"1122a4de8fc8a22645eb30a5815263dd57a4dc04","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    CustomLog /dev/stdout combined env\u003d!forwarded"},{"line_number":145,"context_line":"    CustomLog /dev/stdout proxy env\u003dforwarded"},{"line_number":146,"context_line":"    \u003cVirtualHost *:{{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}\u003e"},{"line_number":147,"context_line":"        WSGIDaemonProcess placement-api processes\u003d1 threads\u003d4 user\u003dplacement group\u003dplacement display-name\u003d%{GROUP}"},{"line_number":148,"context_line":"        WSGIProcessGroup placement-api"},{"line_number":149,"context_line":"        WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api"},{"line_number":150,"context_line":"        WSGIApplicationGroup %{GLOBAL}"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"3fa7e38b_925b36f7","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":61},"updated":"2020-02-14 15:59:58.000000000","message":"why 4 threads? and 1 process I suppose it should be vice versa","commit_id":"1b9ec78eaa71c99412f7af756b810ffa6e73fb53"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"6e79f43429b25d2a1dc5a5340a025c7a9c2db993","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    CustomLog /dev/stdout combined env\u003d!forwarded"},{"line_number":145,"context_line":"    CustomLog /dev/stdout proxy env\u003dforwarded"},{"line_number":146,"context_line":"    \u003cVirtualHost *:{{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}\u003e"},{"line_number":147,"context_line":"        WSGIDaemonProcess placement-api processes\u003d1 threads\u003d4 user\u003dplacement group\u003dplacement display-name\u003d%{GROUP}"},{"line_number":148,"context_line":"        WSGIProcessGroup placement-api"},{"line_number":149,"context_line":"        WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api"},{"line_number":150,"context_line":"        WSGIApplicationGroup %{GLOBAL}"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"3fa7e38b_4c2dd7fa","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":61},"in_reply_to":"3fa7e38b_0c0b5f23","updated":"2020-02-20 10:06:54.000000000","message":"It seems this boils down to mod_wsgi vs mod_uwsgi (at least in Apache2 terms)\n\nFor uwsgi, indeed one process + multiple threads may be preferable.\n\nHowever for mod_wsgi, multiple threads won\u0027t work, and multiple processes + single thread in each must be used.","commit_id":"1b9ec78eaa71c99412f7af756b810ffa6e73fb53"},{"author":{"_account_id":18795,"name":"mkarpin","email":"mkarpin@mirantis.com","username":"nkarpin"},"change_message_id":"9a7d6c0559a8a29ae6a21c7cc4e563378e0c7381","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    CustomLog /dev/stdout combined env\u003d!forwarded"},{"line_number":145,"context_line":"    CustomLog /dev/stdout proxy env\u003dforwarded"},{"line_number":146,"context_line":"    \u003cVirtualHost *:{{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}\u003e"},{"line_number":147,"context_line":"        WSGIDaemonProcess placement-api processes\u003d1 threads\u003d4 user\u003dplacement group\u003dplacement display-name\u003d%{GROUP}"},{"line_number":148,"context_line":"        WSGIProcessGroup placement-api"},{"line_number":149,"context_line":"        WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api"},{"line_number":150,"context_line":"        WSGIApplicationGroup %{GLOBAL}"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"3fa7e38b_abf8f44a","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":61},"in_reply_to":"3fa7e38b_56cfc725","updated":"2020-02-20 07:20:41.000000000","message":"actually there are several reasons not to set it like this:\n1. the defaults in nova chart for this are processes\u003d4 threads\u003d1 \n2. placement-api does not support threads, so setting threads in wsgi settings can negatively affect performance\n3. it is pretty hard to override this because I will need to override full config","commit_id":"1b9ec78eaa71c99412f7af756b810ffa6e73fb53"},{"author":{"_account_id":28570,"name":"zhipeng liu","email":"zhipengs.liu@intel.com","username":"zhipengl"},"change_message_id":"36ffecbd8285aab743944d93de07fc692236e656","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    CustomLog /dev/stdout combined env\u003d!forwarded"},{"line_number":145,"context_line":"    CustomLog /dev/stdout proxy env\u003dforwarded"},{"line_number":146,"context_line":"    \u003cVirtualHost *:{{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}\u003e"},{"line_number":147,"context_line":"        WSGIDaemonProcess placement-api processes\u003d1 threads\u003d4 user\u003dplacement group\u003dplacement display-name\u003d%{GROUP}"},{"line_number":148,"context_line":"        WSGIProcessGroup placement-api"},{"line_number":149,"context_line":"        WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api"},{"line_number":150,"context_line":"        WSGIApplicationGroup %{GLOBAL}"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"3fa7e38b_56cfc725","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":61},"in_reply_to":"3fa7e38b_925b36f7","updated":"2020-02-18 15:14:57.000000000","message":"I think you can override it according to your requirement.\nBy default, I think it is OK.  Any further comment? Thanks!\nZhipeng","commit_id":"1b9ec78eaa71c99412f7af756b810ffa6e73fb53"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1fa0119d87cf3b754460ed46b084bb003e72d99c","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    CustomLog /dev/stdout combined env\u003d!forwarded"},{"line_number":145,"context_line":"    CustomLog /dev/stdout proxy env\u003dforwarded"},{"line_number":146,"context_line":"    \u003cVirtualHost *:{{ tuple \"placement\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}\u003e"},{"line_number":147,"context_line":"        WSGIDaemonProcess placement-api processes\u003d1 threads\u003d4 user\u003dplacement group\u003dplacement display-name\u003d%{GROUP}"},{"line_number":148,"context_line":"        WSGIProcessGroup placement-api"},{"line_number":149,"context_line":"        WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api"},{"line_number":150,"context_line":"        WSGIApplicationGroup %{GLOBAL}"}],"source_content_type":"text/x-yaml","patch_set":53,"id":"3fa7e38b_0c0b5f23","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":61},"in_reply_to":"3fa7e38b_abf8f44a","updated":"2020-02-20 09:18:04.000000000","message":"I think you\u0027re misunderstanding how wsgi daemon process threads work. It\u0027s not about threads in the placement-api itself. It\u0027s about threads in the listener, each of which can handle (at any one time) a single placement-api request.\n\nYou\u0027re correct that placement does not use threads within itself. This is entirely by design. We want the web server and the operating system to manage concurrency and not have to worry about it within the Python code. This is okay and efficient because a single request to the placement service is an entirely linear process: get some data, process that data, get some more data, send that data. There is little opportunity for within request concurrency.\n\nSo what we want is opportunities for multiple requests to be handled, independently, which is the job of the web server and operating system.\n\nIn a container based environment I tend to keep number of processes low and raise threads. On bare metal or VM I would raise processes.\n\nHowever, I completely agree with you that this should be far more configurable and some kind of templating would be good here.\n\nBecause in the end, every installation\u0027s requirements will be different and there is no good default.","commit_id":"1b9ec78eaa71c99412f7af756b810ffa6e73fb53"}]}
