)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e0849a0a0441ba954c31749407d1a64b7bd533cf","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Alex-Welsh \u003calex@stackhpc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-10-05 14:10:47 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"added support for ANSIBLE_VAULT_PASSWORD_FILE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Story: 2006766"},{"line_number":10,"context_line":"Task: 37281"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3ad55de6_db448aef","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":14},"updated":"2022-10-12 07:56:44.000000000","message":"Nit: we usually use present tense\n\nAdd support for…","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"3109f55375f5d1da3c8db5cfa9054a7fbdbcd243","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Alex-Welsh \u003calex@stackhpc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-10-05 14:10:47 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"added support for ANSIBLE_VAULT_PASSWORD_FILE"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Story: 2006766"},{"line_number":10,"context_line":"Task: 37281"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"22d5ffb5_44bcf0a7","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":14},"in_reply_to":"3ad55de6_db448aef","updated":"2022-10-12 13:52:20.000000000","message":"Done","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c810708d9f4d31be09aac34439ba13be000a1d06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cc0cd2db_a13fa78a","updated":"2022-09-21 13:57:09.000000000","message":"Thanks Alex, could you add a release note?","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"364fc09bfe911e234943c4e3cfffec603a0b7047","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"72fa02c7_a3dadcd9","in_reply_to":"cc0cd2db_a13fa78a","updated":"2022-09-26 16:34:12.000000000","message":"Done","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"66aab5963d145de57d21f820756ee25b3e4ae248","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"45c4ad8a_539e521a","updated":"2022-10-03 14:29:15.000000000","message":"Thanks","commit_id":"50692a8aef2ded723cfd06bea68a66d2b88dea23"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"99fa5bbf45825e1aefb1ed8713ca426591809b0e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a3097a36_de28c29d","updated":"2022-10-12 06:53:55.000000000","message":"merging again, accounting for Mark\u0027s +2","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"}],"kayobe/tests/unit/test_vault.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c810708d9f4d31be09aac34439ba13be000a1d06","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        parsed_args \u003d parser.parse_args([\"--vault-password-file\","},{"line_number":62,"context_line":"                                         \"/path/to/file\"])"},{"line_number":63,"context_line":"        self.assertRaises(SystemExit, vault.enforce_single_password_source, parsed_args)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @mock.patch.object(vault.getpass, \u0027getpass\u0027)"},{"line_number":66,"context_line":"    def test__ask_vault_pass(self, mock_getpass):"},{"line_number":67,"context_line":"        mock_getpass.return_value \u003d \u0027test-pass\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"db97d35f_1b1bd0eb","line":64,"updated":"2022-09-21 13:57:09.000000000","message":"Could you add some more unit tests to cover the new feature?","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"8ce4b5794cf5df34d6a5ea9729dec46d6d6b2b30","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        parsed_args \u003d parser.parse_args([\"--vault-password-file\","},{"line_number":62,"context_line":"                                         \"/path/to/file\"])"},{"line_number":63,"context_line":"        self.assertRaises(SystemExit, vault.enforce_single_password_source, parsed_args)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @mock.patch.object(vault.getpass, \u0027getpass\u0027)"},{"line_number":66,"context_line":"    def test__ask_vault_pass(self, mock_getpass):"},{"line_number":67,"context_line":"        mock_getpass.return_value \u003d \u0027test-pass\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"4ff943de_a7859831","line":64,"in_reply_to":"628c5819_ebe3d602","updated":"2022-10-03 15:29:06.000000000","message":"Done","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"2d8afa3d0852a6ec9ddb4c0571efe4c614843379","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        parsed_args \u003d parser.parse_args([\"--vault-password-file\","},{"line_number":62,"context_line":"                                         \"/path/to/file\"])"},{"line_number":63,"context_line":"        self.assertRaises(SystemExit, vault.enforce_single_password_source, parsed_args)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @mock.patch.object(vault.getpass, \u0027getpass\u0027)"},{"line_number":66,"context_line":"    def test__ask_vault_pass(self, mock_getpass):"},{"line_number":67,"context_line":"        mock_getpass.return_value \u003d \u0027test-pass\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"628c5819_ebe3d602","line":64,"in_reply_to":"db97d35f_1b1bd0eb","updated":"2022-09-26 16:33:24.000000000","message":"Added a few tests, not sure if they\u0027re comprehensive enough so could add more","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"}],"kayobe/vault.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c810708d9f4d31be09aac34439ba13be000a1d06","unresolved":true,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"def _validate_environment_variables():"},{"line_number":80,"context_line":"    \"\"\"Verify that at most one password environment variable is set\"\"\""},{"line_number":81,"context_line":"    if (VAULT_PASSWORD_ENV not in os.environ and "},{"line_number":82,"context_line":"        \"ANSIBLE_VAULT_PASSWORD_FILE\" not in os.environ):"},{"line_number":83,"context_line":"        invalid_source \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"5af365ea_63aab613","line":80,"updated":"2022-09-21 13:57:09.000000000","message":"This logic could probably be reduced a little.\n\ninvalid_source \u003d None\npassword_env_var \u003d None\nif kayobe:\n    password_env_var \u003d kayobe\n    if ansible:\n        invalid_source \u003d ansible\nelif ansible:\n    password_env_var \u003d ansible","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"2d8afa3d0852a6ec9ddb4c0571efe4c614843379","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"def _validate_environment_variables():"},{"line_number":80,"context_line":"    \"\"\"Verify that at most one password environment variable is set\"\"\""},{"line_number":81,"context_line":"    if (VAULT_PASSWORD_ENV not in os.environ and "},{"line_number":82,"context_line":"        \"ANSIBLE_VAULT_PASSWORD_FILE\" not in os.environ):"},{"line_number":83,"context_line":"        invalid_source \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"56d64e37_9ee5101e","line":80,"in_reply_to":"5af365ea_63aab613","updated":"2022-09-26 16:33:24.000000000","message":"Done","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c810708d9f4d31be09aac34439ba13be000a1d06","unresolved":true,"context_lines":[{"line_number":79,"context_line":"def _validate_environment_variables():"},{"line_number":80,"context_line":"    \"\"\"Verify that at most one password environment variable is set\"\"\""},{"line_number":81,"context_line":"    if (VAULT_PASSWORD_ENV not in os.environ and "},{"line_number":82,"context_line":"        \"ANSIBLE_VAULT_PASSWORD_FILE\" not in os.environ):"},{"line_number":83,"context_line":"        invalid_source \u003d None"},{"line_number":84,"context_line":"        password_env_var \u003d None"},{"line_number":85,"context_line":"    elif (VAULT_PASSWORD_ENV in os.environ and "}],"source_content_type":"text/x-python","patch_set":1,"id":"4b002df9_de2ca670","line":82,"range":{"start_line":82,"start_character":9,"end_line":82,"end_character":36},"updated":"2022-09-21 13:57:09.000000000","message":"Could you use a variable here, similar to VAULT_PASSWORD_ENV?","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"2d8afa3d0852a6ec9ddb4c0571efe4c614843379","unresolved":false,"context_lines":[{"line_number":79,"context_line":"def _validate_environment_variables():"},{"line_number":80,"context_line":"    \"\"\"Verify that at most one password environment variable is set\"\"\""},{"line_number":81,"context_line":"    if (VAULT_PASSWORD_ENV not in os.environ and "},{"line_number":82,"context_line":"        \"ANSIBLE_VAULT_PASSWORD_FILE\" not in os.environ):"},{"line_number":83,"context_line":"        invalid_source \u003d None"},{"line_number":84,"context_line":"        password_env_var \u003d None"},{"line_number":85,"context_line":"    elif (VAULT_PASSWORD_ENV in os.environ and "}],"source_content_type":"text/x-python","patch_set":1,"id":"25790dad_4cd7d9a9","line":82,"range":{"start_line":82,"start_character":9,"end_line":82,"end_character":36},"in_reply_to":"4b002df9_de2ca670","updated":"2022-09-26 16:33:24.000000000","message":"Done","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c810708d9f4d31be09aac34439ba13be000a1d06","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    \"\"\"Verify that a password is only being received from a single source\"\"\""},{"line_number":111,"context_line":"    # Ensure that a password prompt or file has not been requested if a"},{"line_number":112,"context_line":"    # password environment variable is set, and that only one password"},{"line_number":113,"context_line":"    # enironment variable is set"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    invalid_source, password_env_var \u003d _validate_environment_variables()"},{"line_number":116,"context_line":"    if not password_env_var:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f7ffa62_e8090667","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":16},"updated":"2022-09-21 13:57:09.000000000","message":"nit: spelling","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"2d8afa3d0852a6ec9ddb4c0571efe4c614843379","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    \"\"\"Verify that a password is only being received from a single source\"\"\""},{"line_number":111,"context_line":"    # Ensure that a password prompt or file has not been requested if a"},{"line_number":112,"context_line":"    # password environment variable is set, and that only one password"},{"line_number":113,"context_line":"    # enironment variable is set"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    invalid_source, password_env_var \u003d _validate_environment_variables()"},{"line_number":116,"context_line":"    if not password_env_var:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1d719f48_f87262af","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":16},"in_reply_to":"9f7ffa62_e8090667","updated":"2022-09-26 16:33:24.000000000","message":"Done","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c810708d9f4d31be09aac34439ba13be000a1d06","unresolved":true,"context_lines":[{"line_number":169,"context_line":"    elif parsed_args.vault_password_file:"},{"line_number":170,"context_line":"        vault_password \u003d _read_vault_password_file("},{"line_number":171,"context_line":"            parsed_args.vault_password_file)"},{"line_number":172,"context_line":"    elif \"ANSIBLE_VAULT_PASSWORD_FILE\" in os.environ:"},{"line_number":173,"context_line":"        vault_password \u003d _read_vault_password_file("},{"line_number":174,"context_line":"        os.environ[\"ANSIBLE_VAULT_PASSWORD_FILE\"])"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    if vault_password is not None:"},{"line_number":177,"context_line":"        env[VAULT_PASSWORD_ENV] \u003d vault_password"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f222134_cfab575c","line":174,"range":{"start_line":172,"start_character":0,"end_line":174,"end_character":50},"updated":"2022-09-21 13:57:09.000000000","message":"I don\u0027t think it\u0027s used - due to L49 we\u0027ll have parsed_args.vault_password_file set.","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"2d8afa3d0852a6ec9ddb4c0571efe4c614843379","unresolved":true,"context_lines":[{"line_number":169,"context_line":"    elif parsed_args.vault_password_file:"},{"line_number":170,"context_line":"        vault_password \u003d _read_vault_password_file("},{"line_number":171,"context_line":"            parsed_args.vault_password_file)"},{"line_number":172,"context_line":"    elif \"ANSIBLE_VAULT_PASSWORD_FILE\" in os.environ:"},{"line_number":173,"context_line":"        vault_password \u003d _read_vault_password_file("},{"line_number":174,"context_line":"        os.environ[\"ANSIBLE_VAULT_PASSWORD_FILE\"])"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    if vault_password is not None:"},{"line_number":177,"context_line":"        env[VAULT_PASSWORD_ENV] \u003d vault_password"}],"source_content_type":"text/x-python","patch_set":1,"id":"64f8651a_c79410d8","line":174,"range":{"start_line":172,"start_character":0,"end_line":174,"end_character":50},"in_reply_to":"3f222134_cfab575c","updated":"2022-09-26 16:33:24.000000000","message":"This is true. I\u0027m not entirely sure it was working before but I\u0027ve reordered the if statements to make a bit more sense","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"8ce4b5794cf5df34d6a5ea9729dec46d6d6b2b30","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    elif parsed_args.vault_password_file:"},{"line_number":170,"context_line":"        vault_password \u003d _read_vault_password_file("},{"line_number":171,"context_line":"            parsed_args.vault_password_file)"},{"line_number":172,"context_line":"    elif \"ANSIBLE_VAULT_PASSWORD_FILE\" in os.environ:"},{"line_number":173,"context_line":"        vault_password \u003d _read_vault_password_file("},{"line_number":174,"context_line":"        os.environ[\"ANSIBLE_VAULT_PASSWORD_FILE\"])"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    if vault_password is not None:"},{"line_number":177,"context_line":"        env[VAULT_PASSWORD_ENV] \u003d vault_password"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ed7e90c_ca25a50f","line":174,"range":{"start_line":172,"start_character":0,"end_line":174,"end_character":50},"in_reply_to":"64f8651a_c79410d8","updated":"2022-10-03 15:29:06.000000000","message":"Done","commit_id":"ec35970cc787c4d6d7a1f89b83aa03f6cf3f2c71"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"b8c66ae3194c9ef0585eaead7d8c8d3bf50afe47","unresolved":true,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def _validate_args(parsed_args):"},{"line_number":95,"context_line":"    \"\"\"Verify that only no conflicting arguments are being used\"\"\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    helper \u003d _get_vault_password_helper()"},{"line_number":98,"context_line":"    invalid_source \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf3d4be9_bd605c1a","line":95,"range":{"start_line":95,"start_character":19,"end_line":95,"end_character":26},"updated":"2022-10-05 12:49:19.000000000","message":"typo","commit_id":"50692a8aef2ded723cfd06bea68a66d2b88dea23"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"bbec7eb7ec75bc1f638f0962a01e3fb78b90a365","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def _validate_args(parsed_args):"},{"line_number":95,"context_line":"    \"\"\"Verify that only no conflicting arguments are being used\"\"\""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    helper \u003d _get_vault_password_helper()"},{"line_number":98,"context_line":"    invalid_source \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"f0855480_99d6f7a0","line":95,"range":{"start_line":95,"start_character":19,"end_line":95,"end_character":26},"in_reply_to":"bf3d4be9_bd605c1a","updated":"2022-10-05 13:11:38.000000000","message":"Done","commit_id":"50692a8aef2ded723cfd06bea68a66d2b88dea23"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e0849a0a0441ba954c31749407d1a64b7bd533cf","unresolved":true,"context_lines":[{"line_number":24,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"VAULT_PASSWORD_ENV \u003d \"KAYOBE_VAULT_PASSWORD\""},{"line_number":27,"context_line":"ANSIBLE_PASSWORD_ENV \u003d \"ANSIBLE_VAULT_PASSWORD_FILE\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def _get_vault_password_helper():"}],"source_content_type":"text/x-python","patch_set":6,"id":"5c245446_abef6b91","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":20},"updated":"2022-10-12 07:56:44.000000000","message":"I think it would be clearer if this was named VAULT_PASSWORD_FILE_ENV","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"3109f55375f5d1da3c8db5cfa9054a7fbdbcd243","unresolved":false,"context_lines":[{"line_number":24,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"VAULT_PASSWORD_ENV \u003d \"KAYOBE_VAULT_PASSWORD\""},{"line_number":27,"context_line":"ANSIBLE_PASSWORD_ENV \u003d \"ANSIBLE_VAULT_PASSWORD_FILE\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def _get_vault_password_helper():"}],"source_content_type":"text/x-python","patch_set":6,"id":"a759623a_a1434bd7","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":20},"in_reply_to":"5c245446_abef6b91","updated":"2022-10-12 13:52:20.000000000","message":"Done","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"}],"releasenotes/notes/support-ANSIBLE-VAULT-PASSWORD-FILE-d00ca1e041e1bd88.yaml":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e0849a0a0441ba954c31749407d1a64b7bd533cf","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ANSIBLE_VAULT_PASSWORD_FILE environment variable as a"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7132837e_d93aaddd","line":1,"updated":"2022-10-12 07:56:44.000000000","message":"Missing newline at end of file.\n\nI would also use lower case in the filename.","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"3109f55375f5d1da3c8db5cfa9054a7fbdbcd243","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ANSIBLE_VAULT_PASSWORD_FILE environment variable as a"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7fc492af_6d0e19d5","line":1,"in_reply_to":"7132837e_d93aaddd","updated":"2022-10-12 13:52:20.000000000","message":"Done","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e0849a0a0441ba954c31749407d1a64b7bd533cf","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ANSIBLE_VAULT_PASSWORD_FILE environment variable as a"},{"line_number":5,"context_line":"    source for the ansible vault password. See"},{"line_number":6,"context_line":"    https://storyboard.openstack.org/#!/story/2006766"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"db3bae4f_1b89ba2a","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":26},"updated":"2022-10-12 07:56:44.000000000","message":"Nit: Ansible","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"3109f55375f5d1da3c8db5cfa9054a7fbdbcd243","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ANSIBLE_VAULT_PASSWORD_FILE environment variable as a"},{"line_number":5,"context_line":"    source for the ansible vault password. See"},{"line_number":6,"context_line":"    https://storyboard.openstack.org/#!/story/2006766"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"e749134c_e3a485c9","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":26},"in_reply_to":"db3bae4f_1b89ba2a","updated":"2022-10-12 13:52:20.000000000","message":"Done","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e0849a0a0441ba954c31749407d1a64b7bd533cf","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ANSIBLE_VAULT_PASSWORD_FILE environment variable as a"},{"line_number":5,"context_line":"    source for the ansible vault password. See"},{"line_number":6,"context_line":"    https://storyboard.openstack.org/#!/story/2006766"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"89ed68be_caf838ca","line":6,"range":{"start_line":5,"start_character":43,"end_line":6,"end_character":53},"updated":"2022-10-12 07:56:44.000000000","message":"This isn\u0027t formatted as hyperlink.","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"3109f55375f5d1da3c8db5cfa9054a7fbdbcd243","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for the ANSIBLE_VAULT_PASSWORD_FILE environment variable as a"},{"line_number":5,"context_line":"    source for the ansible vault password. See"},{"line_number":6,"context_line":"    https://storyboard.openstack.org/#!/story/2006766"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"39b410cc_631ddbd9","line":6,"range":{"start_line":5,"start_character":43,"end_line":6,"end_character":53},"in_reply_to":"89ed68be_caf838ca","updated":"2022-10-12 13:52:20.000000000","message":"Done","commit_id":"1906b966c4772c6b1862d51f7a2783673131a720"}]}
