)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"9878efa49cf6df39fa1d3f0096e2b7291c5c2ffb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"even want to move this into kolla/kolla/cmd and be generated with tox"},{"line_number":11,"context_line":"itself in the future."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This tool, when run, will only populate variables that have no value."},{"line_number":14,"context_line":"It is safe to run repeatedly on the same file."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1af94dfe_f4fed536","line":13,"range":{"start_line":13,"start_character":40,"end_line":13,"end_character":49},"updated":"2016-03-17 00:57:44.000000000","message":"random variables ?","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"346eb66b26ac1cc83d7d31e4ee178ca1fff63aca","unresolved":false,"context_lines":[{"line_number":10,"context_line":"even want to move this into kolla/kolla/cmd and be generated with tox"},{"line_number":11,"context_line":"itself in the future."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This tool, when run, will only populate variables that have no value."},{"line_number":14,"context_line":"It is safe to run repeatedly on the same file."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1af94dfe_c5832503","line":13,"range":{"start_line":13,"start_character":40,"end_line":13,"end_character":49},"in_reply_to":"1af94dfe_f4fed536","updated":"2016-03-17 02:51:31.000000000","message":"no. i guess i mean \"options\". It will only populate fields i nthe passwords.yml with no options","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"d14b1be6ea3aec5e330a32d9bd728d0f1bb8b49f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     SamYaple \u003csam@yaple.net\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-17 03:12:06 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add generate.py to generate passwords"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As with all tools, this is a first pass at the generation. Perhaps we"},{"line_number":10,"context_line":"even want to move this into kolla/kolla/cmd and be generated with tox"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1af94dfe_2992a39e","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":12},"updated":"2016-03-17 03:15:31.000000000","message":"maybe you want to rename it here as well to generate_passwords.py","commit_id":"d44da6234cbfc36acba7c16148a5682d0ae41290"}],"doc/quickstart.rst":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"e24a9c05a1c052bd1950dcb4a54cbcd3b98153ac","unresolved":false,"context_lines":[{"line_number":395,"context_line":"All variables for the environment can be specified in the files:"},{"line_number":396,"context_line":"\"/etc/kolla/globals.yml\" and \"/etc/kolla/passwords.yml\""},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"The generate passorts for /etc/kolla/passwords.yml you can use the provided"},{"line_number":399,"context_line":"tool, kolla-genpwd. It will populate all empty fields in your"},{"line_number":400,"context_line":"/etc/kolla/passwords.yml file randomly generated values to secure your"},{"line_number":401,"context_line":"deployment. You can, optionally, populate the file by hand if you wish."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa0719c6_01b9e9e9","line":398,"range":{"start_line":398,"start_character":0,"end_line":398,"end_character":21},"updated":"2016-03-21 00:23:46.000000000","message":"To generate passwords","commit_id":"ea4289c66a174bbd58bbf526f6e996d3263ec27a"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"e24a9c05a1c052bd1950dcb4a54cbcd3b98153ac","unresolved":false,"context_lines":[{"line_number":402,"context_line":""},{"line_number":403,"context_line":"::"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"    kolla-genpwd"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"Start by editing /etc/kolla/globals.yml. Check and edit, if needed, these"},{"line_number":408,"context_line":"parameters: kolla_base_distro, kolla_install_type."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa0719c6_e1b955ee","line":405,"range":{"start_line":405,"start_character":4,"end_line":405,"end_character":16},"updated":"2016-03-21 00:23:46.000000000","message":"Thanks for adding documentation for this!","commit_id":"ea4289c66a174bbd58bbf526f6e996d3263ec27a"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2002a1737d7d709f99d56cc3389175c91c71f081","unresolved":false,"context_lines":[{"line_number":390,"context_line":"All variables for the environment can be specified in the files:"},{"line_number":391,"context_line":"\"/etc/kolla/globals.yml\" and \"/etc/kolla/passwords.yml\""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"Generate passorts for /etc/kolla/passwords.yml using the provided"},{"line_number":394,"context_line":"kolla-genpwd tool.  The tool will populate all empty fields in the"},{"line_number":395,"context_line":"\"/etc/kolla/passwords.yml\" file using randomly generated values to secure the"},{"line_number":396,"context_line":"deployment.  Optionally, the passwords may be populate in the file by hand."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa0719c6_fdc43c41","line":393,"updated":"2016-03-21 15:35:33.000000000","message":"passwords*","commit_id":"bf2e26c6176158fb86aca7d0ce252925b25d83c3"},{"author":{"_account_id":10419,"name":"Ryan Hallisey","email":"rhallise@redhat.com","username":"rhallisey"},"change_message_id":"83890694b74c54936d6a4c71aafde340fcb4b0d8","unresolved":false,"context_lines":[{"line_number":393,"context_line":"Generate passwords for /etc/kolla/passwords.yml using the provided"},{"line_number":394,"context_line":"kolla-genpwd tool.  The tool will populate all empty fields in the"},{"line_number":395,"context_line":"\"/etc/kolla/passwords.yml\" file using randomly generated values to secure the"},{"line_number":396,"context_line":"deployment.  Optionally, the passwords may be populate in the file by hand."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"::"},{"line_number":399,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa0719c6_de7cc374","line":396,"range":{"start_line":396,"start_character":46,"end_line":396,"end_character":54},"updated":"2016-03-21 20:12:39.000000000","message":"populated","commit_id":"f03e06e09bc486a1a26d5642cce278d7dbb7bd92"}],"etc/kolla/passwords.yml":[{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"87d021018fb5bb970c8df810fef8ac81f50aed9e","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"horizon_secret_key: \"password\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"manila_database_password: \"password\""},{"line_number":68,"context_line":"manila_keystone_password: \"password\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"####################"},{"line_number":72,"context_line":"# Manila options"},{"line_number":73,"context_line":"####################"},{"line_number":74,"context_line":"service_instance_password: \"manila\""},{"line_number":75,"context_line":"service_instance_user: \"manila\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1af94dfe_f4ac1537","side":"PARENT","line":75,"range":{"start_line":67,"start_character":0,"end_line":75,"end_character":31},"updated":"2016-03-17 00:56:50.000000000","message":"why remove all manila options?","commit_id":"906c13eb6148d0c48b5f5ae157cfb10113efe173"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"346eb66b26ac1cc83d7d31e4ee178ca1fff63aca","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"horizon_secret_key: \"password\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"manila_database_password: \"password\""},{"line_number":68,"context_line":"manila_keystone_password: \"password\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"####################"},{"line_number":72,"context_line":"# Manila options"},{"line_number":73,"context_line":"####################"},{"line_number":74,"context_line":"service_instance_password: \"manila\""},{"line_number":75,"context_line":"service_instance_user: \"manila\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1af94dfe_e5e3c103","side":"PARENT","line":75,"range":{"start_line":67,"start_character":0,"end_line":75,"end_character":31},"in_reply_to":"1af94dfe_f4ac1537","updated":"2016-03-17 02:51:31.000000000","message":"im sure this was a bad rebase is all","commit_id":"906c13eb6148d0c48b5f5ae157cfb10113efe173"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"44e17d8d971df38696092526466ebadb0cb3fb6e","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"horizon_secret_key: \"password\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"manila_database_password: \"password\""},{"line_number":68,"context_line":"manila_keystone_password: \"password\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"####################"},{"line_number":72,"context_line":"# Manila options"},{"line_number":73,"context_line":"####################"},{"line_number":74,"context_line":"service_instance_password: \"manila\""},{"line_number":75,"context_line":"service_instance_user: \"manila\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1af94dfe_0597cd48","side":"PARENT","line":75,"range":{"start_line":67,"start_character":0,"end_line":75,"end_character":31},"in_reply_to":"1af94dfe_f4ac1537","updated":"2016-03-17 02:51:10.000000000","message":"yes it should not remove any existing options.","commit_id":"906c13eb6148d0c48b5f5ae157cfb10113efe173"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"8b06e49315994826bfcd136169c60c66d4c7f08a","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"horizon_secret_key: \"password\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"manila_database_password: \"password\""},{"line_number":68,"context_line":"manila_keystone_password: \"password\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"####################"},{"line_number":72,"context_line":"# Manila options"},{"line_number":73,"context_line":"####################"},{"line_number":74,"context_line":"service_instance_password: \"manila\""},{"line_number":75,"context_line":"service_instance_user: \"manila\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1af94dfe_65cb311f","side":"PARENT","line":75,"range":{"start_line":67,"start_character":0,"end_line":75,"end_character":31},"updated":"2016-03-17 03:01:17.000000000","message":"please, rebase it correctelly","commit_id":"906c13eb6148d0c48b5f5ae157cfb10113efe173"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"20e0094b3cf1e6d0b72aa31050f9df39232a0b0d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"###################"},{"line_number":3,"context_line":"# Ceph options"},{"line_number":4,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1af94dfe_2cfe3137","line":1,"updated":"2016-03-17 04:50:29.000000000","message":"Since this file has only empty fields with no password, how will kolla work after the user copies  etc/kolla  to  /etc/  when installing kolla ? After the user does the following steps, kolla will not see any password for any service. Isn\u0027t this an issue ?\n\n  git clone https://git.openstack.org/openstack/kolla\n  pip install kolla/  \n  cd kolla\n  cp -r etc/kolla /etc/\n\nIs the user expected to run generate_passwords.py after the last step above (cp -r etc/kolla /etc/) ? If yes, I think this patch set must add documentation for it.\n\nAlso, what happens if the user does not run generate_passwords.py after \"cp -r etc/kolla /etc/\" ? How does kolla handle it (kolla-ansible runs generate_passwords.py ?) ?","commit_id":"964b121322f343e5a31274c27f3a27abf960511a"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"3abb3d06b003392e562d347a203cf27dd2129ebe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"###################"},{"line_number":3,"context_line":"# Ceph options"},{"line_number":4,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1af94dfe_72893026","line":1,"in_reply_to":"1af94dfe_2cfe3137","updated":"2016-03-17 06:07:29.000000000","message":"Documentation is definitely required for this and DocImpact is been added in [1]\n\n[1] https://review.openstack.org/#/c/293728/6//COMMIT_MSG","commit_id":"964b121322f343e5a31274c27f3a27abf960511a"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"3d374d4b33a1f221e8e98933a53e4530f3cbd3f7","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"manila_database_password:"},{"line_number":56,"context_line":"manila_keystone_password:"},{"line_number":57,"context_line":"manila_service_instance_password:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"mistral_database_password:"},{"line_number":60,"context_line":"mistral_keystone_password:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1af94dfe_2cc89f73","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"updated":"2016-03-18 13:04:32.000000000","message":"I don\u0027t know how it will generete the passwords, but the default password here is \"manila\".","commit_id":"964b121322f343e5a31274c27f3a27abf960511a"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"d7ac29eda6e457487b3ac40e4c0e9bc55c541f0b","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"manila_database_password:"},{"line_number":56,"context_line":"manila_keystone_password:"},{"line_number":57,"context_line":"manila_service_instance_password:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"mistral_database_password:"},{"line_number":60,"context_line":"mistral_keystone_password:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1af94dfe_7de08fcd","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"in_reply_to":"1af94dfe_2cc89f73","updated":"2016-03-18 13:48:35.000000000","message":"so this is for like a vm running somewhere? does this below in the passwords.yml then if this default is outside of kollas control?","commit_id":"964b121322f343e5a31274c27f3a27abf960511a"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"9956cf599d62f60e77359afb2f1c1ca7d4a0f471","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"manila_database_password:"},{"line_number":56,"context_line":"manila_keystone_password:"},{"line_number":57,"context_line":"manila_service_instance_password:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"mistral_database_password:"},{"line_number":60,"context_line":"mistral_keystone_password:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1af94dfe_b8b34509","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"in_reply_to":"1af94dfe_7de08fcd","updated":"2016-03-18 14:02:26.000000000","message":"Sam, this variable is part of image configuration, this image is used to mount the share and it is only used in gereric driver. You can move it to  ansible/roles/manila/defaults/main.yml","commit_id":"964b121322f343e5a31274c27f3a27abf960511a"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"e24a9c05a1c052bd1950dcb4a54cbcd3b98153ac","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# Ceph options"},{"line_number":4,"context_line":"####################"},{"line_number":5,"context_line":"# These options must be UUID4 values in string format"},{"line_number":6,"context_line":"# XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX"},{"line_number":7,"context_line":"ceph_cluster_fsid:"},{"line_number":8,"context_line":"rbd_secret_uuid:"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"fa0719c6_e1031575","line":6,"range":{"start_line":6,"start_character":16,"end_line":6,"end_character":17},"updated":"2016-03-21 00:23:46.000000000","message":"4 ?","commit_id":"ea4289c66a174bbd58bbf526f6e996d3263ec27a"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"0cae5fd6f90b52a64d9af7735ec2364cfca64713","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# Ceph options"},{"line_number":4,"context_line":"####################"},{"line_number":5,"context_line":"# These options must be UUID4 values in string format"},{"line_number":6,"context_line":"# XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX"},{"line_number":7,"context_line":"ceph_cluster_fsid:"},{"line_number":8,"context_line":"rbd_secret_uuid:"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"fa0719c6_a1491dd3","line":6,"range":{"start_line":6,"start_character":16,"end_line":6,"end_character":17},"in_reply_to":"fa0719c6_e1031575","updated":"2016-03-21 00:30:51.000000000","message":"a 4 in that position is required for valid uuid4 uuids","commit_id":"ea4289c66a174bbd58bbf526f6e996d3263ec27a"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"e42d4504c0076ebae81a1dc9a930be5528d6c634","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"manila_database_password:"},{"line_number":59,"context_line":"manila_keystone_password:"},{"line_number":60,"context_line":"manila_service_instance_password:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"mistral_database_password:"},{"line_number":63,"context_line":"mistral_keystone_password:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"fa0719c6_650fffe1","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":33},"updated":"2016-03-21 11:52:04.000000000","message":"this variable was moved, remember?","commit_id":"ea4289c66a174bbd58bbf526f6e996d3263ec27a"}],"kolla/cmd/genpwd.py":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"fa8635c495e3f756abec75ccf01b2ab29439170c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                passwords[k] \u003d str(uuid.uuid4())"},{"line_number":40,"context_line":"            else:"},{"line_number":41,"context_line":"                passwords[k] \u003d \u0027\u0027.join(["},{"line_number":42,"context_line":"                    random.choice(string.ascii_letters + string.digits)"},{"line_number":43,"context_line":"                    for n in range(length)"},{"line_number":44,"context_line":"                ])"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_1a6afd1a","line":42,"updated":"2016-03-20 01:49:56.000000000","message":"from the source code:\nRandom imports _random from system imports here:\nhttps://github.com/python/cpython/blob/master/setup.py#L625\n\nThat module is implemented here:\nhttps://github.com/python/cpython/blob/master/Modules/_randommodule.c\n\nIt is clear that that C code does not use /dev/urandom or the kernel system call in 3.17+ to get random data.\n\nSystemRandom also offers choice which is good for passwords - it just overrides the random() method.","commit_id":"ea4289c66a174bbd58bbf526f6e996d3263ec27a"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"46cbeb2e62663b1a2d87a2aa192d74b950ffc5be","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            else:"},{"line_number":41,"context_line":"                passwords[k] \u003d \u0027\u0027.join(["},{"line_number":42,"context_line":"                    random.SystemRandom().choice(string.ascii_letters +"},{"line_number":43,"context_line":"                        string.digits)"},{"line_number":44,"context_line":"                    for n in range(length)"},{"line_number":45,"context_line":"                ])"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa0719c6_916d2707","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":38},"updated":"2016-03-21 16:37:44.000000000","message":"Looks like this line is under-indented and caused PEP8 error (E128) in gate.\n\nhttp://logs.openstack.org/28/293728/12/check/gate-kolla-pep8/136badf/console.html#_2016-03-21_15_48_58_288","commit_id":"c30e8521c852c232f8128fd393dd6661de0f2afb"}],"tools/generate.py":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"9878efa49cf6df39fa1d3f0096e2b7291c5c2ffb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/usr/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_54ace933","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":21},"updated":"2016-03-17 00:57:44.000000000","message":"I think the default Python shebang (#!/usr/bin/env python) used in all the Python files in kolla must be used here.","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"346eb66b26ac1cc83d7d31e4ee178ca1fff63aca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/usr/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_45ca756e","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":21},"in_reply_to":"1af94dfe_54ace933","updated":"2016-03-17 02:51:31.000000000","message":"agree","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"9878efa49cf6df39fa1d3f0096e2b7291c5c2ffb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/usr/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_f47375e5","line":2,"updated":"2016-03-17 00:57:44.000000000","message":"Should this file be named generate_passwords.py or generate_random_values.py ?","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"346eb66b26ac1cc83d7d31e4ee178ca1fff63aca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/usr/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_c5acc5a2","line":2,"in_reply_to":"1af94dfe_f47375e5","updated":"2016-03-17 02:51:31.000000000","message":"agree. generate_passwords is fine with me","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"44e17d8d971df38696092526466ebadb0cb3fb6e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/usr/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_855f5de4","line":2,"in_reply_to":"1af94dfe_f47375e5","updated":"2016-03-17 02:51:10.000000000","message":"or generate_secrets?","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"44e17d8d971df38696092526466ebadb0cb3fb6e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        if k in uuid_keys:"},{"line_number":37,"context_line":"            passwords[k] \u003d str(uuid.uuid4())"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            passwords[k] \u003d \u0027\u0027.join([random.choice(string.ascii_letters + string.digits) \\"},{"line_number":40,"context_line":"                for n in range(length)])"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"with open(\u0027/etc/kolla/passwords.yml\u0027, \u0027w\u0027) as f:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_c527a562","line":39,"range":{"start_line":39,"start_character":88,"end_line":39,"end_character":89},"updated":"2016-03-17 02:51:10.000000000","message":"E502 the backslash is redundant between brackets","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"44e17d8d971df38696092526466ebadb0cb3fb6e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            passwords[k] \u003d str(uuid.uuid4())"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            passwords[k] \u003d \u0027\u0027.join([random.choice(string.ascii_letters + string.digits) \\"},{"line_number":40,"context_line":"                for n in range(length)])"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"with open(\u0027/etc/kolla/passwords.yml\u0027, \u0027w\u0027) as f:"},{"line_number":43,"context_line":"    f.write(yaml.dump(passwords, default_flow_style\u003dFalse))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_e51c6115","line":40,"updated":"2016-03-17 02:51:10.000000000","message":"E128 continuation line under-indented for visual indent","commit_id":"da0bd11e63848a92d7037ff66f629a95df6dd200"}],"tools/generate_passwords.py":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"c78106548d2849fa1529abf651875fafc96ca220","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_541bdb80","line":1,"updated":"2016-03-18 19:32:08.000000000","message":"this file should go in cmd","commit_id":"c0192eb45459051751b0611315547339a2592ef1"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"504fb7adfdee68fbe0257d8f165d18226c2b467a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_7be51b07","line":1,"in_reply_to":"1af94dfe_541bdb80","updated":"2016-03-19 00:26:35.000000000","message":"agree","commit_id":"c0192eb45459051751b0611315547339a2592ef1"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"c78106548d2849fa1529abf651875fafc96ca220","unresolved":false,"context_lines":[{"line_number":24,"context_line":"blank_keys \u003d [\u0027docker_registry_password\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# length of password"},{"line_number":27,"context_line":"length \u003d 40"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"with open(\u0027/etc/kolla/passwords.yml\u0027, \u0027r\u0027) as f:"},{"line_number":30,"context_line":"    passwords \u003d yaml.load(f.read())"}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_97c9e5ae","line":27,"updated":"2016-03-18 19:32:08.000000000","message":"should have a cli override in the future","commit_id":"c0192eb45459051751b0611315547339a2592ef1"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"504fb7adfdee68fbe0257d8f165d18226c2b467a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"blank_keys \u003d [\u0027docker_registry_password\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# length of password"},{"line_number":27,"context_line":"length \u003d 40"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"with open(\u0027/etc/kolla/passwords.yml\u0027, \u0027r\u0027) as f:"},{"line_number":30,"context_line":"    passwords \u003d yaml.load(f.read())"}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_9beaa7d9","line":27,"in_reply_to":"1af94dfe_97c9e5ae","updated":"2016-03-19 00:26:35.000000000","message":"agree","commit_id":"c0192eb45459051751b0611315547339a2592ef1"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"c78106548d2849fa1529abf651875fafc96ca220","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            passwords[k] \u003d str(uuid.uuid4())"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            passwords[k] \u003d \u0027\u0027.join(["},{"line_number":40,"context_line":"                random.choice(string.ascii_letters + string.digits)"},{"line_number":41,"context_line":"                for n in range(length)"},{"line_number":42,"context_line":"            ])"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_37ef311f","line":40,"updated":"2016-03-18 19:32:08.000000000","message":"https://docs.python.org/3/library/random.html\n\nNotice the warning in red.\n\nThat said, this is probably more secure then password.\n\nMight give the techniques here a spin.  /dev/urandom is secure.\n\nhttp://stackoverflow.com/questions/20936993/how-can-i-create-a-random-number-that-is-cryptographically-secure-in-python","commit_id":"c0192eb45459051751b0611315547339a2592ef1"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"504fb7adfdee68fbe0257d8f165d18226c2b467a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            passwords[k] \u003d str(uuid.uuid4())"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            passwords[k] \u003d \u0027\u0027.join(["},{"line_number":40,"context_line":"                random.choice(string.ascii_letters + string.digits)"},{"line_number":41,"context_line":"                for n in range(length)"},{"line_number":42,"context_line":"            ])"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1af94dfe_fbbf6bcd","line":40,"in_reply_to":"1af94dfe_37ef311f","updated":"2016-03-19 00:26:35.000000000","message":"disagree. That warning doesnt mean what you think it means. But this module _DOES_ pull from /dev/urandom (it says so right there in your link)\n\nWhat that warning is basically saying is \"hey this isn\u0027t /dev/random so when we run out of entropy we don\u0027t block\" which means you shouldnt be using it to generate gpg keys. Generating passwords like this is fine.","commit_id":"c0192eb45459051751b0611315547339a2592ef1"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"917cbf442c6a7f8fea96ad698ebbb10066f8ad08","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            passwords[k] \u003d str(uuid.uuid4())"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            passwords[k] \u003d \u0027\u0027.join(["},{"line_number":40,"context_line":"                random.choice(string.ascii_letters + string.digits)"},{"line_number":41,"context_line":"                for n in range(length)"},{"line_number":42,"context_line":"            ])"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa0719c6_5ad8f51d","line":40,"in_reply_to":"1af94dfe_fbbf6bcd","updated":"2016-03-20 00:55:20.000000000","message":"random uses random() C api.  not /dev/urandom.  From the documentation:\nThe random module also provides the SystemRandom class which uses the system function os.urandom() to generate random numbers from sources provided by the operating system.\n\n\nTo get secure random numbers use SystemRandom class, which the stackoverflow link references.  fix it now or fix it later, it will be flagged in a threat analysis.","commit_id":"c0192eb45459051751b0611315547339a2592ef1"}],"tools/setup_gate.sh":[{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"d14b1be6ea3aec5e330a32d9bd728d0f1bb8b49f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    # Copy configs"},{"line_number":15,"context_line":"    sudo cp -a etc/kolla /etc/"},{"line_number":16,"context_line":"    # Generate passwords"},{"line_number":17,"context_line":"    sudo tools/generate.py"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    # Use Infra provided pypi"},{"line_number":20,"context_line":"    echo \"RUN echo $(base64 -w0 /etc/pip.conf) | base64 -d \u003e /etc/pip.conf\" | sudo tee /etc/kolla/header"}],"source_content_type":"text/x-sh","patch_set":5,"id":"1af94dfe_09e40739","line":17,"range":{"start_line":17,"start_character":15,"end_line":17,"end_character":23},"updated":"2016-03-17 03:15:31.000000000","message":"maybe you want to rename it here as well","commit_id":"d44da6234cbfc36acba7c16148a5682d0ae41290"}]}
