)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"6cbf573ea971e433fe8f30d80a023ab31337af57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"72dba54c_5c2cc4d1","updated":"2024-11-27 13:26:38.000000000","message":"I do think we should ultimately switch all the daemons to —-config-dir and make the mount options follow the Helm Best Practices examples so that people can mount other files in. But in this case we’ll have a nova vs nova-compute directory.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"13d545219a079cbabb447f062dcee44202e0996a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"52dbf3c9_e0919581","updated":"2024-11-26 16:27:12.000000000","message":"recheck - ContainerStatusUnknown and related issues with pulling the container images","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"47a17321814000df0b521969eb961b1752829b82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fcdc8f66_ddad6704","updated":"2024-11-27 05:21:52.000000000","message":"recheck the WireGuard variable error","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"}],"nova/templates/bin/_nova-compute-ironic.sh.tpl":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3ac7334fa40fa2537c7e43e237bc55a2b0e1677f","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"b9c3b646_ce41200b","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"updated":"2024-11-27 08:12:56.000000000","message":"exec nova-compute\n\nJust mount nova-ironic.conf to /etc/nova/nova.conf.d/ directory. Nova will read all config files from it, no need to specify them directly.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"6a8bf553ad0350b8817efe72b4ddf85bb18db458","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"8095405c_4257175e","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"in_reply_to":"066cd801_dd7fd893","updated":"2024-11-27 12:46:03.000000000","message":"\u003e with ugly logic on adding files with dozen of ifs when they are completely not needed.\n\nAgain, I did not write these ifs but definitely disagree that they are redundant or not needed. They provide easy and flexible way to enable/disable particular functionality by simply changing the value provided to helm on upgrade/install.\n\n\n\u003e By using conf.d directory we give users a bit of flexibility as they right now can mount other files directly and they will be automatically loaded.\n\nopenstack-helm operates inside a Kuberenetes environment. As far as I am aware, there none of the popular container runtimes have the ability to mount files dynamically without restarting the process.\n\n\u003e But if you use conf.d and /etc/nova/nova.conf.d/runtime.conf you have ability to put required options and do not restart the processes.\n\nThis is a moot point based on the above because:\n\na) based on the link you posted it\u0027s only Nova that supports mutable \nconfigurations.\n\nb) In addition, based on [this page](https://docs.openstack.org/nova/latest/configuration/config.html) it\u0027s barely 6 configuration options that are mutable. Two of them are for VM migration which is irrelevant for ironic. That leaves the debug and logging settings.\n\nc) most importantly, in OSH the Nova config file is stored in the Secret. If the value of Secret is modified by `helm upgrade`, there is no mechanism to send the `SIGHUP` to the nova processes running inside the containers so they could notice the config mutation.\n\n\n\n\u003e I think we have to move using conf.d directories in services in long term run.\n\nJust to be clear, I am not against this change - in long term it makes sense but I think it should be consistent across all the services. It also should not be done as part of the unrelated bugfix.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"2bfdeb4ace7b740530de927a241a32c9ad717bd3","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"888111eb_cabb2811","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"in_reply_to":"8095405c_4257175e","updated":"2024-11-27 13:24:59.000000000","message":"Vasyl, while I agree with you on being able to override things in this case I think Marek is correct. Historically there have been separate options for the API and for the compute service. most of the configuration systems and installation tools have called the files nova.conf and nova-compute.conf. They have different options and aren’t interchangeable. Marek’s change matches the other nova-compute stateful sets to use the correct file.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"57e590970644b6946919523fbcd3d1f19c3b2a88","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"f830c903_3b410b52","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"in_reply_to":"888111eb_cabb2811","updated":"2024-11-28 14:07:45.000000000","message":"ok, lets discuss switching charts to conf.d separately.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"dbe04bd2d03defaa0d7f9f364cc4eba91a0e432e","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"e5067ef3_cafeb1db","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"in_reply_to":"b9c3b646_ce41200b","updated":"2024-11-27 11:15:44.000000000","message":"What would be the point of adding this implicit behavior and obscuring which config files are read? Why make it different than other components in the project?\n\n- ironic-conductor uses [exact same](https://opendev.org/openstack/openstack-helm/src/commit/9f633d05b7dd90fe18481f95b6938f4b84958a0d/ironic/templates/bin/_ironic-conductor.sh.tpl#L29) style of initialization by providing explicit paths to the config files\n- nova-conductor [does the same](https://opendev.org/openstack/openstack-helm/src/commit/9f633d05b7dd90fe18481f95b6938f4b84958a0d/nova/templates/bin/_nova-conductor.sh.tpl#L18)\n- nova-compute [does the same](https://opendev.org/openstack/openstack-helm/src/commit/9f633d05b7dd90fe18481f95b6938f4b84958a0d/nova/templates/bin/_nova-compute.sh.tpl#L19)\n- nova-scheduler [does the same](https://opendev.org/openstack/openstack-helm/src/commit/9f633d05b7dd90fe18481f95b6938f4b84958a0d/nova/templates/bin/_nova-scheduler.sh.tpl#L19)\n\nthere\u0027s probably more examples","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8620560391daba8c04020483d889f446b372aea0","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"066cd801_dd7fd893","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"in_reply_to":"e5067ef3_cafeb1db","updated":"2024-11-27 11:33:09.000000000","message":"This pattern just creates a redundant code please have look at neutron https://github.com/openstack/openstack-helm/blob/master/neutron/templates/bin/_neutron-server.sh.tpl#L32 with ugly logic on adding files with dozen of ifs when they are completely not needed. Openstack uses oslo.conf everywhere and all openstack projects are capable of reading /etc/\u003cproject\u003e/\u003cproject\u003e.conf and all /etc/\u003cproject\u003e/\u003cproject\u003e.conf.d directories\n\nBy using conf.d directory we give users a bit of flexibility as they right now can mount other files directly and they will be automatically loaded. https://github.com/openstack/openstack-helm/blob/master/nova/templates/statefulset-compute-ironic.yaml#L112, as some options in openstack can be loaded at runtime, right now changing of any option will lead to service restart. But if you use conf.d and /etc/nova/nova.conf.d/runtime.conf you have ability to put required options and do not restart the proceeses. https://docs.openstack.org/newton/config-reference/mutable.html\n\nI think we have to move using conf.d directories in services in long term run.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"d7e5ce9c3355bf9449ec4c4463e15d0165c1891e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -ex"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"exec nova-compute \\"},{"line_number":20,"context_line":"      --config-file /etc/nova/nova-compute.conf \\"},{"line_number":21,"context_line":"      --config-file /etc/nova/nova-ironic.conf"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"c8ab09c7_dabb8625","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":46},"in_reply_to":"f830c903_3b410b52","updated":"2024-12-02 14:57:26.000000000","message":"Done","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"}],"nova/templates/statefulset-compute-ironic.yaml":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3ac7334fa40fa2537c7e43e237bc55a2b0e1677f","unresolved":true,"context_lines":[{"line_number":72,"context_line":"              readOnly: true"},{"line_number":73,"context_line":"            - name: nova-etc"},{"line_number":74,"context_line":"              mountPath: /etc/nova/nova.conf"},{"line_number":75,"context_line":"              subPath: nova.conf"},{"line_number":76,"context_line":"              readOnly: true"},{"line_number":77,"context_line":"            {{- if .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":78,"context_line":"            - name: nova-etc"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"95c5b8ef_42e421d8","side":"PARENT","line":75,"range":{"start_line":75,"start_character":23,"end_line":75,"end_character":32},"updated":"2024-11-27 08:12:56.000000000","message":"just mount nova-compute.conf to nova.conf here.","commit_id":"9f633d05b7dd90fe18481f95b6938f4b84958a0d"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"d7e5ce9c3355bf9449ec4c4463e15d0165c1891e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"              readOnly: true"},{"line_number":73,"context_line":"            - name: nova-etc"},{"line_number":74,"context_line":"              mountPath: /etc/nova/nova.conf"},{"line_number":75,"context_line":"              subPath: nova.conf"},{"line_number":76,"context_line":"              readOnly: true"},{"line_number":77,"context_line":"            {{- if .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":78,"context_line":"            - name: nova-etc"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"88f426cb_a90ee774","side":"PARENT","line":75,"range":{"start_line":75,"start_character":23,"end_line":75,"end_character":32},"in_reply_to":"116e98c3_6365e9e5","updated":"2024-12-02 14:57:26.000000000","message":"Done","commit_id":"9f633d05b7dd90fe18481f95b6938f4b84958a0d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8620560391daba8c04020483d889f446b372aea0","unresolved":true,"context_lines":[{"line_number":72,"context_line":"              readOnly: true"},{"line_number":73,"context_line":"            - name: nova-etc"},{"line_number":74,"context_line":"              mountPath: /etc/nova/nova.conf"},{"line_number":75,"context_line":"              subPath: nova.conf"},{"line_number":76,"context_line":"              readOnly: true"},{"line_number":77,"context_line":"            {{- if .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":78,"context_line":"            - name: nova-etc"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"63ca0b0b_f95bfea7","side":"PARENT","line":75,"range":{"start_line":75,"start_character":23,"end_line":75,"end_character":32},"in_reply_to":"57feb6c5_2edb8f03","updated":"2024-11-27 11:33:09.000000000","message":"/etc/nova/nova.conf is a general configuration file, as you highlighted in commit message it should be different for ironic compute and regular compute we just mount it from different sources.","commit_id":"9f633d05b7dd90fe18481f95b6938f4b84958a0d"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"6a8bf553ad0350b8817efe72b4ddf85bb18db458","unresolved":true,"context_lines":[{"line_number":72,"context_line":"              readOnly: true"},{"line_number":73,"context_line":"            - name: nova-etc"},{"line_number":74,"context_line":"              mountPath: /etc/nova/nova.conf"},{"line_number":75,"context_line":"              subPath: nova.conf"},{"line_number":76,"context_line":"              readOnly: true"},{"line_number":77,"context_line":"            {{- if .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":78,"context_line":"            - name: nova-etc"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"116e98c3_6365e9e5","side":"PARENT","line":75,"range":{"start_line":75,"start_character":23,"end_line":75,"end_character":32},"in_reply_to":"63ca0b0b_f95bfea7","updated":"2024-11-27 12:46:03.000000000","message":"Given that the process is already being started with two different config files, we are already not following the \u0027general\u0027 use case. From the user perspective, if the logs state that `nova` was started with `nova.conf`, I am going to look for `nova.conf` in the Secret/ConfigMap while troubleshooting. Similarly, if it says `nova-ironic.conf`, I will look for `nova-ironic.conf`. I think it\u0027s unreasonable to expect users to know upfront that  the configuration files have been mapped for no specific reason. \n\nIs there anything hardcoded in the nova that requires the config file to be called \u0027nova.conf\u0027?","commit_id":"9f633d05b7dd90fe18481f95b6938f4b84958a0d"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"dbe04bd2d03defaa0d7f9f364cc4eba91a0e432e","unresolved":true,"context_lines":[{"line_number":72,"context_line":"              readOnly: true"},{"line_number":73,"context_line":"            - name: nova-etc"},{"line_number":74,"context_line":"              mountPath: /etc/nova/nova.conf"},{"line_number":75,"context_line":"              subPath: nova.conf"},{"line_number":76,"context_line":"              readOnly: true"},{"line_number":77,"context_line":"            {{- if .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":78,"context_line":"            - name: nova-etc"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"57feb6c5_2edb8f03","side":"PARENT","line":75,"range":{"start_line":75,"start_character":23,"end_line":75,"end_character":32},"in_reply_to":"95c5b8ef_42e421d8","updated":"2024-11-27 11:15:44.000000000","message":"Why? Why would anyone mount one file and pretend it is other file? that makes no sense at all and brings potential hell to anyone who needs to troubleshoot this down the line","commit_id":"9f633d05b7dd90fe18481f95b6938f4b84958a0d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3ac7334fa40fa2537c7e43e237bc55a2b0e1677f","unresolved":true,"context_lines":[{"line_number":80,"context_line":"              subPath: {{ base .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":81,"context_line":"              readOnly: true"},{"line_number":82,"context_line":"            {{- end }}"},{"line_number":83,"context_line":"            - name: nova-etc"},{"line_number":84,"context_line":"              mountPath: /etc/nova/nova-ironic.conf"},{"line_number":85,"context_line":"              subPath: nova-ironic.conf"},{"line_number":86,"context_line":"              readOnly: true"},{"line_number":87,"context_line":"            - name: nova-etc"},{"line_number":88,"context_line":"              mountPath: /etc/nova/api-paste.ini"},{"line_number":89,"context_line":"              subPath: api-paste.ini"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"e8c73f63_c383198f","line":86,"range":{"start_line":83,"start_character":12,"end_line":86,"end_character":28},"updated":"2024-11-27 08:12:56.000000000","message":"Just mount nova-ironic.conf to /etc/nova/nova.conf.d/ directory. Nova will read all config files from it, no need to specify them directly.\n```\n- name: nova-etc\n  mountPath: /etc/nova/nova.conf.d/nova-ironic.conf\n  subPath: nova-ironic.conf\n  readOnly: true\n```","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"dbe04bd2d03defaa0d7f9f364cc4eba91a0e432e","unresolved":true,"context_lines":[{"line_number":80,"context_line":"              subPath: {{ base .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":81,"context_line":"              readOnly: true"},{"line_number":82,"context_line":"            {{- end }}"},{"line_number":83,"context_line":"            - name: nova-etc"},{"line_number":84,"context_line":"              mountPath: /etc/nova/nova-ironic.conf"},{"line_number":85,"context_line":"              subPath: nova-ironic.conf"},{"line_number":86,"context_line":"              readOnly: true"},{"line_number":87,"context_line":"            - name: nova-etc"},{"line_number":88,"context_line":"              mountPath: /etc/nova/api-paste.ini"},{"line_number":89,"context_line":"              subPath: api-paste.ini"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"fc6d1c7a_69145d88","line":86,"range":{"start_line":83,"start_character":12,"end_line":86,"end_character":28},"in_reply_to":"e8c73f63_c383198f","updated":"2024-11-27 11:15:44.000000000","message":"I\u0027d like to clarify that this change was not part of my original submission. Although I can implement it if necessary, I\u0027m hesitant to do so as I mentioned earlier that it doesn\u0027t seem logical to me. I\u0027d appreciate your feedback before proceeding.","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"},{"author":{"_account_id":37208,"name":"Marek Skrobacki","display_name":"Marek Skrobacki","email":"skrobul@skrobul.com","username":"skrobul"},"change_message_id":"d7e5ce9c3355bf9449ec4c4463e15d0165c1891e","unresolved":false,"context_lines":[{"line_number":80,"context_line":"              subPath: {{ base .Values.conf.nova.DEFAULT.log_config_append }}"},{"line_number":81,"context_line":"              readOnly: true"},{"line_number":82,"context_line":"            {{- end }}"},{"line_number":83,"context_line":"            - name: nova-etc"},{"line_number":84,"context_line":"              mountPath: /etc/nova/nova-ironic.conf"},{"line_number":85,"context_line":"              subPath: nova-ironic.conf"},{"line_number":86,"context_line":"              readOnly: true"},{"line_number":87,"context_line":"            - name: nova-etc"},{"line_number":88,"context_line":"              mountPath: /etc/nova/api-paste.ini"},{"line_number":89,"context_line":"              subPath: api-paste.ini"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"5994713b_d17319da","line":86,"range":{"start_line":83,"start_character":12,"end_line":86,"end_character":28},"in_reply_to":"fc6d1c7a_69145d88","updated":"2024-12-02 14:57:26.000000000","message":"Done","commit_id":"babda24efedc07023e7a79e234deb33971ec1590"}]}
