)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"828fb901ae9bf741ef501a62188517a6352f167c","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"This patch to allow operators to run manually"},{"line_number":40,"context_line":"the upgrade tasks via ansible on the Undercloud."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Change-Id: I7d89ffde8a19b30aaf59efb11e41d32cfa644b83"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"3f1d235d_77ebb811","line":41,"updated":"2017-07-11 09:43:38.000000000","message":"Related-Bug: 1665585","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"}],"setup.cfg":[{"author":{"_account_id":20775,"name":"Carlos Camacho","email":"ccamacho@redhat.com","username":"ccamacho"},"change_message_id":"c41cfec15d48c722d874fe2206227372a0f665ab","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    baremetal_configure_ready_state \u003d tripleoclient.v1.baremetal:ConfigureReadyState"},{"line_number":65,"context_line":"    baremetal_configure_boot \u003d tripleoclient.v1.baremetal:ConfigureBaremetalBoot"},{"line_number":66,"context_line":"    overcloud_netenv_validate \u003d tripleoclient.v1.overcloud_netenv_validate:ValidateOvercloudNetenv"},{"line_number":67,"context_line":"    overcloud_dowload_config \u003d tripleoclient.v1.overcloud_config:DownloadConfig"},{"line_number":68,"context_line":"    overcloud_container_image_upload \u003d tripleoclient.v1.container_image:UploadImage"},{"line_number":69,"context_line":"    overcloud_container_image_build \u003d tripleoclient.v1.container_image:BuildImage"},{"line_number":70,"context_line":"    overcloud_delete \u003d tripleoclient.v1.overcloud_delete:DeleteOvercloud"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"5f201791_e98ff820","line":67,"range":{"start_line":67,"start_character":16,"end_line":67,"end_character":17},"updated":"2017-06-22 13:10:57.000000000","message":"download :)","commit_id":"3ddc9abc0642130fe4df12b9bffbba6497b63d02"}],"tripleoclient/v1/overcloud_config.py":[{"author":{"_account_id":20775,"name":"Carlos Camacho","email":"ccamacho@redhat.com","username":"ccamacho"},"change_message_id":"a138501a0e0f28127a4b6bc6cf9050cec2959a6e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                                                               str(e))"},{"line_number":79,"context_line":"                raise OSError(message)"},{"line_number":80,"context_line":"        stack \u003d utils.get_stack(clients.orchestration, name)"},{"line_number":81,"context_line":"        tmp_path \u003d tempfile.mkdtemp(prefix\u003d\u0027tripleo-\u0027,"},{"line_number":82,"context_line":"                                    suffix\u003d\u0027-config\u0027,"},{"line_number":83,"context_line":"                                    dir\u003dconfig_dir)"},{"line_number":84,"context_line":"        role_data \u003d utils.get_role_data(stack)"},{"line_number":85,"context_line":"        for role in role_data:"},{"line_number":86,"context_line":"            for config in configs:"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_c9cafc18","line":83,"range":{"start_line":81,"start_character":0,"end_line":83,"end_character":51},"updated":"2017-06-22 13:20:36.000000000","message":"After executing openstack overcloud download config im getting a new folder like \"tripleo-Suj9xv-config\". Would be nice to have a message like..\n\"The generated output config is located in...\"","commit_id":"3ddc9abc0642130fe4df12b9bffbba6497b63d02"},{"author":{"_account_id":20775,"name":"Carlos Camacho","email":"ccamacho@redhat.com","username":"ccamacho"},"change_message_id":"1b5409c88e7a3c372bc88be72b4d5f04909c182e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"3f1d235d_6dc73d98","line":104,"updated":"2017-07-04 11:15:00.000000000","message":"Would be nice to have here a message pointing to the created path.","commit_id":"a7f42ba4b8e8e2dcba10e15de0adf49adcca5bb2"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"1ede53fb743a462c68bdc5b1406d0872085d7658","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                with open(\u0027%s/%s-%s.yaml\u0027 % (tmp_path,"},{"line_number":101,"context_line":"                                             config,"},{"line_number":102,"context_line":"                                             role), \u0027w\u0027) as conf_file:"},{"line_number":103,"context_line":"                    yaml.safe_dump(data, conf_file, default_flow_style\u003dFalse)"},{"line_number":104,"context_line":"        self.log.info(\"The TripleO configuration has been successfully \""},{"line_number":105,"context_line":"                      \"generated into: %s\" % tmp_path)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f1d235d_441fb3b6","line":103,"range":{"start_line":103,"start_character":20,"end_line":103,"end_character":77},"updated":"2017-07-04 15:50:22.000000000","message":"In the case of step_config, I don\u0027t think yaml dump will work, because it\u0027s a list that needs to be joined into a puppet manifest (which we could do in t-h-t, as it\u0027s already needed internally), but we should end up with a step_config.pp that\u0027s a puppet apply-able text manifest, not a yaml dump of a list?","commit_id":"d2bd5d2da8440449bdd8e7e2238c740520c79c69"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b84e8b2e50920ea83370641297d097a8d8a7a557","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            \u0027--config-dir\u0027,"},{"line_number":41,"context_line":"            dest\u003d\u0027config_dir\u0027,"},{"line_number":42,"context_line":"            default\u003dos.path.expanduser(\"~\"),"},{"line_number":43,"context_line":"            help\u003d_(\u0027The directory where the configuration files will be. \u0027"},{"line_number":44,"context_line":"                   \u0027pushed\u0027),"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":23,"id":"3f1d235d_34853ed0","line":43,"range":{"start_line":43,"start_character":71,"end_line":43,"end_character":73},"updated":"2017-07-11 09:42:36.000000000","message":"nit","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"},{"author":{"_account_id":16515,"name":"mbu","email":"mat.bultel@gmail.com","username":"matbu"},"change_message_id":"d190f80f227f47201ccf4f0c3a127ac8be42031d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            \u0027--config-dir\u0027,"},{"line_number":41,"context_line":"            dest\u003d\u0027config_dir\u0027,"},{"line_number":42,"context_line":"            default\u003dos.path.expanduser(\"~\"),"},{"line_number":43,"context_line":"            help\u003d_(\u0027The directory where the configuration files will be. \u0027"},{"line_number":44,"context_line":"                   \u0027pushed\u0027),"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":23,"id":"3f1d235d_b89a5cc2","line":43,"range":{"start_line":43,"start_character":71,"end_line":43,"end_character":73},"in_reply_to":"3f1d235d_34853ed0","updated":"2017-07-11 12:44:06.000000000","message":"yep, i will edit directly","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b84e8b2e50920ea83370641297d097a8d8a7a557","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            dest\u003d\u0027config_dir\u0027,"},{"line_number":42,"context_line":"            default\u003dos.path.expanduser(\"~\"),"},{"line_number":43,"context_line":"            help\u003d_(\u0027The directory where the configuration files will be. \u0027"},{"line_number":44,"context_line":"                   \u0027pushed\u0027),"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--config-type\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f1d235d_14da42e8","line":44,"updated":"2017-07-11 09:42:36.000000000","message":"could add - defaults to $HOME","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"},{"author":{"_account_id":16515,"name":"mbu","email":"mat.bultel@gmail.com","username":"matbu"},"change_message_id":"d190f80f227f47201ccf4f0c3a127ac8be42031d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            dest\u003d\u0027config_dir\u0027,"},{"line_number":42,"context_line":"            default\u003dos.path.expanduser(\"~\"),"},{"line_number":43,"context_line":"            help\u003d_(\u0027The directory where the configuration files will be. \u0027"},{"line_number":44,"context_line":"                   \u0027pushed\u0027),"},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--config-type\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f1d235d_f86214d8","line":44,"in_reply_to":"3f1d235d_14da42e8","updated":"2017-07-11 12:44:06.000000000","message":"there is already a default to $HOME L42.","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b84e8b2e50920ea83370641297d097a8d8a7a557","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                raise OSError(message)"},{"line_number":81,"context_line":"        stack \u003d utils.get_stack(clients.orchestration, name)"},{"line_number":82,"context_line":"        tmp_path \u003d tempfile.mkdtemp(prefix\u003d\u0027tripleo-\u0027,"},{"line_number":83,"context_line":"                                    suffix\u003d\u0027-config\u0027,"},{"line_number":84,"context_line":"                                    dir\u003dconfig_dir)"},{"line_number":85,"context_line":"        self.log.info(\"Generating configuration under the directory: \""},{"line_number":86,"context_line":"                      \"%s\" % tmp_path)"},{"line_number":87,"context_line":"        role_data \u003d utils.get_role_data(stack)"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f1d235d_9775349b","line":84,"range":{"start_line":83,"start_character":36,"end_line":84,"end_character":51},"updated":"2017-07-11 09:42:36.000000000","message":"so we\u0027ll have subdirectory of config_dir with the configuration files in it. Every time you run this a new one will be created i guess (just tried getting the docs for mkdtemp but the server is 503 right now https://docs.python.org/2/library/tempfile.html ) i.e. it will add some random string in the name besides you\u0027re prefix/suffix? \n\nI was wondering if we wanted the time in the filename or something that would help you distinguish which directory you are interested in but i guess \u0027the most recent one\u0027 from creation time is the answer..","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"},{"author":{"_account_id":16515,"name":"mbu","email":"mat.bultel@gmail.com","username":"matbu"},"change_message_id":"d190f80f227f47201ccf4f0c3a127ac8be42031d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                raise OSError(message)"},{"line_number":81,"context_line":"        stack \u003d utils.get_stack(clients.orchestration, name)"},{"line_number":82,"context_line":"        tmp_path \u003d tempfile.mkdtemp(prefix\u003d\u0027tripleo-\u0027,"},{"line_number":83,"context_line":"                                    suffix\u003d\u0027-config\u0027,"},{"line_number":84,"context_line":"                                    dir\u003dconfig_dir)"},{"line_number":85,"context_line":"        self.log.info(\"Generating configuration under the directory: \""},{"line_number":86,"context_line":"                      \"%s\" % tmp_path)"},{"line_number":87,"context_line":"        role_data \u003d utils.get_role_data(stack)"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f1d235d_189270a0","line":84,"range":{"start_line":83,"start_character":36,"end_line":84,"end_character":51},"in_reply_to":"3f1d235d_9775349b","updated":"2017-07-11 12:44:06.000000000","message":"yes, or you can provide a specific directory, for example:\nopenstack overcloud download config --config-dir ~/ocata-config/","commit_id":"89bfbac591c6937201ac48c10059f7cf820f1390"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"b70728dc5bb8fcca86f248fc5b1dce1954e26ace","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                                 role), \u0027w\u0027) as conf_file:"},{"line_number":111,"context_line":"                        yaml.safe_dump(data,"},{"line_number":112,"context_line":"                                       conf_file,"},{"line_number":113,"context_line":"                                       default_flow_style\u003dFalse)"},{"line_number":114,"context_line":"        print(\"The TripleO configuration has been successfully generated \""},{"line_number":115,"context_line":"              \"into: {0}\".format(tmp_path))"}],"source_content_type":"text/x-python","patch_set":24,"id":"1f1a1f67_6a9f7650","line":113,"range":{"start_line":113,"start_character":39,"end_line":113,"end_character":57},"updated":"2017-07-13 09:25:02.000000000","message":"As I mentioned in a previous revision, this doesn\u0027t work for step_config - e.g we get a yaml dump of a list, which isn\u0027t runnable via puppet - can we special-case that so we dump a \"\\n\" joined pp file, or join it in t-h-t (the latter may be better?) ?","commit_id":"d26d5c680d92cdd47a1ea9a649ffaeef05c4e663"},{"author":{"_account_id":16515,"name":"mbu","email":"mat.bultel@gmail.com","username":"matbu"},"change_message_id":"40e0688b5fe91c1ec78c0c332f432ffc349eab4f","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                                 role), \u0027w\u0027) as conf_file:"},{"line_number":111,"context_line":"                        yaml.safe_dump(data,"},{"line_number":112,"context_line":"                                       conf_file,"},{"line_number":113,"context_line":"                                       default_flow_style\u003dFalse)"},{"line_number":114,"context_line":"        print(\"The TripleO configuration has been successfully generated \""},{"line_number":115,"context_line":"              \"into: {0}\".format(tmp_path))"}],"source_content_type":"text/x-python","patch_set":24,"id":"1f1a1f67_dd6c0d38","line":113,"range":{"start_line":113,"start_character":39,"end_line":113,"end_character":57},"in_reply_to":"1f1a1f67_6a9f7650","updated":"2017-07-13 12:13:19.000000000","message":"Hi Steve, maybe I misunderstood something but if you look at line 90, I have addressed the special case for the step_config and generate a xx.pp file.","commit_id":"d26d5c680d92cdd47a1ea9a649ffaeef05c4e663"}]}
