)]}'
{"ansible/roles/nova/tasks/start_compute.yml":[{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"12ba9e3e1aa7e09c387cf636e537dfdedac2f203","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      - \"nova_compute:/var/lib/nova\""},{"line_number":78,"context_line":"      - \"heka_socket:/var/lib/kolla/heka/\""},{"line_number":79,"context_line":"  # TODO(jeffrey4l): how to handle the nova-compute-fake and"},{"line_number":80,"context_line":"  # nova-compute-ironic"},{"line_number":81,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ba0121b8_0a873d13","line":80,"updated":"2016-04-02 11:56:38.000000000","message":"I have no change to test in the nova-compute-fake and nova-compute-ironic env, so add a TODO here.","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"112625d8e92432b527cb686198ee90c4edfb72d4","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      - \"nova_compute:/var/lib/nova\""},{"line_number":78,"context_line":"      - \"heka_socket:/var/lib/kolla/heka/\""},{"line_number":79,"context_line":"  # TODO(jeffrey4l): how to handle the nova-compute-fake and"},{"line_number":80,"context_line":"  # nova-compute-ironic"},{"line_number":81,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ba0121b8_3ec9b15b","line":80,"updated":"2016-04-01 19:34:15.000000000","message":"this is newton work imo","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"ca06d13d389213cff45a6d46372d8126f4f65e48","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    - inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":66,"context_line":"    - enable_nova_fake | bool"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"- name: Staring nova-ssh container"},{"line_number":69,"context_line":"  kolla_docker:"},{"line_number":70,"context_line":"    action: \"start_container\""},{"line_number":71,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"9a061dce_e63fb0d4","line":68,"updated":"2016-04-04 09:49:25.000000000","message":"typo","commit_id":"42420830f65c0a76ba8e7e1b6a8d2974dabb9cfa"}],"ansible/roles/nova/templates/id_rsa":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"d805e0208a7ad53535bfc83f1a1c01bbcf79a6bd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN RSA PRIVATE KEY-----"},{"line_number":2,"context_line":"MIIEowIBAAKCAQEAm+A2HZ9ItrjXs4nKDZkc7Kfuwa9PPP32bKgni+LxGSADKVrU"},{"line_number":3,"context_line":"YPSgyiC3KsfLTaU8DxxK+f2t3I8dbZiY3z4OL/GFm0c9xk01kujdMTOSo7C8VRle"},{"line_number":4,"context_line":"4iFEd8Y46e3g39tQ7PxRKvSSBsYwXeeOrnhZ8POeDuSmRgoCXoqXA1M44nIk3XU4"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da0c15f0_b98ab2bd","line":1,"range":{"start_line":1,"start_character":15,"end_line":1,"end_character":22},"updated":"2016-03-27 05:54:59.000000000","message":"Agreed.  Could ssh-keygen or Ansible\u0027s authorized_key module or the generate_ssh_key option with the “user” module be used to generate the SSH key securely ?\n\nhttp://docs.ansible.com/ansible/authorized_key_module.html\nhttp://docs.ansible.com/ansible/user_module.html","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"a58ee6e14f9374d178cfa2e07e903175a4b9b483","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN RSA PRIVATE KEY-----"},{"line_number":2,"context_line":"MIIEowIBAAKCAQEAm+A2HZ9ItrjXs4nKDZkc7Kfuwa9PPP32bKgni+LxGSADKVrU"},{"line_number":3,"context_line":"YPSgyiC3KsfLTaU8DxxK+f2t3I8dbZiY3z4OL/GFm0c9xk01kujdMTOSo7C8VRle"},{"line_number":4,"context_line":"4iFEd8Y46e3g39tQ7PxRKvSSBsYwXeeOrnhZ8POeDuSmRgoCXoqXA1M44nIk3XU4"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da0c15f0_32d7d8c0","line":1,"updated":"2016-03-27 14:11:51.000000000","message":"Steve,\nI will make this configurable. \n\nVikram,\nthat do not work. remember that the key need put into a docker container, event when the container is started. there is no change to use ansible module(means ssh into the container)","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"7df4682640c0f88ce9f34593c245a32fcce0c938","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN RSA PRIVATE KEY-----"},{"line_number":2,"context_line":"MIIEowIBAAKCAQEAm+A2HZ9ItrjXs4nKDZkc7Kfuwa9PPP32bKgni+LxGSADKVrU"},{"line_number":3,"context_line":"YPSgyiC3KsfLTaU8DxxK+f2t3I8dbZiY3z4OL/GFm0c9xk01kujdMTOSo7C8VRle"},{"line_number":4,"context_line":"4iFEd8Y46e3g39tQ7PxRKvSSBsYwXeeOrnhZ8POeDuSmRgoCXoqXA1M44nIk3XU4"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da0c15f0_990fee2d","line":1,"updated":"2016-03-27 03:29:54.000000000","message":"absolutely not.  this needs to be generated in some way, possibly via a predeployment playbook.","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"77c634e3efd661dca580017fbc5f10285de43cd3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN RSA PRIVATE KEY-----"},{"line_number":2,"context_line":"MIIEowIBAAKCAQEAm+A2HZ9ItrjXs4nKDZkc7Kfuwa9PPP32bKgni+LxGSADKVrU"},{"line_number":3,"context_line":"YPSgyiC3KsfLTaU8DxxK+f2t3I8dbZiY3z4OL/GFm0c9xk01kujdMTOSo7C8VRle"},{"line_number":4,"context_line":"4iFEd8Y46e3g39tQ7PxRKvSSBsYwXeeOrnhZ8POeDuSmRgoCXoqXA1M44nIk3XU4"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"da0c15f0_e3e0f0fc","line":1,"in_reply_to":"da0c15f0_32d7d8c0","updated":"2016-03-27 18:45:45.000000000","message":"Thanks for the explanation Jeffrey!  Yes, it would be nice if this is configurable.","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"}],"ansible/roles/nova/templates/id_rsa.pub":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"7df4682640c0f88ce9f34593c245a32fcce0c938","unresolved":false,"context_lines":[{"line_number":1,"context_line":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCb4DYdn0i2uNezicoNmRzsp+7Br088/fZsqCeL4vEZIAMpWtRg9KDKILcqx8tNpTwPHEr5/a3cjx1tmJjfPg4v8YWbRz3GTTWS6N0xM5KjsLxVGV7iIUR3xjjp7eDf21Ds/FEq9JIGxjBd546ueFnw854O5KZGCgJeipcDUzjiciTddTjmw4sRyAAI4bSrTQTLj9joWzjQX6AAE4czUJTklFydJmDqU5FcbiasQwu5XJ2gVA36dh0+t/lAQ4QLAvZzPHSVsGEPEjIdBRC6zJbGpv2ZsdS3IeDAHDj+HoC3i+Xo5T9IvFKKwjGeXZ4YyOO8nbNkpGdzlZveL/c3VEKh jeffrey@jeffrey-lenovo"}],"source_content_type":"application/x-mspublisher","patch_set":3,"id":"da0c15f0_f91eea61","line":1,"updated":"2016-03-27 03:29:54.000000000","message":"ditto","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"}],"ansible/roles/nova/templates/nova-ssh.json.j2":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"7df4682640c0f88ce9f34593c245a32fcce0c938","unresolved":false,"context_lines":[{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        },"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/id_rsa\","},{"line_number":18,"context_line":"            \"dest\": \"/var/lib/nova/.ssh/id_rsa\","},{"line_number":19,"context_line":"            \"owner\": \"nova\","},{"line_number":20,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_3927c2b7","line":17,"updated":"2016-03-27 03:29:54.000000000","message":"no","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"7df4682640c0f88ce9f34593c245a32fcce0c938","unresolved":false,"context_lines":[{"line_number":20,"context_line":"            \"perm\": \"0600\""},{"line_number":21,"context_line":"        },"},{"line_number":22,"context_line":"        {"},{"line_number":23,"context_line":"            \"source\": \"{{ container_config_directory }}/id_rsa.pub\","},{"line_number":24,"context_line":"            \"dest\": \"/var/lib/nova/.ssh/authorized_keys\","},{"line_number":25,"context_line":"            \"owner\": \"nova\","},{"line_number":26,"context_line":"            \"perm\": \"0600\""}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_192abe7e","line":23,"updated":"2016-03-27 03:29:54.000000000","message":"no, unless this is generated on the fly.","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"}],"docker/nova/nova-compute/extend_start.sh":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"d805e0208a7ad53535bfc83f1a1c01bbcf79a6bd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"# of the KOLLA_BOOTSTRAP variable being set, including empty."},{"line_number":5,"context_line":"if [[ \"${!KOLLA_BOOTSTRAP[@]}\" ]]; then"},{"line_number":6,"context_line":"    sudo chown nova: /var/lib/nova/"},{"line_number":7,"context_line":"    mkdir -p /var/lib/nova/instances /var/lib/nova/.ssh"},{"line_number":8,"context_line":"    # Only update permissions if permissions need to be updated"},{"line_number":9,"context_line":"    if [[ $(stat -c %U:%G /var/lib/nova/instances) !\u003d \"nova:nova\" ]]; then"},{"line_number":10,"context_line":"        sudo chown nova: /var/lib/nova/instances"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da0c15f0_796e5a02","line":7,"range":{"start_line":7,"start_character":51,"end_line":7,"end_character":55},"updated":"2016-03-27 05:54:59.000000000","message":"I have seen SSH has issues if the .ssh directory does not have 700 permissions. Shouldn\u0027t the permissions of  /var/lib/nova/.ssh  be changed to 700 here after creating it ?\n\n  chmod 700 /var/lib/nova/.ssh","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"a58ee6e14f9374d178cfa2e07e903175a4b9b483","unresolved":false,"context_lines":[{"line_number":4,"context_line":"# of the KOLLA_BOOTSTRAP variable being set, including empty."},{"line_number":5,"context_line":"if [[ \"${!KOLLA_BOOTSTRAP[@]}\" ]]; then"},{"line_number":6,"context_line":"    sudo chown nova: /var/lib/nova/"},{"line_number":7,"context_line":"    mkdir -p /var/lib/nova/instances /var/lib/nova/.ssh"},{"line_number":8,"context_line":"    # Only update permissions if permissions need to be updated"},{"line_number":9,"context_line":"    if [[ $(stat -c %U:%G /var/lib/nova/instances) !\u003d \"nova:nova\" ]]; then"},{"line_number":10,"context_line":"        sudo chown nova: /var/lib/nova/instances"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da0c15f0_92e6a4b2","line":7,"updated":"2016-03-27 14:11:51.000000000","message":"the .ssh folder do not have this restrict.\n\nthe id_rsa key has a such restrict.","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"77c634e3efd661dca580017fbc5f10285de43cd3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"# of the KOLLA_BOOTSTRAP variable being set, including empty."},{"line_number":5,"context_line":"if [[ \"${!KOLLA_BOOTSTRAP[@]}\" ]]; then"},{"line_number":6,"context_line":"    sudo chown nova: /var/lib/nova/"},{"line_number":7,"context_line":"    mkdir -p /var/lib/nova/instances /var/lib/nova/.ssh"},{"line_number":8,"context_line":"    # Only update permissions if permissions need to be updated"},{"line_number":9,"context_line":"    if [[ $(stat -c %U:%G /var/lib/nova/instances) !\u003d \"nova:nova\" ]]; then"},{"line_number":10,"context_line":"        sudo chown nova: /var/lib/nova/instances"}],"source_content_type":"text/x-sh","patch_set":3,"id":"da0c15f0_83f2d4d0","line":7,"in_reply_to":"da0c15f0_92e6a4b2","updated":"2016-03-27 18:45:45.000000000","message":"Thanks for the explanation Jeffrey!","commit_id":"dd8b84710a4ac3e9d26a247264bc2079ccf9ba0a"}],"docker/nova/nova-ssh/Dockerfile.j2":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"f32e4c1acd5c478e756b65efab02db4374232eed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ba0121b8_d366a328","line":24,"updated":"2016-04-02 03:37:54.000000000","message":"Isn\u0027t droproot (USER nova) needed for this container ?","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"ec8c82e96a63cea4fc2c450e3b090c127e0fd900","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ba0121b8_4aaf757d","line":24,"in_reply_to":"ba0121b8_d366a328","updated":"2016-04-02 12:03:37.000000000","message":"run the sshd in a normal user may not easy and need more work.\nmay need more work.","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"}],"requirements.txt":[{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"12ba9e3e1aa7e09c387cf636e537dfdedac2f203","unresolved":false,"context_lines":[{"line_number":11,"context_line":"graphviz\u003e\u003d0.4.0 # MIT License"},{"line_number":12,"context_line":"beautifulsoup4 # MIT"},{"line_number":13,"context_line":"setuptools\u003e\u003d16.0 # PSF/ZPL"},{"line_number":14,"context_line":"pycrypto\u003e\u003d2.6  # Public Domain"}],"source_content_type":"text/plain","patch_set":6,"id":"ba0121b8_aa9bb171","line":14,"updated":"2016-04-02 11:56:38.000000000","message":"I do not find the deprecated info. Do you have any clue?\n\nbtw, I do not find the way to generate RSA key pair by using cryptography.","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"112625d8e92432b527cb686198ee90c4edfb72d4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"graphviz\u003e\u003d0.4.0 # MIT License"},{"line_number":12,"context_line":"beautifulsoup4 # MIT"},{"line_number":13,"context_line":"setuptools\u003e\u003d16.0 # PSF/ZPL"},{"line_number":14,"context_line":"pycrypto\u003e\u003d2.6  # Public Domain"}],"source_content_type":"text/plain","patch_set":6,"id":"ba0121b8_9e2efdf8","line":14,"updated":"2016-04-01 19:34:15.000000000","message":"pycrypto is deprecated upstream IIRC.  I believe there is a replacement called cryptography.  Please file a tech debt bug so we can sort this out in either newton or the rcs.","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"2227d7dd08add108c8a4629ed9ac9f265e95c136","unresolved":false,"context_lines":[{"line_number":11,"context_line":"graphviz\u003e\u003d0.4.0 # MIT License"},{"line_number":12,"context_line":"beautifulsoup4 # MIT"},{"line_number":13,"context_line":"setuptools\u003e\u003d16.0 # PSF/ZPL"},{"line_number":14,"context_line":"pycrypto\u003e\u003d2.6  # Public Domain"}],"source_content_type":"text/plain","patch_set":6,"id":"ba0121b8_c768938a","line":14,"in_reply_to":"ba0121b8_5e3d73ba","updated":"2016-04-03 07:21:02.000000000","message":"In the future, the pycrypto will be drop and use cryptotodome instead.\n\nhere is the comments in the `global-requirements.txt` file.\n\n\u003e # NOTE(dims): pysaml 4.0.3 uses pycryptodome instead of pycrypto, for mitaka\n\u003e # we cannot switch to pycryptodome as many projects are likely to break. So\n\u003e # we should block versions higher then 4.0.2. Also, once all projects and\n\u003e # dependencies like paramiko switch to pycryptodome, we should revisit this\n\u003e # and fully switch over to pycryptodome and stop using pycrypto\n\n\nSo I think we should not move to pycrytodome until it is added to the global-requirements.txt.\nJust leave this pycrypto here now.","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"bab3df11805f08bab4d7115f730fe536a7fdf15a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"graphviz\u003e\u003d0.4.0 # MIT License"},{"line_number":12,"context_line":"beautifulsoup4 # MIT"},{"line_number":13,"context_line":"setuptools\u003e\u003d16.0 # PSF/ZPL"},{"line_number":14,"context_line":"pycrypto\u003e\u003d2.6  # Public Domain"}],"source_content_type":"text/plain","patch_set":6,"id":"ba0121b8_5e3d73ba","line":14,"in_reply_to":"ba0121b8_aa9bb171","updated":"2016-04-02 16:42:17.000000000","message":"I found this mail upstream about pycrypto replaced with pycryptodome or pyca/cryptography.\n\n\npycryptodome:\nhttp://lists.openstack.org/pipermail/openstack-dev/2016-February/086509.html\n\n\npyca/cryptography:\nhttp://lists.openstack.org/pipermail/openstack-dev/2016-February/086586.html\n\n\nI see pycrypto has not been developed since 2014.\nhttps://pypi.python.org/pypi/pycrypto\nhttps://github.com/dlitz/pycrypto","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"99966624d90ab0f16ca55bccded4e74b1a37af14","unresolved":false,"context_lines":[{"line_number":11,"context_line":"graphviz\u003e\u003d0.4.0 # MIT License"},{"line_number":12,"context_line":"beautifulsoup4 # MIT"},{"line_number":13,"context_line":"setuptools\u003e\u003d16.0 # PSF/ZPL"},{"line_number":14,"context_line":"pycrypto\u003e\u003d2.6  # Public Domain"}],"source_content_type":"text/plain","patch_set":6,"id":"ba0121b8_94fd2071","line":14,"in_reply_to":"ba0121b8_c768938a","updated":"2016-04-04 00:55:26.000000000","message":"Cool, pycrypto is fine and can be changed later if / when needed.","commit_id":"ece798e489a81d28adf260909d19640abaf2aacd"}]}
