)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"08efd4e2fc6a10d1894ca26bed81ead8138b7990","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In order to pass an admin user mostly used for Windows to set"},{"line_number":10,"context_line":"the admin password, a new image property has been introduced"},{"line_number":11,"context_line":"os_admin_user."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I215bb82668df074141397909b58fa9189f46b4da"},{"line_number":14,"context_line":"Implement: blueprint libvirt-set-admin-password"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a016987_df1a197c","line":12,"updated":"2015-05-27 16:04:37.000000000","message":"A question may directly related: \n\ndo we need to use DocImpact here? \nor where can we find this kind of \u0027image\u0027 settings instead of let user guess ?","commit_id":"619577dbe24f5b871f26a02e3e209950e7ec6c71"}],"nova/objects/image_meta.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"ef578618ea3713d13c080a9f7554950f9e4e60d7","unresolved":false,"context_lines":[{"line_number":269,"context_line":"        # integer value 1"},{"line_number":270,"context_line":"        \u0027img_version\u0027: fields.IntegerField(),"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        # string of username with admin privileges"},{"line_number":273,"context_line":"        \u0027os_admin_user\u0027: fields.StringField(),"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        # string of boot time command line arguments for the guest kernel"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_ec7ed469","line":272,"updated":"2015-06-25 22:23:01.000000000","message":"Don\u0027t think its necessary to have \"string of\".  Just state \"name of a user with admin privileges\"","commit_id":"8d3fbfc1d4d7555bc9e9e7860f9b8f880fa2ce9a"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"41e4c64d0df769f3550c2f3a01e6453d32dd3388","unresolved":false,"context_lines":[{"line_number":269,"context_line":"        # integer value 1"},{"line_number":270,"context_line":"        \u0027img_version\u0027: fields.IntegerField(),"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        # string of username with admin privileges"},{"line_number":273,"context_line":"        \u0027os_admin_user\u0027: fields.StringField(),"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        # string of boot time command line arguments for the guest kernel"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_1fd9c3f3","line":272,"updated":"2015-06-29 17:08:14.000000000","message":"This still sounds awkward.","commit_id":"9482d40c8b8d6d081a434d4ac92bffaba2902a6e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"9a6f530c72ef3b68c9354c6df4c8bd91c8add064","unresolved":false,"context_lines":[{"line_number":269,"context_line":"        # integer value 1"},{"line_number":270,"context_line":"        \u0027img_version\u0027: fields.IntegerField(),"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        # string of username with admin privileges"},{"line_number":273,"context_line":"        \u0027os_admin_user\u0027: fields.StringField(),"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        # string of boot time command line arguments for the guest kernel"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_42577202","line":272,"in_reply_to":"ba3cc151_1fd9c3f3","updated":"2015-06-29 17:12:55.000000000","message":"Honestly, bike-shedding over the text of a comment like this rather a waste of time. It is clear enough what this means as is.","commit_id":"9482d40c8b8d6d081a434d4ac92bffaba2902a6e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7d61f573599872cde7985534f879152ff2e6ff37","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027properties\u0027: [(\u00271.0\u0027, \u00271.0\u0027),"},{"line_number":65,"context_line":"                       (\u00271.1\u0027, \u00271.1\u0027),"},{"line_number":66,"context_line":"                       (\u00271.2\u0027, \u00271.2\u0027),"},{"line_number":67,"context_line":"                       (\u00271.3\u0027, \u00271.3\u0027),"},{"line_number":68,"context_line":"                       ],"},{"line_number":69,"context_line":"    }"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_abf883e6","line":67,"updated":"2015-08-04 11:37:18.000000000","message":"I think you missed this bit?","commit_id":"640e87f541d93e9fbf4d2cc9974e2e6a405b660a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ef64827744702083a3fd66837bdb96ace58b2f47","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027properties\u0027: [(\u00271.0\u0027, \u00271.0\u0027),"},{"line_number":65,"context_line":"                       (\u00271.1\u0027, \u00271.1\u0027),"},{"line_number":66,"context_line":"                       (\u00271.2\u0027, \u00271.2\u0027),"},{"line_number":67,"context_line":"                       (\u00271.3\u0027, \u00271.3\u0027),"},{"line_number":68,"context_line":"                       ],"},{"line_number":69,"context_line":"    }"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_fd93acf8","line":67,"in_reply_to":"1a4dcd0f_abf883e6","updated":"2015-08-04 12:35:55.000000000","message":"Right, will push an update shortly","commit_id":"640e87f541d93e9fbf4d2cc9974e2e6a405b660a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"67ee1e26e078d66e59df156267f2d0c6e632b39a","unresolved":false,"context_lines":[{"line_number":2596,"context_line":""},{"line_number":2597,"context_line":"        image_meta \u003d utils.get_image_from_system_metadata("},{"line_number":2598,"context_line":"            instance.system_metadata)"},{"line_number":2599,"context_line":"        img_meta_prop \u003d image_meta.get(\u0027properties\u0027, {}) if image_meta else {}"},{"line_number":2600,"context_line":"        user \u003d img_meta_prop.get(\"os_admin_user\")"},{"line_number":2601,"context_line":""},{"line_number":2602,"context_line":"        if not user:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_83c45440","line":2599,"updated":"2015-05-27 13:14:40.000000000","message":"get_image_from_system_metadata always returns a dict with a \u0027properties\u0027 key, so the if/else at the end of the line isn\u0027t really necessary.","commit_id":"619577dbe24f5b871f26a02e3e209950e7ec6c71"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"08efd4e2fc6a10d1894ca26bed81ead8138b7990","unresolved":false,"context_lines":[{"line_number":2597,"context_line":"        image_meta \u003d utils.get_image_from_system_metadata("},{"line_number":2598,"context_line":"            instance.system_metadata)"},{"line_number":2599,"context_line":"        img_meta_prop \u003d image_meta.get(\u0027properties\u0027, {}) if image_meta else {}"},{"line_number":2600,"context_line":"        user \u003d img_meta_prop.get(\"os_admin_user\")"},{"line_number":2601,"context_line":""},{"line_number":2602,"context_line":"        if not user:"},{"line_number":2603,"context_line":"            if instance.os_type \u003d\u003d \"windows\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_3f812d90","line":2600,"updated":"2015-05-27 16:04:37.000000000","message":"do we need to validate the user here? \nonly Administrator and root is allowed?","commit_id":"619577dbe24f5b871f26a02e3e209950e7ec6c71"}]}
