)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"aeeb2b7b661fe327a04ee924d968c706ce11d3ae","unresolved":true,"context_lines":[{"line_number":13,"context_line":"- Create templates for Flux plugins"},{"line_number":14,"context_line":"- Update app-gen.py so it also supports FluxCD"},{"line_number":15,"context_line":"- Create template for the input file"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I2521c3509556910841fd116f5a106e6577aad58a"},{"line_number":18,"context_line":"Signed-off-by: Daniel Caires \u003cdaniel.caires@encora.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8f76f6c1_b684866e","line":16,"updated":"2023-10-04 21:08:19.000000000","message":"nit: we might want to track this in a Story/Task/Bug within the Community. \n\n(I know we have conversations in progress in the StarlingX Containers Matrix channel. Leaving this as a note to ourselves)","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"969296562ca96d54ea02572434ab5b0fada4f2e6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- Create templates for Flux plugins"},{"line_number":14,"context_line":"- Update app-gen.py so it also supports FluxCD"},{"line_number":15,"context_line":"- Create template for the input file"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I2521c3509556910841fd116f5a106e6577aad58a"},{"line_number":18,"context_line":"Signed-off-by: Daniel Caires \u003cdaniel.caires@encora.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"60a5180e_e2142fae","line":16,"in_reply_to":"2a7de68a_ad4b4cae","updated":"2023-10-09 11:11:51.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"479183842d1d1807ad96c1d291b51c31069c4f9b","unresolved":true,"context_lines":[{"line_number":13,"context_line":"- Create templates for Flux plugins"},{"line_number":14,"context_line":"- Update app-gen.py so it also supports FluxCD"},{"line_number":15,"context_line":"- Create template for the input file"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I2521c3509556910841fd116f5a106e6577aad58a"},{"line_number":18,"context_line":"Signed-off-by: Daniel Caires \u003cdaniel.caires@encora.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ab0c1682_38b1fb67","line":16,"in_reply_to":"8f76f6c1_b684866e","updated":"2023-10-06 13:44:47.000000000","message":"Bruno - Igor and I are motivated to do this work for this Story linked below.   Ultimately, I am looking for a better way to have a test application that exercises the app framework.  The work here is aligned. \n\nhttps://storyboard.openstack.org/#!/story/2010929\n\nIf you want to create a task under that story, we can do that.  Please let me know!","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"caa01004f9fe07d2a320c9d3b0452781868d047c","unresolved":true,"context_lines":[{"line_number":13,"context_line":"- Create templates for Flux plugins"},{"line_number":14,"context_line":"- Update app-gen.py so it also supports FluxCD"},{"line_number":15,"context_line":"- Create template for the input file"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I2521c3509556910841fd116f5a106e6577aad58a"},{"line_number":18,"context_line":"Signed-off-by: Daniel Caires \u003cdaniel.caires@encora.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"e3348a25_7d03f7ed","line":16,"in_reply_to":"ab0c1682_38b1fb67","updated":"2023-10-06 15:10:20.000000000","message":"Since this is an effort on its own, I think I prefer your initial suggestion on Matrix which is to create another Story to track the app-gen-tool \"revival\", which might require additional work than the work necessary for the goal of your Story.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"76fab7e13513b864e83006484e65d17f94829630","unresolved":true,"context_lines":[{"line_number":13,"context_line":"- Create templates for Flux plugins"},{"line_number":14,"context_line":"- Update app-gen.py so it also supports FluxCD"},{"line_number":15,"context_line":"- Create template for the input file"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I2521c3509556910841fd116f5a106e6577aad58a"},{"line_number":18,"context_line":"Signed-off-by: Daniel Caires \u003cdaniel.caires@encora.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2a7de68a_ad4b4cae","line":16,"in_reply_to":"e3348a25_7d03f7ed","updated":"2023-10-06 15:16:23.000000000","message":"By all means. Was only a suggestion if it didn\u0027t have a home. Once this gets merged, I\u0027m going to take a pass at it.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"ac18f7d0941fc5a86d3cd2f20351d9694a83992f","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Daniel Caires \u003cdaniel.caires@encora.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-10-09 09:29:33 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update app generetor tool"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update app-gen.py so the user can choose"},{"line_number":10,"context_line":"between Armada or FluxCD packaging, or both."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"6a12a302_7fe0b721","line":7,"updated":"2023-10-09 15:24:52.000000000","message":"Spelling: generator","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"29b2d5315e3325ac7598fd14aa6ca66c16b711a6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Daniel Caires \u003cdaniel.caires@encora.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-10-09 09:29:33 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update app generetor tool"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update app-gen.py so the user can choose"},{"line_number":10,"context_line":"between Armada or FluxCD packaging, or both."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"e73d64fe_2c4020b3","line":7,"in_reply_to":"6a12a302_7fe0b721","updated":"2023-10-10 13:44:27.000000000","message":"Done","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"7eff5a5a1ba63dbf9d553f47e0576cd94d22793d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7bb09dbe_50ac4327","updated":"2023-10-04 21:00:18.000000000","message":"Adding myself to CC.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c6a8061c_9f667cd0","updated":"2023-10-05 14:27:18.000000000","message":"Fantastic and timely to have updated this script. :) I am motivated to use it to improve app framework testing. Thank you!\n\nAdded some of the pitfalls I ran into while using.  I think once this merges, I\u0027d like to take a pass at it to further improve the portion of code that manages paths and slashes.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"aeeb2b7b661fe327a04ee924d968c706ce11d3ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cfaecf70_c9ea7fc7","updated":"2023-10-04 21:08:19.000000000","message":"Partial initial review.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"ea12e48aa6929267929021eedd6b3579efaaee8c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0892bebf_67a8d954","updated":"2023-10-05 21:26:09.000000000","message":"stopped review in line 185","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"b0fda4a4d5ed769e6eeb88e85ebf9d378b29ad7f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ed308010_a484a2b5","in_reply_to":"0892bebf_67a8d954","updated":"2023-10-06 20:22:01.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"660798ce1feec4aabfbccf436b190b18e7be5b8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b9dc17dc_270fc3de","updated":"2023-10-10 21:51:34.000000000","message":"Awesome, love the collaboration here. Let\u0027s keep this going, folks!\n\nI added a few comments but will keep then resolved since I know this is a starting point. Just make sure that all TODOs mentioned in the discussion are recorded in the Story for this endeavor.\n\nGreat work!!","commit_id":"85e842239f936affd24b31b983934e0cedce6527"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"6c596ff15d3a33f238e447bad685388243922603","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7521a945_58f3ea42","updated":"2023-10-10 15:28:36.000000000","message":"Excellent work. All around. I hope this kind of collaboration may continue. \n\nPlease add core reviewers when appropriate.","commit_id":"85e842239f936affd24b31b983934e0cedce6527"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"e8235f5ed6c25879bd3205b1fe4f843179af8abb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b57968b3_96518d70","updated":"2023-10-11 21:05:06.000000000","message":"the app generator seems fine to me, but please look at my suggestion","commit_id":"85e842239f936affd24b31b983934e0cedce6527"},{"author":{"_account_id":35757,"name":"Bruce Jones","email":"bruce.jones@windriver.com","username":"bejones"},"change_message_id":"b45e7810e109f94a88fdffd9b8852f7e22bda05f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a797fc29_265809e8","updated":"2023-10-20 16:14:00.000000000","message":"Nice work overall, much appreciated.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"}],"app-gen-tool/README.md":[{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":48,"context_line":"- Helm version 2+"},{"line_number":49,"context_line":"- Python version 3.8+"},{"line_number":50,"context_line":"- `pyyaml` version 6.0+"},{"line_number":51,"context_line":"  - `$ pip3 install pyyaml\u003d\u003d6.0.1`"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"## Prerequisites"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":6,"id":"b2e6c9be_8fefa573","line":51,"updated":"2023-10-16 14:17:52.000000000","message":"Is this meant to be indented?","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":48,"context_line":"- Helm version 2+"},{"line_number":49,"context_line":"- Python version 3.8+"},{"line_number":50,"context_line":"- `pyyaml` version 6.0+"},{"line_number":51,"context_line":"  - `$ pip3 install pyyaml\u003d\u003d6.0.1`"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"## Prerequisites"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":6,"id":"133c3e5b_474eeeca","line":51,"in_reply_to":"b2e6c9be_8fefa573","updated":"2023-10-17 18:05:58.000000000","message":"Actually this specific line it was to be removed. Sorry!","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"}],"app-gen-tool/app-gen.py":[{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"aeeb2b7b661fe327a04ee924d968c706ce11d3ae","unresolved":true,"context_lines":[{"line_number":8,"context_line":"import shutil"},{"line_number":9,"context_line":"from urllib import request"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"## Variables for armada packaging"},{"line_number":12,"context_line":"SCHEMA_CHART_TEMPLATE \u003d \u0027template/armada-chart.template\u0027"},{"line_number":13,"context_line":"SCHEMA_CHARTGROUP_TEMPLATE \u003d \u0027template/armada-chartgroup.template\u0027"},{"line_number":14,"context_line":"SCHEMA_MANIFEST_TEMPLATE \u003d \u0027template/armada-manifest.template\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"13190641_a3e730d4","line":11,"updated":"2023-10-04 21:08:19.000000000","message":"nit: more like a question. Wouldn\u0027t it be worth to rename the variables to `ARMADA_*` and `FLUX_*`?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"70772b7683c2443e3daa80f61ab223754139e46d","unresolved":true,"context_lines":[{"line_number":8,"context_line":"import shutil"},{"line_number":9,"context_line":"from urllib import request"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"## Variables for armada packaging"},{"line_number":12,"context_line":"SCHEMA_CHART_TEMPLATE \u003d \u0027template/armada-chart.template\u0027"},{"line_number":13,"context_line":"SCHEMA_CHARTGROUP_TEMPLATE \u003d \u0027template/armada-chartgroup.template\u0027"},{"line_number":14,"context_line":"SCHEMA_MANIFEST_TEMPLATE \u003d \u0027template/armada-manifest.template\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fd25502_eef4e2ec","line":11,"in_reply_to":"13190641_a3e730d4","updated":"2023-10-05 11:16:03.000000000","message":"will do!","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":8,"context_line":"import shutil"},{"line_number":9,"context_line":"from urllib import request"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"## Variables for armada packaging"},{"line_number":12,"context_line":"SCHEMA_CHART_TEMPLATE \u003d \u0027template/armada-chart.template\u0027"},{"line_number":13,"context_line":"SCHEMA_CHARTGROUP_TEMPLATE \u003d \u0027template/armada-chartgroup.template\u0027"},{"line_number":14,"context_line":"SCHEMA_MANIFEST_TEMPLATE \u003d \u0027template/armada-manifest.template\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"09fde8ff_19deae8d","line":11,"in_reply_to":"9fd25502_eef4e2ec","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"aeeb2b7b661fe327a04ee924d968c706ce11d3ae","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # TODO: Validate values"},{"line_number":79,"context_line":"    def _validate_app_values(self, app_data):"},{"line_number":80,"context_line":"        return True"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9b3509e8_1f1fceb7","line":78,"updated":"2023-10-04 21:08:19.000000000","message":"Interesting... are these 4-year-old TODOs?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"aeeb2b7b661fe327a04ee924d968c706ce11d3ae","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        return True"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    #Subprocess that check charts informations"},{"line_number":108,"context_line":"    def check_charts(self):"},{"line_number":109,"context_line":"        charts \u003d self._chart"},{"line_number":110,"context_line":"        for chart in charts:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ad674f2d_2603055b","line":107,"updated":"2023-10-04 21:08:19.000000000","message":"nit: space after `#`. There should be a linter complaining.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        return True"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    #Subprocess that check charts informations"},{"line_number":108,"context_line":"    def check_charts(self):"},{"line_number":109,"context_line":"        charts \u003d self._chart"},{"line_number":110,"context_line":"        for chart in charts:"}],"source_content_type":"text/x-python","patch_set":1,"id":"31cd767a_59057177","line":107,"in_reply_to":"ad674f2d_2603055b","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"aeeb2b7b661fe327a04ee924d968c706ce11d3ae","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":134,"context_line":"                    raise KeyError(err_str)"},{"line_number":135,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":136,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":137,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":138,"context_line":"                    raise ValueError(err_str)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"cfae9668_5fb44857","line":136,"updated":"2023-10-04 21:08:19.000000000","message":"We might have discussed this already, sorry if that\u0027s the case, but that\u0027s a good opportunity to register the decision anyway.\n\nIf we\u0027re able to compare two things and tell they\u0027re different, and the two things are provided by the user (a config file and a char location), why is it necessary to ask for this info in these two places?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"040ca08b9f2babc07cdcfd7f9a0b8155528ad805","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":134,"context_line":"                    raise KeyError(err_str)"},{"line_number":135,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":136,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":137,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":138,"context_line":"                    raise ValueError(err_str)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"23538d74_8b998622","line":136,"in_reply_to":"1648bdf2_cf4f057e","updated":"2023-10-06 11:12:43.000000000","message":"Yes, The name of the chart must be the same, and the version if not the same at least in a defined range","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"969296562ca96d54ea02572434ab5b0fada4f2e6","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":134,"context_line":"                    raise KeyError(err_str)"},{"line_number":135,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":136,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":137,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":138,"context_line":"                    raise ValueError(err_str)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ef035ba_b63eb35b","line":136,"in_reply_to":"23538d74_8b998622","updated":"2023-10-09 11:11:51.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"81bb08d5993c651bc180f6e361b443675e282c26","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":134,"context_line":"                    raise KeyError(err_str)"},{"line_number":135,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":136,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":137,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":138,"context_line":"                    raise ValueError(err_str)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e89a5fcb_c2ab59db","line":136,"in_reply_to":"cfae9668_5fb44857","updated":"2023-10-05 11:15:16.000000000","message":"I don\u0027t believe we came to a conclusion, but what we discuss was that it is ok to automate this for when the path is a directory, but when the path is a repository or a tarball, it complicates things.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"ea12e48aa6929267929021eedd6b3579efaaee8c","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":134,"context_line":"                    raise KeyError(err_str)"},{"line_number":135,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":136,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":137,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":138,"context_line":"                    raise ValueError(err_str)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1648bdf2_cf4f057e","line":136,"in_reply_to":"e89a5fcb_c2ab59db","updated":"2023-10-05 21:26:09.000000000","message":"Daniel, You said that if the version or the name of a chart differs in the helm-chart/Chart.yaml from the app-manifest.yaml, an error occurs right?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"ea12e48aa6929267929021eedd6b3579efaaee8c","unresolved":true,"context_lines":[{"line_number":182,"context_line":"        # add heading key"},{"line_number":183,"context_line":"        target[key] \u003d src"},{"line_number":184,"context_line":"        lines \u003d yaml.safe_dump(target).split(\u0027\\n\u0027)"},{"line_number":185,"context_line":"        # remove ending space ans first line"},{"line_number":186,"context_line":"        lines.pop()"},{"line_number":187,"context_line":"        lines.pop(0)"},{"line_number":188,"context_line":"        indents \u003d \u0027 \u0027 * init_indent"}],"source_content_type":"text/x-python","patch_set":1,"id":"964e0f9d_6b7d2ff3","line":185,"range":{"start_line":185,"start_character":30,"end_line":185,"end_character":33},"updated":"2023-10-05 21:26:09.000000000","message":"and?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        # add heading key"},{"line_number":183,"context_line":"        target[key] \u003d src"},{"line_number":184,"context_line":"        lines \u003d yaml.safe_dump(target).split(\u0027\\n\u0027)"},{"line_number":185,"context_line":"        # remove ending space ans first line"},{"line_number":186,"context_line":"        lines.pop()"},{"line_number":187,"context_line":"        lines.pop(0)"},{"line_number":188,"context_line":"        indents \u003d \u0027 \u0027 * init_indent"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6f540b_4b976e16","line":185,"range":{"start_line":185,"start_character":30,"end_line":185,"end_character":33},"in_reply_to":"964e0f9d_6b7d2ff3","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":true,"context_lines":[{"line_number":726,"context_line":"               f\u0027\\t{self.APP_NAME} \u003d k8sapp_{self.APP_NAME_WITH_UNDERSCORE}.lifecycle.lifecycle_\u0027 \\"},{"line_number":727,"context_line":"               f\u0027{self.APP_NAME_WITH_UNDERSCORE}:{self.APP_NAME_CAMEL_CASE}AppLifecycleOperator\\n\\n\u0027"},{"line_number":728,"context_line":"        out +\u003d \u0027[bdist_wheel]\\nuniversal \u003d 1\u0027"},{"line_number":729,"context_line":"        with open(f\u0027./{self.APP_NAME}/FluxCD/plugins/setup.cfg\u0027, \u0027w\u0027) as f:"},{"line_number":730,"context_line":"            f.write(out)"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"aa5c0682_db0ac74b","line":729,"updated":"2023-10-05 14:27:18.000000000","message":"Might get an error stating the file does not exist. \n1. Use the \"w+\" mode instead of \"w\". That way the file is created if it doesn\u0027t exist.\n2. The path here is assumed to be relative.  I changed mine to the following below.\n\n```\nwith open(f\u0027{self._flux_manifest[\"outputDir\"]}/plugins/setup.cfg\u0027, \u0027w+\u0027) as f:\n    f.write(out)\n```\nA lot of useful paths are stored in the _flux_manifest dictionary so one doesn\u0027t have to use relative paths.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":726,"context_line":"               f\u0027\\t{self.APP_NAME} \u003d k8sapp_{self.APP_NAME_WITH_UNDERSCORE}.lifecycle.lifecycle_\u0027 \\"},{"line_number":727,"context_line":"               f\u0027{self.APP_NAME_WITH_UNDERSCORE}:{self.APP_NAME_CAMEL_CASE}AppLifecycleOperator\\n\\n\u0027"},{"line_number":728,"context_line":"        out +\u003d \u0027[bdist_wheel]\\nuniversal \u003d 1\u0027"},{"line_number":729,"context_line":"        with open(f\u0027./{self.APP_NAME}/FluxCD/plugins/setup.cfg\u0027, \u0027w\u0027) as f:"},{"line_number":730,"context_line":"            f.write(out)"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f620381a_a628a13c","line":729,"in_reply_to":"aa5c0682_db0ac74b","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":true,"context_lines":[{"line_number":772,"context_line":"        dirplugins \u003d self._app[\u0027outputPluginDir\u0027]"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        store_cwd \u003d os.getcwd()"},{"line_number":775,"context_line":"        os.chdir(dirplugins)"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"        command \u003d ["},{"line_number":778,"context_line":"            \"python3\","}],"source_content_type":"text/x-python","patch_set":1,"id":"987ca751_8e1de140","line":775,"updated":"2023-10-05 14:27:18.000000000","message":"Here, I had to add an \"os.makedirs(dirplugins, exist_ok\u003dTrue).","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":772,"context_line":"        dirplugins \u003d self._app[\u0027outputPluginDir\u0027]"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        store_cwd \u003d os.getcwd()"},{"line_number":775,"context_line":"        os.chdir(dirplugins)"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"        command \u003d ["},{"line_number":778,"context_line":"            \"python3\","}],"source_content_type":"text/x-python","patch_set":1,"id":"7164abed_2dca13b3","line":775,"in_reply_to":"987ca751_8e1de140","updated":"2023-10-06 12:07:57.000000000","message":"Honestly, Not sure I understand why, but I added it nonetheless","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":true,"context_lines":[{"line_number":791,"context_line":"            f\u0027{dirplugins}/ChangeLog\u0027,"},{"line_number":792,"context_line":"            f\u0027{dirplugins}/AUTHORS\u0027]"},{"line_number":793,"context_line":"        for file in files:"},{"line_number":794,"context_line":"            os.remove(file)"},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"        dirs \u003d ["},{"line_number":797,"context_line":"            f\u0027{dirplugins}/build/\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ff2d7d1_039c794f","line":794,"updated":"2023-10-05 14:27:18.000000000","message":"I had to do an \"os.path.exist(file)\" here to make sure the path existed before removing it. Otherwise might get an error.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":791,"context_line":"            f\u0027{dirplugins}/ChangeLog\u0027,"},{"line_number":792,"context_line":"            f\u0027{dirplugins}/AUTHORS\u0027]"},{"line_number":793,"context_line":"        for file in files:"},{"line_number":794,"context_line":"            os.remove(file)"},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"        dirs \u003d ["},{"line_number":797,"context_line":"            f\u0027{dirplugins}/build/\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"990ee039_1b9d42d1","line":794,"in_reply_to":"7ff2d7d1_039c794f","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":true,"context_lines":[{"line_number":797,"context_line":"            f\u0027{dirplugins}/build/\u0027,"},{"line_number":798,"context_line":"            f\u0027{dirplugins}/k8sapp_{self.APP_NAME_WITH_UNDERSCORE}.egg-info/\u0027]"},{"line_number":799,"context_line":"        for dir in dirs:"},{"line_number":800,"context_line":"            shutil.rmtree(dir)"},{"line_number":801,"context_line":""},{"line_number":802,"context_line":"        os.chdir(store_cwd)"},{"line_number":803,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"628629fa_5aa74bc6","line":800,"updated":"2023-10-05 14:27:18.000000000","message":"I had to do an \"os.path.exist(dir)\" here to make sure the path existed before removing it. Otherwise might get an error.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":797,"context_line":"            f\u0027{dirplugins}/build/\u0027,"},{"line_number":798,"context_line":"            f\u0027{dirplugins}/k8sapp_{self.APP_NAME_WITH_UNDERSCORE}.egg-info/\u0027]"},{"line_number":799,"context_line":"        for dir in dirs:"},{"line_number":800,"context_line":"            shutil.rmtree(dir)"},{"line_number":801,"context_line":""},{"line_number":802,"context_line":"        os.chdir(store_cwd)"},{"line_number":803,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"29815a7f_7d4c66f4","line":800,"in_reply_to":"628629fa_5aa74bc6","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":true,"context_lines":[{"line_number":826,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        # gen application tarball"},{"line_number":829,"context_line":"        tarname \u003d self._app[\u0027appName\u0027] + \u0027-\u0027 + self._app[\u0027appVersion\u0027] + \u0027.tgz\u0027"},{"line_number":830,"context_line":"        t \u003d tarfile.open(tarname, \u0027w:gz\u0027)"},{"line_number":831,"context_line":"        for target_file in app_files:"},{"line_number":832,"context_line":"            t.add(target_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"d77719a2_2a620521","line":829,"updated":"2023-10-05 14:27:18.000000000","message":"I had to wrap appVersion in the str() operator because python interpreted version \"1.0\" as a float.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"545c8d6101370528cab976a6e36763247ba3345b","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        # gen application tarball"},{"line_number":829,"context_line":"        tarname \u003d self._app[\u0027appName\u0027] + \u0027-\u0027 + self._app[\u0027appVersion\u0027] + \u0027.tgz\u0027"},{"line_number":830,"context_line":"        t \u003d tarfile.open(tarname, \u0027w:gz\u0027)"},{"line_number":831,"context_line":"        for target_file in app_files:"},{"line_number":832,"context_line":"            t.add(target_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8fcbc63d_be1ace32","line":829,"in_reply_to":"2e258727_334a4d54","updated":"2023-10-11 13:53:48.000000000","message":"No particular reason. It was part of the code already, just didn\u0027t change.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"d398c7634d4f5e2d16b6542d67ff64296d8a5350","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        # gen application tarball"},{"line_number":829,"context_line":"        tarname \u003d self._app[\u0027appName\u0027] + \u0027-\u0027 + self._app[\u0027appVersion\u0027] + \u0027.tgz\u0027"},{"line_number":830,"context_line":"        t \u003d tarfile.open(tarname, \u0027w:gz\u0027)"},{"line_number":831,"context_line":"        for target_file in app_files:"},{"line_number":832,"context_line":"            t.add(target_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8c9e7a40_3d1ef748","line":829,"in_reply_to":"55de2e8a_22e8cc9f","updated":"2023-10-16 13:29:43.000000000","message":"Done!! But is important to notice that the StarlingX platform has a similar bug and will not accept a float in the appversion field.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"660798ce1feec4aabfbccf436b190b18e7be5b8b","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        # gen application tarball"},{"line_number":829,"context_line":"        tarname \u003d self._app[\u0027appName\u0027] + \u0027-\u0027 + self._app[\u0027appVersion\u0027] + \u0027.tgz\u0027"},{"line_number":830,"context_line":"        t \u003d tarfile.open(tarname, \u0027w:gz\u0027)"},{"line_number":831,"context_line":"        for target_file in app_files:"},{"line_number":832,"context_line":"            t.add(target_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2e258727_334a4d54","line":829,"in_reply_to":"5f10f5db_6c1d6a64","updated":"2023-10-10 21:51:34.000000000","message":"Aren\u0027t we on Python 3+? Why not a f-string, then you don\u0027t need to \"guess\" if a value can be misinterpreted. See example on Python 3 console:\n\n```python\n\u003e\u003e\u003e app \u003d {\"app_name\": \"Arrobas\", \"app_version\": 1.0}\n\u003e\u003e\u003e app\n{\u0027app_name\u0027: \u0027Arrobas\u0027, \u0027app_version\u0027: 1.0}\n\u003e\u003e\u003e tarname \u003d app[\u0027app_name\u0027] + \u0027-\u0027 + app[\u0027app_version\u0027] + \u0027.tgz\u0027\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nTypeError: can only concatenate str (not \"float\") to str\n\u003e\u003e\u003e tarname \u003d f\u0027{app[\"app_name\"]}-{app[\"app_version\"]}.tgz\u0027\n\u003e\u003e\u003e tarname\n\u0027Arrobas-1.0.tgz\u0027\n\u003e\u003e\u003e\n```","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"caf9cf96991cb54fccbde1e9ebccd386656788a4","unresolved":true,"context_lines":[{"line_number":826,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        # gen application tarball"},{"line_number":829,"context_line":"        tarname \u003d self._app[\u0027appName\u0027] + \u0027-\u0027 + self._app[\u0027appVersion\u0027] + \u0027.tgz\u0027"},{"line_number":830,"context_line":"        t \u003d tarfile.open(tarname, \u0027w:gz\u0027)"},{"line_number":831,"context_line":"        for target_file in app_files:"},{"line_number":832,"context_line":"            t.add(target_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"55de2e8a_22e8cc9f","line":829,"in_reply_to":"8fcbc63d_be1ace32","updated":"2023-10-12 19:53:26.000000000","message":"Well, since you\u0027re touching this to fix it, I suggest the f-string, which makes the conversion of the possible float to string transparent.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        # gen application tarball"},{"line_number":829,"context_line":"        tarname \u003d self._app[\u0027appName\u0027] + \u0027-\u0027 + self._app[\u0027appVersion\u0027] + \u0027.tgz\u0027"},{"line_number":830,"context_line":"        t \u003d tarfile.open(tarname, \u0027w:gz\u0027)"},{"line_number":831,"context_line":"        for target_file in app_files:"},{"line_number":832,"context_line":"            t.add(target_file)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f10f5db_6c1d6a64","line":829,"in_reply_to":"d77719a2_2a620521","updated":"2023-10-06 12:07:57.000000000","message":"Yeah, we had this problem also.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"2d2c6417f9eafc96930ee968f5bf26c22bde2dac","unresolved":true,"context_lines":[{"line_number":889,"context_line":"        self._app[\u0027outputArmadaChartDir\u0027] \u003d output_dir + \u0027/Armada/charts\u0027"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        # 1 - Validate input file and helm chart data"},{"line_number":892,"context_line":"        #self.check_charts()"},{"line_number":893,"context_line":"        "},{"line_number":894,"context_line":"        if not package_only:"},{"line_number":895,"context_line":"            # 2. Generate armada directories"}],"source_content_type":"text/x-python","patch_set":1,"id":"9e10242b_9e6ded5f","line":892,"updated":"2023-10-05 14:27:18.000000000","message":"Is this supposed to be commented out?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":889,"context_line":"        self._app[\u0027outputArmadaChartDir\u0027] \u003d output_dir + \u0027/Armada/charts\u0027"},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        # 1 - Validate input file and helm chart data"},{"line_number":892,"context_line":"        #self.check_charts()"},{"line_number":893,"context_line":"        "},{"line_number":894,"context_line":"        if not package_only:"},{"line_number":895,"context_line":"            # 2. Generate armada directories"}],"source_content_type":"text/x-python","patch_set":1,"id":"8a0f879c_f6246a27","line":892,"in_reply_to":"9e10242b_9e6ded5f","updated":"2023-10-06 12:07:57.000000000","message":"No, I was testing something and forgot","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36363,"name":"Raphael Lima","display_name":"Raphael","email":"raphael.lima@encora.com","username":"raphael_l"},"change_message_id":"547f2f0829d4b558e8cbfec959c3cde8e8c0709f","unresolved":true,"context_lines":[{"line_number":555,"context_line":"                    f.write(out_line)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"            # generate an empty manifest/system-overrides file"},{"line_number":558,"context_line":"            system_override_file \u003d flux_dir + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027-system-overrides.yaml\u0027"},{"line_number":559,"context_line":"            open(system_override_file, \u0027w\u0027).close()"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"            # generate a manifest/static-overrides file"},{"line_number":562,"context_line":"            system_override_file \u003d flux_dir + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027-static-overrides.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"1bba89b1_f652b9f1","line":559,"range":{"start_line":558,"start_character":12,"end_line":559,"end_character":51},"updated":"2023-10-06 17:52:30.000000000","message":"Since you\u0027re doing this twice. It would be nice to create a simple method to apply this file creation.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"969296562ca96d54ea02572434ab5b0fada4f2e6","unresolved":true,"context_lines":[{"line_number":555,"context_line":"                    f.write(out_line)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"            # generate an empty manifest/system-overrides file"},{"line_number":558,"context_line":"            system_override_file \u003d flux_dir + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027-system-overrides.yaml\u0027"},{"line_number":559,"context_line":"            open(system_override_file, \u0027w\u0027).close()"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"            # generate a manifest/static-overrides file"},{"line_number":562,"context_line":"            system_override_file \u003d flux_dir + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027-static-overrides.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"bcba31bc_64c96b82","line":559,"range":{"start_line":558,"start_character":12,"end_line":559,"end_character":51},"in_reply_to":"1bba89b1_f652b9f1","updated":"2023-10-09 11:11:51.000000000","message":"there is actually a typo here, sorry. One is the system-overrides and the other one is the static-overrides.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"899c9a844c4da899871f383b04528edd461bf4f1","unresolved":false,"context_lines":[{"line_number":555,"context_line":"                    f.write(out_line)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"            # generate an empty manifest/system-overrides file"},{"line_number":558,"context_line":"            system_override_file \u003d flux_dir + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027-system-overrides.yaml\u0027"},{"line_number":559,"context_line":"            open(system_override_file, \u0027w\u0027).close()"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"            # generate a manifest/static-overrides file"},{"line_number":562,"context_line":"            system_override_file \u003d flux_dir + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027/\u0027 + a_chart[\u0027name\u0027] + \u0027-static-overrides.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"422e54c8_9893e7f9","line":559,"range":{"start_line":558,"start_character":12,"end_line":559,"end_character":51},"in_reply_to":"bcba31bc_64c96b82","updated":"2023-10-09 12:27:33.000000000","message":"Done","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":36363,"name":"Raphael Lima","display_name":"Raphael","email":"raphael.lima@encora.com","username":"raphael_l"},"change_message_id":"547f2f0829d4b558e8cbfec959c3cde8e8c0709f","unresolved":true,"context_lines":[{"line_number":665,"context_line":"        self.write_app_setup()"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        init_file \u003d plugin_dir + \u0027/__init__.py\u0027"},{"line_number":669,"context_line":"        open(init_file, \u0027w\u0027).close()"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        init_file \u003d plugin_dir + \u0027/\u0027 + appname + \u0027/__init__.py\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"578fca80_fcc00f5f","line":669,"range":{"start_line":668,"start_character":8,"end_line":669,"end_character":36},"updated":"2023-10-06 17:52:30.000000000","message":"Same thing here about the method for file creation","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"899c9a844c4da899871f383b04528edd461bf4f1","unresolved":false,"context_lines":[{"line_number":665,"context_line":"        self.write_app_setup()"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":""},{"line_number":668,"context_line":"        init_file \u003d plugin_dir + \u0027/__init__.py\u0027"},{"line_number":669,"context_line":"        open(init_file, \u0027w\u0027).close()"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        init_file \u003d plugin_dir + \u0027/\u0027 + appname + \u0027/__init__.py\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"b9a88bc3_251566f0","line":669,"range":{"start_line":668,"start_character":8,"end_line":669,"end_character":36},"in_reply_to":"578fca80_fcc00f5f","updated":"2023-10-09 12:27:33.000000000","message":"Done","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":36363,"name":"Raphael Lima","display_name":"Raphael","email":"raphael.lima@encora.com","username":"raphael_l"},"change_message_id":"547f2f0829d4b558e8cbfec959c3cde8e8c0709f","unresolved":true,"context_lines":[{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    def _create_plugins_dir(self):"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        if not os.path.exists(self._app[\u0027outputPluginDir\u0027]):"},{"line_number":856,"context_line":"            os.makedirs(self._app[\u0027outputPluginDir\u0027])"},{"line_number":857,"context_line":"        if not os.path.exists(self._app[\u0027outputHelmDir\u0027]):"},{"line_number":858,"context_line":"            os.makedirs(self._app[\u0027outputHelmDir\u0027])"},{"line_number":859,"context_line":"        if not os.path.exists(self._app[\u0027outputCommonDir\u0027]):"}],"source_content_type":"text/x-python","patch_set":2,"id":"897f0853_00a2753b","line":856,"range":{"start_line":855,"start_character":8,"end_line":856,"end_character":53},"updated":"2023-10-06 17:52:30.000000000","message":"Suggestion: you could also add a function that creates the directories if they don\u0027t exist, so this becomes one line","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"899c9a844c4da899871f383b04528edd461bf4f1","unresolved":false,"context_lines":[{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    def _create_plugins_dir(self):"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        if not os.path.exists(self._app[\u0027outputPluginDir\u0027]):"},{"line_number":856,"context_line":"            os.makedirs(self._app[\u0027outputPluginDir\u0027])"},{"line_number":857,"context_line":"        if not os.path.exists(self._app[\u0027outputHelmDir\u0027]):"},{"line_number":858,"context_line":"            os.makedirs(self._app[\u0027outputHelmDir\u0027])"},{"line_number":859,"context_line":"        if not os.path.exists(self._app[\u0027outputCommonDir\u0027]):"}],"source_content_type":"text/x-python","patch_set":2,"id":"47cb2a56_fee3fe68","line":856,"range":{"start_line":855,"start_character":8,"end_line":856,"end_character":53},"in_reply_to":"897f0853_00a2753b","updated":"2023-10-09 12:27:33.000000000","message":"Ack","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"eb1596534a746cac0b214bc28c6ce35ac7c28b36","unresolved":true,"context_lines":[{"line_number":1147,"context_line":"        os.makedirs(app_out)"},{"line_number":1148,"context_line":"    elif overwrite:"},{"line_number":1149,"context_line":"        shutil.rmtree(app_out)"},{"line_number":1150,"context_line":"    else:"},{"line_number":1151,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1152,"context_line":"        sys.exit()"},{"line_number":1153,"context_line":""},{"line_number":1154,"context_line":"    if package_type \u003d\u003d \u0027armada\u0027 or package_type \u003d\u003d \u0027both\u0027:"},{"line_number":1155,"context_line":"        app.gen_armada_app(app_out, no_package, package_only)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bc434151_4fe3dcb3","line":1152,"range":{"start_line":1150,"start_character":0,"end_line":1152,"end_character":18},"updated":"2023-10-09 21:46:39.000000000","message":"It seems that I\u0027m entering this else condition when trying to run with flag package-only to generate the tgz, blocking the creation of a updated package. Is this intended?","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"29b2d5315e3325ac7598fd14aa6ca66c16b711a6","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"        os.makedirs(app_out)"},{"line_number":1148,"context_line":"    elif overwrite:"},{"line_number":1149,"context_line":"        shutil.rmtree(app_out)"},{"line_number":1150,"context_line":"    else:"},{"line_number":1151,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1152,"context_line":"        sys.exit()"},{"line_number":1153,"context_line":""},{"line_number":1154,"context_line":"    if package_type \u003d\u003d \u0027armada\u0027 or package_type \u003d\u003d \u0027both\u0027:"},{"line_number":1155,"context_line":"        app.gen_armada_app(app_out, no_package, package_only)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dcbc04ce_1a41f5dc","line":1152,"range":{"start_line":1150,"start_character":0,"end_line":1152,"end_character":18},"in_reply_to":"b362c195_790bbe9d","updated":"2023-10-10 13:44:27.000000000","message":"Done","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"dd4ded763295f6aa52589fc4b66b7c5eea8eca12","unresolved":true,"context_lines":[{"line_number":1147,"context_line":"        os.makedirs(app_out)"},{"line_number":1148,"context_line":"    elif overwrite:"},{"line_number":1149,"context_line":"        shutil.rmtree(app_out)"},{"line_number":1150,"context_line":"    else:"},{"line_number":1151,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1152,"context_line":"        sys.exit()"},{"line_number":1153,"context_line":""},{"line_number":1154,"context_line":"    if package_type \u003d\u003d \u0027armada\u0027 or package_type \u003d\u003d \u0027both\u0027:"},{"line_number":1155,"context_line":"        app.gen_armada_app(app_out, no_package, package_only)"}],"source_content_type":"text/x-python","patch_set":4,"id":"b362c195_790bbe9d","line":1152,"range":{"start_line":1150,"start_character":0,"end_line":1152,"end_character":18},"in_reply_to":"bc434151_4fe3dcb3","updated":"2023-10-10 11:06:46.000000000","message":"Gonna take a look at that, thank you!","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"e8235f5ed6c25879bd3205b1fe4f843179af8abb","unresolved":true,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    if not os.path.isfile(os.path.abspath(input_file)):"},{"line_number":606,"context_line":"        print(\u0027Error: input file not found\u0027)"},{"line_number":607,"context_line":"        sys.exit()"},{"line_number":608,"context_line":"    if input_file:"},{"line_number":609,"context_line":"        generate_app(os.path.abspath(input_file), os.path.abspath(output_folder), overwrite)"},{"line_number":610,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1578c7fb_dc94db80","side":"PARENT","line":607,"updated":"2023-10-11 21:05:06.000000000","message":"inserting \n```\n    if overwrite and package_only and package_type !\u003d \u0027armada\u0027:\n        print(\"Error: Overwrite and package-only should not be used together for flux!\"\n        sys.exit()\n```\nin line 1216 would adress task 48926 from storyboard 2010937 (app-gen storyboard_","commit_id":"de0f734d4750b43555d8bcd612455d46e3417e2b"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"bf06a8b00f2fcd6c1a14465b622460c18ad62807","unresolved":false,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    if not os.path.isfile(os.path.abspath(input_file)):"},{"line_number":606,"context_line":"        print(\u0027Error: input file not found\u0027)"},{"line_number":607,"context_line":"        sys.exit()"},{"line_number":608,"context_line":"    if input_file:"},{"line_number":609,"context_line":"        generate_app(os.path.abspath(input_file), os.path.abspath(output_folder), overwrite)"},{"line_number":610,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"c56d1061_a8449059","side":"PARENT","line":607,"in_reply_to":"1578c7fb_dc94db80","updated":"2023-10-12 11:08:29.000000000","message":"not just Flux, ideally the app must not allow package_only and overwrite together, but as this is another task, let\u0027s do this in another review.","commit_id":"de0f734d4750b43555d8bcd612455d46e3417e2b"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"c2db977fb7a0093967c204b3f8a82e678036a29a","unresolved":false,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    if not os.path.isfile(os.path.abspath(input_file)):"},{"line_number":606,"context_line":"        print(\u0027Error: input file not found\u0027)"},{"line_number":607,"context_line":"        sys.exit()"},{"line_number":608,"context_line":"    if input_file:"},{"line_number":609,"context_line":"        generate_app(os.path.abspath(input_file), os.path.abspath(output_folder), overwrite)"},{"line_number":610,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a602f4a2_7bcb8aa4","side":"PARENT","line":607,"in_reply_to":"5cf2f5b9_d8c5a3e1","updated":"2023-10-13 16:30:55.000000000","message":"ok, Thanks!","commit_id":"de0f734d4750b43555d8bcd612455d46e3417e2b"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"0f57524f2b3979a0ba37561b70769a5bc4021932","unresolved":false,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    if not os.path.isfile(os.path.abspath(input_file)):"},{"line_number":606,"context_line":"        print(\u0027Error: input file not found\u0027)"},{"line_number":607,"context_line":"        sys.exit()"},{"line_number":608,"context_line":"    if input_file:"},{"line_number":609,"context_line":"        generate_app(os.path.abspath(input_file), os.path.abspath(output_folder), overwrite)"},{"line_number":610,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5cf2f5b9_d8c5a3e1","side":"PARENT","line":607,"in_reply_to":"c56d1061_a8449059","updated":"2023-10-12 11:40:55.000000000","message":"I changed the wording on the task, so it doesn\u0027t say that only for flux this needs to happen.","commit_id":"de0f734d4750b43555d8bcd612455d46e3417e2b"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"660798ce1feec4aabfbccf436b190b18e7be5b8b","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"        shutil.rmtree(app_out)"},{"line_number":1150,"context_line":"    elif package_only:"},{"line_number":1151,"context_line":"        pass"},{"line_number":1152,"context_line":"    else:"},{"line_number":1153,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1154,"context_line":"        sys.exit()"},{"line_number":1155,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7f231141_11c24982","line":1152,"updated":"2023-10-10 21:51:34.000000000","message":"nit: this is a nit because I know the intention behind this story, but I\u0027ll record it here anyway. \n\nWe could maybe break this into separate statements. First, in the spirit of fail fast, maybe check for the condition that triggers the error, which is now in the `else` block. I imagine something like `os.path.exists(app_out) and not overwrite`, then `print` and `sys.exit()`.\n\nAfter that, the other conditions in another `if/else` block might get simpler and make it easier to read the code.","commit_id":"85e842239f936affd24b31b983934e0cedce6527"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"545c8d6101370528cab976a6e36763247ba3345b","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"        shutil.rmtree(app_out)"},{"line_number":1150,"context_line":"    elif package_only:"},{"line_number":1151,"context_line":"        pass"},{"line_number":1152,"context_line":"    else:"},{"line_number":1153,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1154,"context_line":"        sys.exit()"},{"line_number":1155,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"79799402_db2597e5","line":1152,"in_reply_to":"7f231141_11c24982","updated":"2023-10-11 13:53:48.000000000","message":"Yeah this can definitely be better implemented. I will create a task for it.","commit_id":"85e842239f936affd24b31b983934e0cedce6527"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            if chart[\u0027_pathType\u0027] \u003d\u003d \u0027dir\u0027:"},{"line_number":116,"context_line":"                chart_metadata_f \u003d open(f\u0027{chart[\"path\"]}/Chart.yaml\u0027, \u0027r\u0027)"},{"line_number":117,"context_line":"                chart_file_lines \u003d chart_metadata_f.readlines()"},{"line_number":118,"context_line":"                chart_file_lines \u003d [l for l in chart_file_lines if l[0] !\u003d \u0027#\u0027]"},{"line_number":119,"context_line":"                chart_metadata_f.close()"},{"line_number":120,"context_line":"                for line in chart_file_lines:"},{"line_number":121,"context_line":"                    line \u003d line.rstrip(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"cfd2af73_8faeebc3","line":118,"range":{"start_line":118,"start_character":64,"end_line":118,"end_character":71},"updated":"2023-10-16 14:17:52.000000000","message":"I think this can throw if line is empty","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"a1cd95c3ce0fa121b29b2ce2220fd083c1c7a101","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            if chart[\u0027_pathType\u0027] \u003d\u003d \u0027dir\u0027:"},{"line_number":116,"context_line":"                chart_metadata_f \u003d open(f\u0027{chart[\"path\"]}/Chart.yaml\u0027, \u0027r\u0027)"},{"line_number":117,"context_line":"                chart_file_lines \u003d chart_metadata_f.readlines()"},{"line_number":118,"context_line":"                chart_file_lines \u003d [l for l in chart_file_lines if l[0] !\u003d \u0027#\u0027]"},{"line_number":119,"context_line":"                chart_metadata_f.close()"},{"line_number":120,"context_line":"                for line in chart_file_lines:"},{"line_number":121,"context_line":"                    line \u003d line.rstrip(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ade8d8b_78ea4b67","line":118,"range":{"start_line":118,"start_character":64,"end_line":118,"end_character":71},"in_reply_to":"092bc67c_b83737e4","updated":"2023-10-20 16:31:45.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f54bed5e17a2664c386751201697c2a09c06da2a","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            if chart[\u0027_pathType\u0027] \u003d\u003d \u0027dir\u0027:"},{"line_number":116,"context_line":"                chart_metadata_f \u003d open(f\u0027{chart[\"path\"]}/Chart.yaml\u0027, \u0027r\u0027)"},{"line_number":117,"context_line":"                chart_file_lines \u003d chart_metadata_f.readlines()"},{"line_number":118,"context_line":"                chart_file_lines \u003d [l for l in chart_file_lines if l[0] !\u003d \u0027#\u0027]"},{"line_number":119,"context_line":"                chart_metadata_f.close()"},{"line_number":120,"context_line":"                for line in chart_file_lines:"},{"line_number":121,"context_line":"                    line \u003d line.rstrip(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba580ae7_74ada0dc","line":118,"range":{"start_line":118,"start_character":64,"end_line":118,"end_character":71},"in_reply_to":"3d07e448_1d9414ca","updated":"2023-10-19 12:54:30.000000000","message":"Ok, so I added an ```if len(l)\u003e0```, by the readlines() documentation even a empty file will have a \"\\n\". And in line 116, I added a try except to catch an error while trying to read the file, if it is a bad or a nonexistent file.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"7bbebc4719caa194389d9a185039caf54c6e36df","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            if chart[\u0027_pathType\u0027] \u003d\u003d \u0027dir\u0027:"},{"line_number":116,"context_line":"                chart_metadata_f \u003d open(f\u0027{chart[\"path\"]}/Chart.yaml\u0027, \u0027r\u0027)"},{"line_number":117,"context_line":"                chart_file_lines \u003d chart_metadata_f.readlines()"},{"line_number":118,"context_line":"                chart_file_lines \u003d [l for l in chart_file_lines if l[0] !\u003d \u0027#\u0027]"},{"line_number":119,"context_line":"                chart_metadata_f.close()"},{"line_number":120,"context_line":"                for line in chart_file_lines:"},{"line_number":121,"context_line":"                    line \u003d line.rstrip(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3d07e448_1d9414ca","line":118,"range":{"start_line":118,"start_character":64,"end_line":118,"end_character":71},"in_reply_to":"5603db77_a710c087","updated":"2023-10-17 18:10:59.000000000","message":"Looks like this is deliberately skipping lines with a comment? If so, I\u0027d just make sure len(l) \u003e 0, throw an error if it\u0027s not, and call it day.  len(l) \u003d\u003d 0 would just mean the file is empty, which would mean a bad helm chart.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"0ca70fafa4c369cebdb7c607a5dca123b244c2b2","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            if chart[\u0027_pathType\u0027] \u003d\u003d \u0027dir\u0027:"},{"line_number":116,"context_line":"                chart_metadata_f \u003d open(f\u0027{chart[\"path\"]}/Chart.yaml\u0027, \u0027r\u0027)"},{"line_number":117,"context_line":"                chart_file_lines \u003d chart_metadata_f.readlines()"},{"line_number":118,"context_line":"                chart_file_lines \u003d [l for l in chart_file_lines if l[0] !\u003d \u0027#\u0027]"},{"line_number":119,"context_line":"                chart_metadata_f.close()"},{"line_number":120,"context_line":"                for line in chart_file_lines:"},{"line_number":121,"context_line":"                    line \u003d line.rstrip(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"092bc67c_b83737e4","line":118,"range":{"start_line":118,"start_character":64,"end_line":118,"end_character":71},"in_reply_to":"ba580ae7_74ada0dc","updated":"2023-10-19 13:54:27.000000000","message":"I am also happy to move along.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            if chart[\u0027_pathType\u0027] \u003d\u003d \u0027dir\u0027:"},{"line_number":116,"context_line":"                chart_metadata_f \u003d open(f\u0027{chart[\"path\"]}/Chart.yaml\u0027, \u0027r\u0027)"},{"line_number":117,"context_line":"                chart_file_lines \u003d chart_metadata_f.readlines()"},{"line_number":118,"context_line":"                chart_file_lines \u003d [l for l in chart_file_lines if l[0] !\u003d \u0027#\u0027]"},{"line_number":119,"context_line":"                chart_metadata_f.close()"},{"line_number":120,"context_line":"                for line in chart_file_lines:"},{"line_number":121,"context_line":"                    line \u003d line.rstrip(\u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5603db77_a710c087","line":118,"range":{"start_line":118,"start_character":64,"end_line":118,"end_character":71},"in_reply_to":"cfd2af73_8faeebc3","updated":"2023-10-17 18:05:58.000000000","message":"I may be wrong here, but I believe that empty lines will be registered as \u0027\\n\u0027 in the list.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":131,"context_line":"                err_str \u003d \u0027\u0027"},{"line_number":132,"context_line":"                if key not in chart_file_data:"},{"line_number":133,"context_line":"                    err_str \u003d f\u0027{key} is present in app-manifest.yaml but not in {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":134,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":135,"context_line":"                    raise KeyError(err_str)"},{"line_number":136,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":137,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"40df75ed_84732d6a","line":134,"range":{"start_line":134,"start_character":46,"end_line":134,"end_character":66},"updated":"2023-10-16 14:17:52.000000000","message":"I think this will throw.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                err_str \u003d \u0027\u0027"},{"line_number":132,"context_line":"                if key not in chart_file_data:"},{"line_number":133,"context_line":"                    err_str \u003d f\u0027{key} is present in app-manifest.yaml but not in {chart[\"path\"]}/Chart.yaml\u0027"},{"line_number":134,"context_line":"                    print(manifest_data[key], chart_file_data[key])"},{"line_number":135,"context_line":"                    raise KeyError(err_str)"},{"line_number":136,"context_line":"                if manifest_data[key] !\u003d chart_file_data[key]:"},{"line_number":137,"context_line":"                    err_str \u003d f\u0027{key} has different values in app-manifest.yaml and {chart[\"path\"]}/Chart.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"46a79b46_1dcafced","line":134,"range":{"start_line":134,"start_character":46,"end_line":134,"end_character":66},"in_reply_to":"40df75ed_84732d6a","updated":"2023-10-17 18:05:58.000000000","message":"Yeah, it will. I removed this print().","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":237,"context_line":"    # Below info are needed:"},{"line_number":238,"context_line":"    # - waitLabelKey"},{"line_number":239,"context_line":"    # - chartArcname"},{"line_number":240,"context_line":"    "},{"line_number":241,"context_line":"    def _fetch_info_from_chart(self, chart_idx):"},{"line_number":242,"context_line":"        a_chart \u003d self._chart[chart_idx]"},{"line_number":243,"context_line":"        bin_fetch_script \u003d APP_GEN_PY_PATH + \u0027/\u0027 + BIN_FETCH_CHART_INFO"}],"source_content_type":"text/x-python","patch_set":6,"id":"24c3bebc_3eb654ae","line":240,"updated":"2023-10-16 14:17:52.000000000","message":"nit: remove these spaces please","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":237,"context_line":"    # Below info are needed:"},{"line_number":238,"context_line":"    # - waitLabelKey"},{"line_number":239,"context_line":"    # - chartArcname"},{"line_number":240,"context_line":"    "},{"line_number":241,"context_line":"    def _fetch_info_from_chart(self, chart_idx):"},{"line_number":242,"context_line":"        a_chart \u003d self._chart[chart_idx]"},{"line_number":243,"context_line":"        bin_fetch_script \u003d APP_GEN_PY_PATH + \u0027/\u0027 + BIN_FETCH_CHART_INFO"}],"source_content_type":"text/x-python","patch_set":6,"id":"e05770de_454a1c15","line":240,"in_reply_to":"24c3bebc_3eb654ae","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":456,"context_line":"        try:"},{"line_number":457,"context_line":"            with open(kustomization_template, \u0027r\u0027) as f:"},{"line_number":458,"context_line":"                kustomization_schema \u003d f.readlines()"},{"line_number":459,"context_line":"        except IOError:"},{"line_number":460,"context_line":"            print(\u0027File %s not found\u0027 % kustomization_template)"},{"line_number":461,"context_line":"            return False"},{"line_number":462,"context_line":"        kustom_file \u003d flux_dir + \u0027kustomization.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9b96c996_d0d4133d","line":459,"range":{"start_line":459,"start_character":15,"end_line":459,"end_character":22},"updated":"2023-10-16 14:17:52.000000000","message":"FileNotFoundError seems more appropriate here","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        try:"},{"line_number":457,"context_line":"            with open(kustomization_template, \u0027r\u0027) as f:"},{"line_number":458,"context_line":"                kustomization_schema \u003d f.readlines()"},{"line_number":459,"context_line":"        except IOError:"},{"line_number":460,"context_line":"            print(\u0027File %s not found\u0027 % kustomization_template)"},{"line_number":461,"context_line":"            return False"},{"line_number":462,"context_line":"        kustom_file \u003d flux_dir + \u0027kustomization.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9d1593ca_948e4fed","line":459,"range":{"start_line":459,"start_character":15,"end_line":459,"end_character":22},"in_reply_to":"9b96c996_d0d4133d","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":457,"context_line":"            with open(kustomization_template, \u0027r\u0027) as f:"},{"line_number":458,"context_line":"                kustomization_schema \u003d f.readlines()"},{"line_number":459,"context_line":"        except IOError:"},{"line_number":460,"context_line":"            print(\u0027File %s not found\u0027 % kustomization_template)"},{"line_number":461,"context_line":"            return False"},{"line_number":462,"context_line":"        kustom_file \u003d flux_dir + \u0027kustomization.yaml\u0027"},{"line_number":463,"context_line":"        with open(kustom_file, \u0027a\u0027) as f:"}],"source_content_type":"text/x-python","patch_set":6,"id":"c02cab91_cc65650c","line":460,"updated":"2023-10-16 14:17:52.000000000","message":"There are many similar blocks below","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            with open(kustomization_template, \u0027r\u0027) as f:"},{"line_number":458,"context_line":"                kustomization_schema \u003d f.readlines()"},{"line_number":459,"context_line":"        except IOError:"},{"line_number":460,"context_line":"            print(\u0027File %s not found\u0027 % kustomization_template)"},{"line_number":461,"context_line":"            return False"},{"line_number":462,"context_line":"        kustom_file \u003d flux_dir + \u0027kustomization.yaml\u0027"},{"line_number":463,"context_line":"        with open(kustom_file, \u0027a\u0027) as f:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ecd3fd39_c87c56fc","line":460,"in_reply_to":"c02cab91_cc65650c","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":822,"context_line":"        app_files \u003d []"},{"line_number":823,"context_line":"        for parent, dirnames, filenames in os.walk(\u0027./\u0027):"},{"line_number":824,"context_line":"            for filename in filenames:"},{"line_number":825,"context_line":"                if filename[-3:] !\u003d \u0027.py\u0027 and filename[-4:] !\u003d \u0027.cfg\u0027:"},{"line_number":826,"context_line":"                    app_files.append(os.path.join(parent, filename))"},{"line_number":827,"context_line":"        with open(checksum_file, \u0027a\u0027) as f:"},{"line_number":828,"context_line":"            for target_file in sorted(app_files):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f1694e4_f8c760eb","line":825,"updated":"2023-10-16 14:17:52.000000000","message":"Can filename len be \u003c 3 or 4? If yes, will these throw?","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":822,"context_line":"        app_files \u003d []"},{"line_number":823,"context_line":"        for parent, dirnames, filenames in os.walk(\u0027./\u0027):"},{"line_number":824,"context_line":"            for filename in filenames:"},{"line_number":825,"context_line":"                if filename[-3:] !\u003d \u0027.py\u0027 and filename[-4:] !\u003d \u0027.cfg\u0027:"},{"line_number":826,"context_line":"                    app_files.append(os.path.join(parent, filename))"},{"line_number":827,"context_line":"        with open(checksum_file, \u0027a\u0027) as f:"},{"line_number":828,"context_line":"            for target_file in sorted(app_files):"}],"source_content_type":"text/x-python","patch_set":6,"id":"f4b4f04f_ca58a4ca","line":825,"in_reply_to":"5f1694e4_f8c760eb","updated":"2023-10-17 18:05:58.000000000","message":"Not exactly, even if the file name choose by the user have only 1 character, it will have the \u0027.py\u0027 at the end. For the filename[-4] is exclusively there to ignore the setup.cfg file. But we can definitely add a try except here.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":826,"context_line":"                    app_files.append(os.path.join(parent, filename))"},{"line_number":827,"context_line":"        with open(checksum_file, \u0027a\u0027) as f:"},{"line_number":828,"context_line":"            for target_file in sorted(app_files):"},{"line_number":829,"context_line":"                f.write(self._gen_sha256(target_file) + \u0027 \u0027 + target_file + \u0027\\n\u0027)"},{"line_number":830,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"        # gen application tarball"}],"source_content_type":"text/x-python","patch_set":6,"id":"af92c912_7f0dac45","line":829,"updated":"2023-10-16 14:17:52.000000000","message":"I think \u0027 \u0027 should be \u0027 *\u0027, see https://www.man7.org/linux/man-pages/man1/sha256sum.1.html\n\n\"checksum, a space, a character indicating input mode (\u0027*\u0027 for binary, \u0027 \u0027 for text or where binary is insignificant), and name for each FILE\"","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":826,"context_line":"                    app_files.append(os.path.join(parent, filename))"},{"line_number":827,"context_line":"        with open(checksum_file, \u0027a\u0027) as f:"},{"line_number":828,"context_line":"            for target_file in sorted(app_files):"},{"line_number":829,"context_line":"                f.write(self._gen_sha256(target_file) + \u0027 \u0027 + target_file + \u0027\\n\u0027)"},{"line_number":830,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"        # gen application tarball"}],"source_content_type":"text/x-python","patch_set":6,"id":"dd0c745b_5ab7223b","line":829,"in_reply_to":"30278be7_6248c327","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"74cfdbcd7bfa07b5c4d8d1ad41d01e9932b5463a","unresolved":true,"context_lines":[{"line_number":826,"context_line":"                    app_files.append(os.path.join(parent, filename))"},{"line_number":827,"context_line":"        with open(checksum_file, \u0027a\u0027) as f:"},{"line_number":828,"context_line":"            for target_file in sorted(app_files):"},{"line_number":829,"context_line":"                f.write(self._gen_sha256(target_file) + \u0027 \u0027 + target_file + \u0027\\n\u0027)"},{"line_number":830,"context_line":"        app_files.append(\u0027./\u0027 + checksum_file)"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"        # gen application tarball"}],"source_content_type":"text/x-python","patch_set":6,"id":"30278be7_6248c327","line":829,"in_reply_to":"af92c912_7f0dac45","updated":"2023-10-16 14:30:17.000000000","message":"To be clear: this is the format sha256sum command-line utility expects. Maybe these files are differently, I can\u0027t tell. Please double check.","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":1152,"context_line":"        pass"},{"line_number":1153,"context_line":"    else:"},{"line_number":1154,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1155,"context_line":"        sys.exit()"},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"    if package_type \u003d\u003d \u0027armada\u0027 or package_type \u003d\u003d \u0027both\u0027:"},{"line_number":1158,"context_line":"        app.gen_armada_app(app_out, no_package, package_only)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dca8b86d_b7125ec8","line":1155,"updated":"2023-10-16 14:17:52.000000000","message":"sys.exit(1)","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":1152,"context_line":"        pass"},{"line_number":1153,"context_line":"    else:"},{"line_number":1154,"context_line":"        print(\u0027Output folder %s exists, please remove it or use --overwrite.\u0027 % app_out)"},{"line_number":1155,"context_line":"        sys.exit()"},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"    if package_type \u003d\u003d \u0027armada\u0027 or package_type \u003d\u003d \u0027both\u0027:"},{"line_number":1158,"context_line":"        app.gen_armada_app(app_out, no_package, package_only)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9cf2fef8_2d6f8216","line":1155,"in_reply_to":"dca8b86d_b7125ec8","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":1207,"context_line":"        sys.exit()"},{"line_number":1208,"context_line":"    if not os.path.isfile(os.path.abspath(input_file)):"},{"line_number":1209,"context_line":"        print(\u0027Error: input file not found\u0027)"},{"line_number":1210,"context_line":"        sys.exit()"},{"line_number":1211,"context_line":"    if input_file:"},{"line_number":1212,"context_line":"        generate_app(os.path.abspath(input_file), os.path.abspath(output_folder), package_type, overwrite, no_package, package_only)"},{"line_number":1213,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"599e8f6a_e1dbeefe","line":1210,"updated":"2023-10-16 14:17:52.000000000","message":"sys.exit(1)","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"        sys.exit()"},{"line_number":1208,"context_line":"    if not os.path.isfile(os.path.abspath(input_file)):"},{"line_number":1209,"context_line":"        print(\u0027Error: input file not found\u0027)"},{"line_number":1210,"context_line":"        sys.exit()"},{"line_number":1211,"context_line":"    if input_file:"},{"line_number":1212,"context_line":"        generate_app(os.path.abspath(input_file), os.path.abspath(output_folder), package_type, overwrite, no_package, package_only)"},{"line_number":1213,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"04904e14_b68aacaf","line":1210,"in_reply_to":"599e8f6a_e1dbeefe","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"}],"app-gen-tool/app_manifest.yaml":[{"author":{"_account_id":36363,"name":"Raphael Lima","display_name":"Raphael","email":"raphael.lima@encora.com","username":"raphael_l"},"change_message_id":"547f2f0829d4b558e8cbfec959c3cde8e8c0709f","unresolved":true,"context_lines":[{"line_number":27,"context_line":"#################################################"},{"line_number":28,"context_line":"## App Metadata Configuration"},{"line_number":29,"context_line":"# for further details about possible configurations on this file, please"},{"line_number":30,"context_line":"# visit the link: https://wiki.openstack.org/wiki/StarlingX/Containers/StarlingXAppsInternals#metadata.yaml"},{"line_number":31,"context_line":"metadataFile-config:"},{"line_number":32,"context_line":"# the following configurations are optional"},{"line_number":33,"context_line":"# uncomment and configure properly the ones you need for your application metadata"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"2185c04d_cc5891ae","line":30,"updated":"2023-10-06 17:52:30.000000000","message":"It would be nice to add an example of a metada file just like you did for the setup.\nhttps://opendev.org/starlingx/app-dell-storage/src/branch/master/stx-dell-storage-helm/stx-dell-storage-helm/files/metadata.yaml","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"969296562ca96d54ea02572434ab5b0fada4f2e6","unresolved":true,"context_lines":[{"line_number":27,"context_line":"#################################################"},{"line_number":28,"context_line":"## App Metadata Configuration"},{"line_number":29,"context_line":"# for further details about possible configurations on this file, please"},{"line_number":30,"context_line":"# visit the link: https://wiki.openstack.org/wiki/StarlingX/Containers/StarlingXAppsInternals#metadata.yaml"},{"line_number":31,"context_line":"metadataFile-config:"},{"line_number":32,"context_line":"# the following configurations are optional"},{"line_number":33,"context_line":"# uncomment and configure properly the ones you need for your application metadata"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"f2f92852_43b80621","line":30,"in_reply_to":"2185c04d_cc5891ae","updated":"2023-10-09 11:11:51.000000000","message":"I thought about this, but differently from the setup, the metadata doesn\u0027t not have any required field from the input yaml, so if I put some of the lines without comment it may induce the dev to think that it is a required field. All available field are there, so he or she just need to take a look which ones are best suited for their application.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"8fb79e7d730b8284229b0a5b98dc53b6b09ac4a6","unresolved":true,"context_lines":[{"line_number":27,"context_line":"#################################################"},{"line_number":28,"context_line":"## App Metadata Configuration"},{"line_number":29,"context_line":"# for further details about possible configurations on this file, please"},{"line_number":30,"context_line":"# visit the link: https://wiki.openstack.org/wiki/StarlingX/Containers/StarlingXAppsInternals#metadata.yaml"},{"line_number":31,"context_line":"metadataFile-config:"},{"line_number":32,"context_line":"# the following configurations are optional"},{"line_number":33,"context_line":"# uncomment and configure properly the ones you need for your application metadata"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"af31e5c5_62c4fa47","line":30,"in_reply_to":"3cebdc7a_2f7306d3","updated":"2023-10-09 16:09:45.000000000","message":"Ooh Got it! Yeah, I will see about that. \n\nThis url here is really good at explaining each of the options in the metadata file. Just explaining the reason why there is an example for the setup, is because we found a little be difficult to explain what should go into the classifiers. I think the best options would be for the setup something similar to here, a place that explains everything that can go in the file.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"29b2d5315e3325ac7598fd14aa6ca66c16b711a6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"#################################################"},{"line_number":28,"context_line":"## App Metadata Configuration"},{"line_number":29,"context_line":"# for further details about possible configurations on this file, please"},{"line_number":30,"context_line":"# visit the link: https://wiki.openstack.org/wiki/StarlingX/Containers/StarlingXAppsInternals#metadata.yaml"},{"line_number":31,"context_line":"metadataFile-config:"},{"line_number":32,"context_line":"# the following configurations are optional"},{"line_number":33,"context_line":"# uncomment and configure properly the ones you need for your application metadata"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"82699cde_0ae51727","line":30,"in_reply_to":"7b644c69_2bc49f84","updated":"2023-10-10 13:44:27.000000000","message":"Yeah! I am gonna resolve it","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"9fbce91f9ea875df7d19ee23889c7e39ee5d8bc2","unresolved":true,"context_lines":[{"line_number":27,"context_line":"#################################################"},{"line_number":28,"context_line":"## App Metadata Configuration"},{"line_number":29,"context_line":"# for further details about possible configurations on this file, please"},{"line_number":30,"context_line":"# visit the link: https://wiki.openstack.org/wiki/StarlingX/Containers/StarlingXAppsInternals#metadata.yaml"},{"line_number":31,"context_line":"metadataFile-config:"},{"line_number":32,"context_line":"# the following configurations are optional"},{"line_number":33,"context_line":"# uncomment and configure properly the ones you need for your application metadata"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7b644c69_2bc49f84","line":30,"in_reply_to":"af31e5c5_62c4fa47","updated":"2023-10-10 13:30:05.000000000","message":"Is there any actionable here? If not, I move to resolve :)","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":36363,"name":"Raphael Lima","display_name":"Raphael","email":"raphael.lima@encora.com","username":"raphael_l"},"change_message_id":"df019053b16b358ea119b1881aa4a8f0f6f5ba21","unresolved":true,"context_lines":[{"line_number":27,"context_line":"#################################################"},{"line_number":28,"context_line":"## App Metadata Configuration"},{"line_number":29,"context_line":"# for further details about possible configurations on this file, please"},{"line_number":30,"context_line":"# visit the link: https://wiki.openstack.org/wiki/StarlingX/Containers/StarlingXAppsInternals#metadata.yaml"},{"line_number":31,"context_line":"metadataFile-config:"},{"line_number":32,"context_line":"# the following configurations are optional"},{"line_number":33,"context_line":"# uncomment and configure properly the ones you need for your application metadata"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3cebdc7a_2f7306d3","line":30,"in_reply_to":"f2f92852_43b80621","updated":"2023-10-09 14:48:54.000000000","message":"What I mean is that you could put a link as a reference to where the developer can find such configurations using the app-dell-storage example.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35944,"name":"Tomás Nascimento Pimentel Barros","display_name":"Tomás Barros","email":"tomas.barros@encora.com","username":"tomas_barros_encora"},"change_message_id":"eb1596534a746cac0b214bc28c6ce35ac7c28b36","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        -  # required"},{"line_number":19,"context_line":"        -  # optional"},{"line_number":20,"context_line":"        # add more if you have more than one chartgroup for your Armada app"},{"line_number":21,"context_line":"  manifest:"},{"line_number":22,"context_line":"    name:  # required for Armada"},{"line_number":23,"context_line":"    releasePrefix:  # required for Armada"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"## For Armada packaging the sections bellow are not necessary."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"a8f94b10_ec645f04","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":41},"updated":"2023-10-09 21:46:39.000000000","message":"as I tried to make a flux package, I removed the manifest key from the app_manifest and an error was generated. Is this intended?","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":35896,"name":"Bruno Drugowick Muniz","display_name":"Bruno","email":"bruno.muniz@encora.com","username":"brunomuniz"},"change_message_id":"660798ce1feec4aabfbccf436b190b18e7be5b8b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        -  # required"},{"line_number":19,"context_line":"        -  # optional"},{"line_number":20,"context_line":"        # add more if you have more than one chartgroup for your Armada app"},{"line_number":21,"context_line":"  manifest:"},{"line_number":22,"context_line":"    name:  # required for Armada"},{"line_number":23,"context_line":"    releasePrefix:  # required for Armada"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"## For Armada packaging the sections bellow are not necessary."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"6a3644d4_714691e5","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":41},"in_reply_to":"381532a5_70c972ec","updated":"2023-10-10 21:51:34.000000000","message":"@Tomas and @Daniel, please make sure this is added to the Story as a Task.","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"9fbce91f9ea875df7d19ee23889c7e39ee5d8bc2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        -  # required"},{"line_number":19,"context_line":"        -  # optional"},{"line_number":20,"context_line":"        # add more if you have more than one chartgroup for your Armada app"},{"line_number":21,"context_line":"  manifest:"},{"line_number":22,"context_line":"    name:  # required for Armada"},{"line_number":23,"context_line":"    releasePrefix:  # required for Armada"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"## For Armada packaging the sections bellow are not necessary."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"381532a5_70c972ec","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":41},"in_reply_to":"848fc8a5_c11ba67b","updated":"2023-10-10 13:30:05.000000000","message":"Agreed.  I think I see something was added to the story about this. If not it can easily be added. \n\nhttps://storyboard.openstack.org/#!/story/2010937","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"dd4ded763295f6aa52589fc4b66b7c5eea8eca12","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        -  # required"},{"line_number":19,"context_line":"        -  # optional"},{"line_number":20,"context_line":"        # add more if you have more than one chartgroup for your Armada app"},{"line_number":21,"context_line":"  manifest:"},{"line_number":22,"context_line":"    name:  # required for Armada"},{"line_number":23,"context_line":"    releasePrefix:  # required for Armada"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"## For Armada packaging the sections bellow are not necessary."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"848fc8a5_c11ba67b","line":23,"range":{"start_line":21,"start_character":0,"end_line":23,"end_character":41},"in_reply_to":"a8f94b10_ec645f04","updated":"2023-10-10 11:06:46.000000000","message":"Because is only one function that loads the information from Armada and Flux it doesn\u0027t distinguish between them, so yeah for now you are not supposed to delete any field from the app_manifest. If you are packaging flux just leave the fields specific for Armada empty, the same  way if you are packing Armada leave you can\u0027t delete the metadata and setup fields.\n\nWe can definitely separate them, but I propose that this be done in future task, as this one only intend the basic implementation to make it work.","commit_id":"e2d64a9b3093c577ce1e169ad95c811b5da7298c"}],"app-gen-tool/templates_flux/base/helmrepository.template":[{"author":{"_account_id":35446,"name":"Igor Pires Soares","display_name":"Igor Soares","email":"Igor.PiresSoares@windriver.com","username":"ipiresso"},"change_message_id":"e0054f11e29023650ffa454a884c0c5340660b6f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"apiVersion: source.toolkit.fluxcd.io/v1beta1"},{"line_number":2,"context_line":"kind: HelmRepository"},{"line_number":3,"context_line":"metadata:"},{"line_number":4,"context_line":"  name: stx-platform"},{"line_number":5,"context_line":"spec:"},{"line_number":6,"context_line":"  url: http://192.168.206.1:8080/helm_charts/stx-platform"},{"line_number":7,"context_line":"  interval: 60m"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"7a4c4f51_4b05cd4d","line":4,"updated":"2023-10-05 15:30:41.000000000","message":"This can be namespaced.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"03e7e06f0c6e0bf6168858737a5be6415b7ba755","unresolved":false,"context_lines":[{"line_number":1,"context_line":"apiVersion: source.toolkit.fluxcd.io/v1beta1"},{"line_number":2,"context_line":"kind: HelmRepository"},{"line_number":3,"context_line":"metadata:"},{"line_number":4,"context_line":"  name: stx-platform"},{"line_number":5,"context_line":"spec:"},{"line_number":6,"context_line":"  url: http://192.168.206.1:8080/helm_charts/stx-platform"},{"line_number":7,"context_line":"  interval: 60m"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"232a9dbc_6417c13b","line":4,"in_reply_to":"05a4db04_2e34aa82","updated":"2023-10-09 14:09:20.000000000","message":"Ack","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"bc22f64c6ff75029eafe9670db268530d03c96de","unresolved":true,"context_lines":[{"line_number":1,"context_line":"apiVersion: source.toolkit.fluxcd.io/v1beta1"},{"line_number":2,"context_line":"kind: HelmRepository"},{"line_number":3,"context_line":"metadata:"},{"line_number":4,"context_line":"  name: stx-platform"},{"line_number":5,"context_line":"spec:"},{"line_number":6,"context_line":"  url: http://192.168.206.1:8080/helm_charts/stx-platform"},{"line_number":7,"context_line":"  interval: 60m"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"05a4db04_2e34aa82","line":4,"in_reply_to":"15406777_1a039380","updated":"2023-10-09 13:35:43.000000000","message":"Yes. Having the repository object namespaced only means that each app could designate its own location for a repository URL.  The Helm Release Object would also need to select the repository based on namespace.  \n\nI\u0027d say this can be improved upon later if you\u0027d like to keep a TODO list instated.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"b007514c97e637deae91fb388c13b80d5cc60e0f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"apiVersion: source.toolkit.fluxcd.io/v1beta1"},{"line_number":2,"context_line":"kind: HelmRepository"},{"line_number":3,"context_line":"metadata:"},{"line_number":4,"context_line":"  name: stx-platform"},{"line_number":5,"context_line":"spec:"},{"line_number":6,"context_line":"  url: http://192.168.206.1:8080/helm_charts/stx-platform"},{"line_number":7,"context_line":"  interval: 60m"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"15406777_1a039380","line":4,"in_reply_to":"7a4c4f51_4b05cd4d","updated":"2023-10-09 12:10:27.000000000","message":"If it is namespaced, should be the same namespace as the others?","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"}],"app-gen-tool/templates_flux/base/kustomization.template":[{"author":{"_account_id":35446,"name":"Igor Pires Soares","display_name":"Igor Soares","email":"Igor.PiresSoares@windriver.com","username":"ipiresso"},"change_message_id":"e0054f11e29023650ffa454a884c0c5340660b6f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"resources:"},{"line_number":2,"context_line":"  - helmrepository.yaml"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"529c19a5_d271d97f","line":2,"updated":"2023-10-05 15:30:41.000000000","message":"namespace.yaml needs to be included here as well. This is useful when developers need to add labels to their namespaces.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"040ca08b9f2babc07cdcfd7f9a0b8155528ad805","unresolved":true,"context_lines":[{"line_number":1,"context_line":"resources:"},{"line_number":2,"context_line":"  - helmrepository.yaml"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"b17b29e4_badc8048","line":2,"in_reply_to":"27fa47f4_2df8adcb","updated":"2023-10-06 11:12:43.000000000","message":"Ok, got it. Thank you!","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"75d043ccce373097530d40f9e4333b255fb5f788","unresolved":true,"context_lines":[{"line_number":1,"context_line":"resources:"},{"line_number":2,"context_line":"  - helmrepository.yaml"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"634d3ca4_fd340f2d","line":2,"in_reply_to":"529c19a5_d271d97f","updated":"2023-10-05 16:18:20.000000000","message":"It does? Legit question, because everything that I know comes from reading the StarlingX wiki and comparing the apps available in the repo. As none of them had namespace.yaml here I didn\u0027t put it.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35446,"name":"Igor Pires Soares","display_name":"Igor Soares","email":"Igor.PiresSoares@windriver.com","username":"ipiresso"},"change_message_id":"e79d36b5d1faf1a85ee55884ca6e827962cfab1d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"resources:"},{"line_number":2,"context_line":"  - helmrepository.yaml"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"27fa47f4_2df8adcb","line":2,"in_reply_to":"634d3ca4_fd340f2d","updated":"2023-10-05 20:37:51.000000000","message":"It does because otherwise the file will not be included in the bundled manifest to be applied. It is not a problem if developers don\u0027t need to add labels or other changes to the namespace. However, if they do need that, the file needs to be added manually. Not a big deal, but I\u0027ve seen namespace labels missing in a couple of apps because developers didn\u0027t add the namespace file. Adding it here would assist them in following good standards and would facilitate future work.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"842073ab54891de2956cd21c37edb03fad45578e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"resources:"},{"line_number":2,"context_line":"  - helmrepository.yaml"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"8c915b20_7276d436","line":2,"in_reply_to":"b17b29e4_badc8048","updated":"2023-10-06 12:07:57.000000000","message":"Done","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"}],"app-gen-tool/templates_flux/fluxcd-manifest/helmrelease.template":[{"author":{"_account_id":31683,"name":"Davlet Panech","email":"davlet.panech@windriver.com","username":"dpanech"},"change_message_id":"148e4088fbdbc031f36554b1515dc76a7bce23ce","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    chart_group: $CHART_GROUP$"},{"line_number":7,"context_line":"spec:"},{"line_number":8,"context_line":"  releaseName: $NAME$"},{"line_number":9,"context_line":"  chart: "},{"line_number":10,"context_line":"    spec:"},{"line_number":11,"context_line":"      chart: $NAME$"},{"line_number":12,"context_line":"      version: $VERSION$"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"a20fc7f0_7eb32f88","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":9},"updated":"2023-10-16 14:17:52.000000000","message":"nit: remove extra space","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"f81f3ad7831901b20c33f2569e3994e466d8e4bd","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    chart_group: $CHART_GROUP$"},{"line_number":7,"context_line":"spec:"},{"line_number":8,"context_line":"  releaseName: $NAME$"},{"line_number":9,"context_line":"  chart: "},{"line_number":10,"context_line":"    spec:"},{"line_number":11,"context_line":"      chart: $NAME$"},{"line_number":12,"context_line":"      version: $VERSION$"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"a069274e_3f76d5c7","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":9},"in_reply_to":"a20fc7f0_7eb32f88","updated":"2023-10-17 18:05:58.000000000","message":"Done","commit_id":"36fd6780e1bce3f747eaafe74b7204249cb72db0"}],"app-gen-tool/templates_flux/kustomization.template":[{"author":{"_account_id":35446,"name":"Igor Pires Soares","display_name":"Igor Soares","email":"Igor.PiresSoares@windriver.com","username":"ipiresso"},"change_message_id":"e0054f11e29023650ffa454a884c0c5340660b6f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"apiVersion: kustomize.config.k8s.io/v1beta1"},{"line_number":2,"context_line":"kind: Kustomization"},{"line_number":3,"context_line":"namespace: $NAMESPACE$"},{"line_number":4,"context_line":"resources:"},{"line_number":5,"context_line":"  - base"},{"line_number":6,"context_line":"  - @CHART_NAMES|2@"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"05ce5698_c99d4287","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":9},"updated":"2023-10-05 15:30:41.000000000","message":"Idea for future work: even tough many applications place a namespace here that would not always be desirable because this would enforce all underlying objects to have the same namespace. For instance, the developer may want to place the helmrelease in a specific namespace.","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"75d043ccce373097530d40f9e4333b255fb5f788","unresolved":true,"context_lines":[{"line_number":1,"context_line":"apiVersion: kustomize.config.k8s.io/v1beta1"},{"line_number":2,"context_line":"kind: Kustomization"},{"line_number":3,"context_line":"namespace: $NAMESPACE$"},{"line_number":4,"context_line":"resources:"},{"line_number":5,"context_line":"  - base"},{"line_number":6,"context_line":"  - @CHART_NAMES|2@"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"ae95a49b_7d2d8e99","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":9},"in_reply_to":"05ce5698_c99d4287","updated":"2023-10-05 16:18:20.000000000","message":"Yeah, I thought about this, but decided to address it in the future","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"},{"author":{"_account_id":35446,"name":"Igor Pires Soares","display_name":"Igor Soares","email":"Igor.PiresSoares@windriver.com","username":"ipiresso"},"change_message_id":"e79d36b5d1faf1a85ee55884ca6e827962cfab1d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"apiVersion: kustomize.config.k8s.io/v1beta1"},{"line_number":2,"context_line":"kind: Kustomization"},{"line_number":3,"context_line":"namespace: $NAMESPACE$"},{"line_number":4,"context_line":"resources:"},{"line_number":5,"context_line":"  - base"},{"line_number":6,"context_line":"  - @CHART_NAMES|2@"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"f8bb33b7_9dcb6476","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":9},"in_reply_to":"ae95a49b_7d2d8e99","updated":"2023-10-05 20:37:51.000000000","message":"Ack","commit_id":"447809781eb3e3646e648c35d9cfde42a3bfb274"}],"app-gen-tool/templates_plugins/lifecycle.template":[{"author":{"_account_id":35446,"name":"Igor Pires Soares","display_name":"Igor Soares","email":"Igor.PiresSoares@windriver.com","username":"ipiresso"},"change_message_id":"2a07c0834d6214791f5c27b2741a090f7db028b4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1c909555_36f2a044","line":23,"updated":"2023-10-06 15:32:50.000000000","message":"A call to the base class method can be added here so that the default lifecycles are not skipped. Example: https://opendev.org/starlingx/snmp-armada-app/src/commit/14d8d43585ddec146f4551c3efa848c779dc718d/python3-k8sapp-snmp/k8sapp_snmp/k8sapp_snmp/lifecycle/lifecycle_snmp.py#L58","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"969296562ca96d54ea02572434ab5b0fada4f2e6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c2a43b88_5ecbd538","line":23,"in_reply_to":"1c909555_36f2a044","updated":"2023-10-09 11:11:51.000000000","message":"I wonder if this is the thing that is presenting an Error on our PoC application during lifecycles.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"03e7e06f0c6e0bf6168858737a5be6415b7ba755","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fcc50be3_f06144ef","line":23,"in_reply_to":"3462538e_4f3fda06","updated":"2023-10-09 14:09:20.000000000","message":"Yes, the error I am mentioning is one that we saw every minute during lifecycles. The app itself worked as expected. But it was just a thought, we are yet to understand that error.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":35920,"name":"dcaires","display_name":"Daniel Caires","email":"daniel.caires@encora.com","username":"Daniel.Caires"},"change_message_id":"29b2d5315e3325ac7598fd14aa6ca66c16b711a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4ebb75c3_f1c05eed","line":23,"in_reply_to":"851251f5_18f03adb","updated":"2023-10-10 13:44:27.000000000","message":"I am uploading a patchset with the \"super\" command.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"bc22f64c6ff75029eafe9670db268530d03c96de","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3462538e_4f3fda06","line":23,"in_reply_to":"c2a43b88_5ecbd538","updated":"2023-10-09 13:35:43.000000000","message":"Daniel - Installing without the call to \"super\" won\u0027t result in a run time error per say.  The application will still upload/apply.  It just won\u0027t have the default lifecycles run; eg namespaces being added.","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"},{"author":{"_account_id":36077,"name":"Joshua Reed","display_name":"Joshua Reed","email":"joshua.reed@windriver.com","username":"jreed","status":"Wind River"},"change_message_id":"9fbce91f9ea875df7d19ee23889c7e39ee5d8bc2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"851251f5_18f03adb","line":23,"in_reply_to":"fcc50be3_f06144ef","updated":"2023-10-10 13:30:05.000000000","message":"I guess we can make another story task and revisit? \n\nhttps://storyboard.openstack.org/#!/story/2010937","commit_id":"6aed052f8e7cc4ecb9fb88bd00c24103bf65ea86"}]}
