)]}'
{"extraconfig/post_deploy/clouds_yaml.py":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"3cabd3810f044a74b6992d7bacf3c922def01b68","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        if \u0027clouds\u0027 not in clouds:"},{"line_number":59,"context_line":"            clouds.update({\u0027clouds\u0027: {}})"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    print(clouds)"},{"line_number":62,"context_line":"    return clouds"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_5c392ff0","line":61,"updated":"2019-06-17 19:41:43.000000000","message":"do we need to print the output here?","commit_id":"dd1500b2f73b078a4237629344c91d9bb94ef9c2"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"3df05d4cd12ad4fccc28f473e146dbea4e8ff60c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        if \u0027clouds\u0027 not in clouds:"},{"line_number":59,"context_line":"            clouds.update({\u0027clouds\u0027: {}})"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    print(clouds)"},{"line_number":62,"context_line":"    return clouds"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_9318f284","line":61,"in_reply_to":"9fb8cfa7_5c392ff0","updated":"2019-06-18 01:40:29.000000000","message":"Debugging tips, removing it.","commit_id":"dd1500b2f73b078a4237629344c91d9bb94ef9c2"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"3cabd3810f044a74b6992d7bacf3c922def01b68","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        _write_clouds_yaml(GLOBAL_CLOUDS_YAML, global_clouds)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    except OSError:"},{"line_number":111,"context_line":"        print(\"Permission Denied\")"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    except Exception:"},{"line_number":114,"context_line":"        print(\u0027ERROR: Create clouds.yaml failed.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_5c128f64","line":111,"updated":"2019-06-17 19:41:43.000000000","message":"we might want to do something like raise SystemExit with the exception so we\u0027re not masking errors.\n\n    except OSError as exp:\n        raise SystemExit(str(exp))","commit_id":"dd1500b2f73b078a4237629344c91d9bb94ef9c2"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"3df05d4cd12ad4fccc28f473e146dbea4e8ff60c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        _write_clouds_yaml(GLOBAL_CLOUDS_YAML, global_clouds)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    except OSError:"},{"line_number":111,"context_line":"        print(\"Permission Denied\")"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    except Exception:"},{"line_number":114,"context_line":"        print(\u0027ERROR: Create clouds.yaml failed.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_b31df674","line":111,"in_reply_to":"9fb8cfa7_5c128f64","updated":"2019-06-18 01:40:29.000000000","message":"Done","commit_id":"dd1500b2f73b078a4237629344c91d9bb94ef9c2"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"54dbfa5515cf7e3c4683b277b0ba3090e7508764","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            \u0027region_name\u0027: os.environ[\u0027region_name\u0027],"},{"line_number":44,"context_line":"            \u0027identity_api_version\u0027: os.environ[\u0027identity_api_version\u0027]}}"},{"line_number":45,"context_line":"else:"},{"line_number":46,"context_line":"    print(\"No input passed!\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def _create_clouds_yaml(clouds_yaml):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_c58d3f2b","line":46,"updated":"2019-06-18 06:27:39.000000000","message":"can we be a bit more specific here? \u0027can\u0027t find environment variables for clouds.yaml generation\u0027 or something...\nmaybe even needs to be stderr and/or instead just raise an exception? hmm... actually not sure about that i mean do we want to fail the deployment for clouds.yaml... probably not","commit_id":"126b3427a51d3cb26fbe22a949285a4519134298"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"5a21bca020fa8a9850dd11cd755d6207caf7ff53","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            \u0027region_name\u0027: os.environ[\u0027region_name\u0027],"},{"line_number":44,"context_line":"            \u0027identity_api_version\u0027: os.environ[\u0027identity_api_version\u0027]}}"},{"line_number":45,"context_line":"else:"},{"line_number":46,"context_line":"    print(\"No input passed!\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def _create_clouds_yaml(clouds_yaml):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_25f9bb4c","line":46,"in_reply_to":"9fb8cfa7_c58d3f2b","updated":"2019-06-18 06:46:47.000000000","message":"Raising exception is not required here, if this script is called as a standalone it looks for env vars if not found then it will be ignored with a simple message.\nI have improved the print statement","commit_id":"126b3427a51d3cb26fbe22a949285a4519134298"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"d6c695bd11dddea9a9c1bbc24e4f495dbcbe9f48","unresolved":false,"context_lines":[{"line_number":30,"context_line":"GLOBAL_OS_DIR \u003d os.path.join(\u0027/etc\u0027, \u0027openstack\u0027)"},{"line_number":31,"context_line":"GLOBAL_CLOUDS_YAML \u003d os.path.join(GLOBAL_OS_DIR, \u0027clouds.yaml\u0027)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"if os.environ.get(\u0027auth_url\u0027):"},{"line_number":34,"context_line":"    CLOUD_ENV_VAR \u003d {"},{"line_number":35,"context_line":"        os.environ[\u0027cloud_name\u0027]: {"},{"line_number":36,"context_line":"            \u0027auth\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_38755ecd","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":30},"updated":"2019-06-18 07:56:21.000000000","message":"Do we need to condition here at all?\n\nCan we not raise an error in an else: for the condition after L77?","commit_id":"9eb8c02459cd5b5b28b1fe644bf007f57141daa0"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"4db3c7c9519a1ee37db162e84dc9b31b115ff14a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"GLOBAL_OS_DIR \u003d os.path.join(\u0027/etc\u0027, \u0027openstack\u0027)"},{"line_number":35,"context_line":"GLOBAL_CLOUDS_YAML \u003d os.path.join(GLOBAL_OS_DIR, \u0027clouds.yaml\u0027)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CLOUD_ENV_VAR \u003d {"},{"line_number":38,"context_line":"    os.environ[\u0027cloud_name\u0027]: {"},{"line_number":39,"context_line":"        \u0027auth\u0027: {"},{"line_number":40,"context_line":"            \u0027auth_url\u0027: os.environ[\u0027auth_url\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_a1a1ff97","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":13},"updated":"2019-06-19 15:01:37.000000000","message":"misleading variable name, is not an env var, is a dictionary.\n\nI am not sure why we had to rename it but if old CLOUD is not suitable, I would go for CLOUD_CONFIG or similar.","commit_id":"562cf24ce0c9d152c06c66d664b848f3ef5bdadc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"9ed5b062cfc78588eea8d86ee58da237f004d7b8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"GLOBAL_OS_DIR \u003d os.path.join(\u0027/etc\u0027, \u0027openstack\u0027)"},{"line_number":35,"context_line":"GLOBAL_CLOUDS_YAML \u003d os.path.join(GLOBAL_OS_DIR, \u0027clouds.yaml\u0027)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CLOUD_ENV_VAR \u003d {"},{"line_number":38,"context_line":"    os.environ[\u0027cloud_name\u0027]: {"},{"line_number":39,"context_line":"        \u0027auth\u0027: {"},{"line_number":40,"context_line":"            \u0027auth_url\u0027: os.environ[\u0027auth_url\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_cc166d56","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":13},"in_reply_to":"9fb8cfa7_a1a1ff97","updated":"2019-06-24 06:17:46.000000000","message":"Done, better moved it under a functions","commit_id":"562cf24ce0c9d152c06c66d664b848f3ef5bdadc"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"4db3c7c9519a1ee37db162e84dc9b31b115ff14a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        yaml.dump(clouds, f, default_flow_style\u003dFalse)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"def create(CLOUD\u003dNone):"},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    Generates clouds.yaml file"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_c1c75345","line":70,"range":{"start_line":70,"start_character":11,"end_line":70,"end_character":16},"updated":"2019-06-19 15:01:37.000000000","message":"passed arguments should be lowercase, not uppercase, which\nis reserved to \"static\" vars.\n\nI guess that what you want would be something like create(config\u003dCLOUD_CONFIG) or similar.","commit_id":"562cf24ce0c9d152c06c66d664b848f3ef5bdadc"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"1259a1ee0f4cd8a80c3bab5e9b7dcb5a470cc1de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9fb8cfa7_33a73cbf","updated":"2019-06-26 07:34:39.000000000","message":"ah so this all moved there now https://review.opendev.org/#/c/664586/19/tripleoclient/clouds_yaml.py compared to last time i checked","commit_id":"975239427788aff299ed60edc9625002391b0581"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d3105251efedcca5fd39a84ef238f3b554a9a7be","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tripleoclient import clouds_yaml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":20,"context_line":"    clouds_yaml.create()"}],"source_content_type":"text/x-python","patch_set":16,"id":"9fb8cfa7_ca8563b0","line":17,"range":{"start_line":17,"start_character":5,"end_line":17,"end_character":18},"updated":"2019-07-02 15:13:57.000000000","message":"So this needs to be in tripleo-common because tripleoclient is not a dependency of THT but tripleo-common is","commit_id":"c54b5eb46a30da775ac4229ffa6af2b715566704"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"89a6c8497b6d4e19291ca211894c56d556e0530d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tripleoclient import clouds_yaml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":20,"context_line":"    clouds_yaml.create()"}],"source_content_type":"text/x-python","patch_set":16,"id":"9fb8cfa7_3086ee15","line":17,"range":{"start_line":17,"start_character":5,"end_line":17,"end_character":18},"in_reply_to":"9fb8cfa7_ca8563b0","updated":"2019-07-02 16:26:11.000000000","message":"On installing tripleoclient, It installs the tripleo-common and tripleo-heat-templates so that time the script will be available otherwise I need to move the script again from tripleoclient to tripleo-common and then tripleo-common will depend on tripleoclient. I am not sure what to do.","commit_id":"c54b5eb46a30da775ac4229ffa6af2b715566704"}]}
