)]}'
{"README.rst":[{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"b568430a41fa468a084da1326abd293c443537e2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Kolla-CLI"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The Kolla-CLI project provides the ability to more easily manage"},{"line_number":6,"context_line":"Kolla-Ansible deployments. It provides both a CLI and a python"},{"line_number":7,"context_line":"API that you can use to configure and deploy OpenStack using Kolla-Ansible."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Kolla-Ansible requires that hosts, groups, and services are specified"},{"line_number":10,"context_line":"in an inventory file. With Kolla-CLI, you can add/remove hosts, change group"},{"line_number":11,"context_line":"associations, etc from the CLI or API. Kolla-Ansible also maintains"},{"line_number":12,"context_line":"passwords and various configuration variables in a variety of global, group"},{"line_number":13,"context_line":"and host files. With Kolla-CLI, you can now view and change these from the"},{"line_number":14,"context_line":"CLI/API."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Finally, Kolla-CLI provides commands to setup the SSH keys on hosts, run"},{"line_number":17,"context_line":"deployments and perform upgrades."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Installing"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_cf282199","line":17,"range":{"start_line":5,"start_character":0,"end_line":17,"end_character":33},"updated":"2018-06-04 06:50:22.000000000","message":"Though this comment not related to current change, but would be great if some information will be added for kolla-cli i.e when kolla-cli should before or after installation kolla/kolla-ansible, would be good for newbie. \n\nJust a thought.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":16520,"name":"Borne Mace","email":"borne.mace@oracle.com","username":"bmace"},"change_message_id":"ef364d560f7d2f04e0e6e4e1ad7912dc5f739a28","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Kolla-CLI"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The Kolla-CLI project provides the ability to more easily manage"},{"line_number":6,"context_line":"Kolla-Ansible deployments. It provides both a CLI and a python"},{"line_number":7,"context_line":"API that you can use to configure and deploy OpenStack using Kolla-Ansible."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Kolla-Ansible requires that hosts, groups, and services are specified"},{"line_number":10,"context_line":"in an inventory file. With Kolla-CLI, you can add/remove hosts, change group"},{"line_number":11,"context_line":"associations, etc from the CLI or API. Kolla-Ansible also maintains"},{"line_number":12,"context_line":"passwords and various configuration variables in a variety of global, group"},{"line_number":13,"context_line":"and host files. With Kolla-CLI, you can now view and change these from the"},{"line_number":14,"context_line":"CLI/API."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Finally, Kolla-CLI provides commands to setup the SSH keys on hosts, run"},{"line_number":17,"context_line":"deployments and perform upgrades."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Installing"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_1a2db4a7","line":17,"range":{"start_line":5,"start_character":0,"end_line":17,"end_character":33},"in_reply_to":"5f7c97a3_cf282199","updated":"2018-06-06 17:39:39.000000000","message":"Thanks for the input Surya.  I will add some information down in the \"Installing\" area related to expectations and installation location of kolla-ansible.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":24147,"name":"Mark Giles","email":"mark.giles@oracle.com","username":"mark-giles"},"change_message_id":"b3f25d923e161ef54340d91acc8fe826e00b1416","unresolved":false,"context_lines":[{"line_number":26,"context_line":"* . .venv/bin/activate"},{"line_number":27,"context_line":"* pip install -r requirements.txt"},{"line_number":28,"context_line":"* python setup.py install"},{"line_number":29,"context_line":"* python ./cli-setup.py"},{"line_number":30,"context_line":"* kolla-cli"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"At that point you will be dropped into the kollacli shell where"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_a62914f3","line":29,"updated":"2018-06-06 12:02:09.000000000","message":"It should probably be made clear that this needs to be run as root (or with sudo).  Since the stuff above this is done in a venv none of the rest of it needs to be, but this and the kolla-cli itself won\u0027t work as a non-root user.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":16520,"name":"Borne Mace","email":"borne.mace@oracle.com","username":"bmace"},"change_message_id":"ef364d560f7d2f04e0e6e4e1ad7912dc5f739a28","unresolved":false,"context_lines":[{"line_number":26,"context_line":"* . .venv/bin/activate"},{"line_number":27,"context_line":"* pip install -r requirements.txt"},{"line_number":28,"context_line":"* python setup.py install"},{"line_number":29,"context_line":"* python ./cli-setup.py"},{"line_number":30,"context_line":"* kolla-cli"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"At that point you will be dropped into the kollacli shell where"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_7a07081f","line":29,"in_reply_to":"5f7c97a3_a62914f3","updated":"2018-06-06 17:39:39.000000000","message":"It is actually valid to run this without sudo, if you are going to do the installation into a local / testing environment rather than the default locations, but similarly to Surya\u0027s comment I will add a section to Installing that mentions that it is common to need it.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":23717,"name":"Surya Prakash Singh","email":"singh.surya64mnnit@gmail.com","username":"SuryaPrakash"},"change_message_id":"87cd4d308731160024a438194d813cb2d4054d76","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Kolla-CLI"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The Kolla-CLI project provides the ability to more easily manage"},{"line_number":6,"context_line":"Kolla-Ansible deployments. It provides both a CLI and a python"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_8ac5e40c","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":8},"updated":"2018-06-07 07:25:10.000000000","message":"make fully indented","commit_id":"ccb508799a03ae53541d7aca1f1168d7afef4ce3"}],"cli_setup.py":[{"author":{"_account_id":24147,"name":"Mark Giles","email":"mark.giles@oracle.com","username":"mark-giles"},"change_message_id":"b3f25d923e161ef54340d91acc8fe826e00b1416","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    if not os.path.exists(cli_etc_dir):"},{"line_number":36,"context_line":"        make_cli_etc_dir_cmd \u003d (\u0027mkdir -p %s\u0027 % cli_etc_dir)"},{"line_number":37,"context_line":"        print(\u0027running - %s\u0027 % make_cli_etc_dir_cmd)"},{"line_number":38,"context_line":"        utils.run_cmd(make_cli_etc_dir_cmd)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    inventory_file_path \u003d os.path.join(cli_etc_dir, \u0027inventory.json\u0027)"},{"line_number":41,"context_line":"    if not os.path.exists(inventory_file_path):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_865df87a","line":38,"updated":"2018-06-06 12:02:09.000000000","message":"Throughout, I think you need to do some error handling.  I tried this out and mistakingly ran it as non-root user the first time.  The tool appeared to complete successfully but most of the commands actually failed (silently) because I didn\u0027t have perms.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":16520,"name":"Borne Mace","email":"borne.mace@oracle.com","username":"bmace"},"change_message_id":"ef364d560f7d2f04e0e6e4e1ad7912dc5f739a28","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    if not os.path.exists(cli_etc_dir):"},{"line_number":36,"context_line":"        make_cli_etc_dir_cmd \u003d (\u0027mkdir -p %s\u0027 % cli_etc_dir)"},{"line_number":37,"context_line":"        print(\u0027running - %s\u0027 % make_cli_etc_dir_cmd)"},{"line_number":38,"context_line":"        utils.run_cmd(make_cli_etc_dir_cmd)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    inventory_file_path \u003d os.path.join(cli_etc_dir, \u0027inventory.json\u0027)"},{"line_number":41,"context_line":"    if not os.path.exists(inventory_file_path):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_956e77c7","line":38,"in_reply_to":"5f7c97a3_865df87a","updated":"2018-06-06 17:39:39.000000000","message":"i ended up breaking the command exec out into a separate call, per your suggestion, and added error handling / reporting so when stuff doesn\u0027t work it is more obvious why.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":24147,"name":"Mark Giles","email":"mark.giles@oracle.com","username":"mark-giles"},"change_message_id":"b3f25d923e161ef54340d91acc8fe826e00b1416","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    inventory_file_path \u003d os.path.join(cli_etc_dir, \u0027inventory.json\u0027)"},{"line_number":41,"context_line":"    if not os.path.exists(inventory_file_path):"},{"line_number":42,"context_line":"        touch_inventory_file_cmd \u003d (\u0027touch %\u0027, inventory_file_path)"},{"line_number":43,"context_line":"        print(\u0027running - %s\u0027 % touch_inventory_file_cmd)"},{"line_number":44,"context_line":"        utils.run_cmd(touch_inventory_file_cmd)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_469cc05a","line":42,"range":{"start_line":42,"start_character":36,"end_line":42,"end_character":66},"updated":"2018-06-06 12:02:09.000000000","message":"the string substitution is not done correctly here.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"},{"author":{"_account_id":16520,"name":"Borne Mace","email":"borne.mace@oracle.com","username":"bmace"},"change_message_id":"ef364d560f7d2f04e0e6e4e1ad7912dc5f739a28","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    inventory_file_path \u003d os.path.join(cli_etc_dir, \u0027inventory.json\u0027)"},{"line_number":41,"context_line":"    if not os.path.exists(inventory_file_path):"},{"line_number":42,"context_line":"        touch_inventory_file_cmd \u003d (\u0027touch %\u0027, inventory_file_path)"},{"line_number":43,"context_line":"        print(\u0027running - %s\u0027 % touch_inventory_file_cmd)"},{"line_number":44,"context_line":"        utils.run_cmd(touch_inventory_file_cmd)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_1549075f","line":42,"range":{"start_line":42,"start_character":36,"end_line":42,"end_character":66},"in_reply_to":"5f7c97a3_469cc05a","updated":"2018-06-06 17:39:39.000000000","message":"thanks, fixed.","commit_id":"d3ff43e7e90b6084474bd6c409c68ad9f4d58299"}]}
