)]}'
{"specs/liberty/approved/libvirt-set-admin-password.rst":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e8de85055acadcc663ad4f90dd268ca43f92f202","unresolved":false,"context_lines":[{"line_number":47,"context_line":"------------"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"An already implemented feature \"inject_password\" is able to achieve"},{"line_number":50,"context_line":"this work when the virtual machine is booting."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"},{"line_number":53,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_e9ce7159","line":50,"updated":"2015-06-02 09:59:56.000000000","message":"Should describe why that\u0027s not really an viable alternative....\n\neg The use case for this API is to allow an admin to re-gain control over an already running guest for which they have lost the password, or for an admin to bulk change the passwords across all their running guests, without having to login to the console of each guest manually/individually. The inject password feature doesn\u0027t really satisfy that.","commit_id":"c0fd09d5a8d4d6648bd1bf1f2d2ffbb84d536f34"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"85c67496ccfb78ee0ee8022338eaff83b500acd8","unresolved":false,"context_lines":[{"line_number":47,"context_line":"------------"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"An already implemented feature \"inject_password\" is able to achieve"},{"line_number":50,"context_line":"this work when the virtual machine is booting."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Data model impact"},{"line_number":53,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5afe65bd_7da0fbf4","line":50,"in_reply_to":"5afe65bd_e9ce7159","updated":"2015-06-02 12:02:28.000000000","message":"I will add a note about this case. thanks","commit_id":"c0fd09d5a8d4d6648bd1bf1f2d2ffbb84d536f34"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"3b319dcfecffe081030e6e4c6a45a0f91166da79","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Most of the change will be done on the libvirt driver itself. For"},{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_279b6274","line":38,"updated":"2015-06-08 10:30:25.000000000","message":"s/on the/in the/","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"5bc351f205948e4ae6d20d007ed7126c82697b9e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Most of the change will be done on the libvirt driver itself. For"},{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_6594afe1","line":38,"in_reply_to":"3afb71cf_279b6274","updated":"2015-06-08 12:37:59.000000000","message":"Done","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"3b319dcfecffe081030e6e4c6a45a0f91166da79","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The end user will have to install a qemu gest agent to take part of"},{"line_number":79,"context_line":"this feature \u0027qemu-guest-agent\u0027."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":82,"context_line":"property. This is primarily a documentation task."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_27eda2ef","line":79,"updated":"2015-06-08 10:30:25.000000000","message":"Minor nit, I might rephrase this as:\n\nTo take advantage of this feature, the end user will have to:\n\n  (a) Configure[1] the libvirt guest XML to  create a \u0027virtio\u0027 serial port \n      with special name \u0027org.qemu.guest_agent.0\u0027:\n\n    \u003cchannel type\u003d\u0027unix\u0027\u003e\n       \u003csource mode\u003d\u0027bind\u0027 path\u003d\u0027/var/lib/libvirt/qemu/f20x86_64.agent\u0027/\u003e\n       \u003ctarget type\u003d\u0027virtio\u0027 name\u003d\u0027org.qemu.guest_agent.0\u0027/\u003e\n    \u003c/channel\u003e\n\n\n  (b) Install QEMU Guest Agent daemon program inside the guest. \n\n\n\n[1] http://wiki.libvirt.org/page/Qemu_guest_agent","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"5bc351f205948e4ae6d20d007ed7126c82697b9e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The end user will have to install a qemu gest agent to take part of"},{"line_number":79,"context_line":"this feature \u0027qemu-guest-agent\u0027."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":82,"context_line":"property. This is primarily a documentation task."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_e5e89f7e","line":79,"in_reply_to":"3afb71cf_27eda2ef","updated":"2015-06-08 12:37:59.000000000","message":"I\u0027m not sure we really need the case (a). We already configure the domain to use sock with guest_agent on channel \u00270\u0027 and we do not expect the user to configure a specific channel on the guest qemu agent.\n\nDoes it make sense ?","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"19533de43574f9fffbc6783d36380dd5b488c69b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The end user will have to install a qemu gest agent to take part of"},{"line_number":79,"context_line":"this feature \u0027qemu-guest-agent\u0027."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":82,"context_line":"property. This is primarily a documentation task."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_c85a5a2a","line":79,"in_reply_to":"3afb71cf_e5e89f7e","updated":"2015-06-08 12:46:25.000000000","message":"Ah, thanks for correcting me. I was hesitating whether to write point (a) or not. Sure, you can omit that point.","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"3b319dcfecffe081030e6e4c6a45a0f91166da79","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":82,"context_line":"property. This is primarily a documentation task."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Performance Impact"},{"line_number":85,"context_line":"------------------"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_41c52e3a","line":83,"updated":"2015-06-08 10:30:25.000000000","message":"So, this means, you may have to add the DocImpact flag in the commit message, with a simple one-liner test, to make Documentation writers lives a bit easier.","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"5bc351f205948e4ae6d20d007ed7126c82697b9e","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":82,"context_line":"property. This is primarily a documentation task."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Performance Impact"},{"line_number":85,"context_line":"------------------"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3afb71cf_e59f7f01","line":83,"in_reply_to":"3afb71cf_41c52e3a","updated":"2015-06-08 12:37:59.000000000","message":"Yes i will add the tag in commits.","commit_id":"8169cdcae30d9ec318ce9335938d56e2cb0a17f0"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"ffcadd64370200156a8feec4d9cb14c4daaa43a4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_34d4c81e","line":42,"updated":"2015-06-15 20:26:00.000000000","message":"I think it would be strange to introduce yet another image property simply for this post boot command.  Could we instead modify the root-password CLI / API to take an optional --user parameter?","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"ac9bba0e5dcfd8cad372b0a9eb99a65683e634d2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_833b03d1","line":42,"in_reply_to":"fa32b979_34d4c81e","updated":"2015-06-16 08:51:15.000000000","message":"I don\u0027t think that\u0027s a mutually exclusive suggestion. The benefit of having the image property is that apps using the API for automation purposes don\u0027t need to remember the username themselves, so I think the image property is worthwhile for that. Being able to specify a username on the cli makes the API much more general purpose, so that\u0027s useful too. For sake of keeping this spec focused on feature parity with existing impls though, I don\u0027t think we should talk about API extensions here - we should focus on implementing the current API design.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"356842f23a3fbcb1d83e0d438b042f1d0f81303e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_a8a274fb","line":42,"in_reply_to":"fa32b979_4cae6399","updated":"2015-06-17 05:01:46.000000000","message":"I don\u0027t love the proliferation of image properties either, but the name of the super user in the image is clearly a property of the image. In fact, its possible that the person who boots the image may not know the username? I\u0027m not sure how they log in if that\u0027s the case though.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"368115d15f2a119494f3439bbd7cb4f7b23f4536","unresolved":false,"context_lines":[{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_4cae6399","line":42,"in_reply_to":"fa32b979_833b03d1","updated":"2015-06-17 00:23:37.000000000","message":"I guess I was trying to avoid adding to the proliferation of image properties that we have now.  I\u0027d rather change the API even though I know that can be tedious.  Admins probably won\u0027t use this function that frequently anyway, so I\u0027d prefer to take the more long term fix.  But I guess the image property could deprecated and phased out over time too.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"45943cad7bdc59ea067cc80a83700e7256dcfd8e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"unix-like virtual machines user updated will be \"root\" and for Windows"},{"line_number":40,"context_line":"virtual machines user updated will be \"Administrator\". To handle the"},{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_fb911af2","line":42,"in_reply_to":"fa32b979_a8a274fb","updated":"2015-06-17 12:25:27.000000000","message":"I do not believe we can be responsible of a case where user do not know the administrator username of the image.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"356842f23a3fbcb1d83e0d438b042f1d0f81303e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_8884505e","line":44,"updated":"2015-06-17 05:01:46.000000000","message":"I like this change, but I\u0027d like to see more implementation details here. Does this feature depend on there being an agent running inside the guest? Is that agent implemented for Linux and Windows? If it doesn\u0027t use an agent, what form of magic does it use?","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"45943cad7bdc59ea067cc80a83700e7256dcfd8e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_dbf53657","line":44,"in_reply_to":"fa32b979_8884505e","updated":"2015-06-17 12:25:27.000000000","message":"- Yes a qemu guest agent needs to be installed and ready to run\n- Has Kashyap said it exists for both\n- Nothing magic, libvirt will return -1 with an error message to indicated that \"agent is not running\". An exception raised from nova, result an error for user.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"d5dcae2a83967298edbac2679778ace151fd7383","unresolved":false,"context_lines":[{"line_number":41,"context_line":"case where user with administrator privileges on Windows is not"},{"line_number":42,"context_line":"\"Administrator\" a new property \"os_admin_user\" will be introduced in"},{"line_number":43,"context_line":"image property to let users define who is the administrator."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_c3ceb62d","line":44,"in_reply_to":"fa32b979_8884505e","updated":"2015-06-17 08:11:51.000000000","message":"Yes, it\u0027s the QEMU guest agent that needs to run inside the geust, available for both Linux and Windows. How it operates is written here:\n\n   http://wiki.libvirt.org/page/Qemu_guest_agent\n   http://wiki.qemu.org/Features/QAPI/GuestAgent","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"39017651a7c5edca757f0566ba8ce95a2b213e13","unresolved":false,"context_lines":[{"line_number":60,"context_line":"REST API impact"},{"line_number":61,"context_line":"---------------"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"None"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Security impact"},{"line_number":66,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_fad3b1d3","line":63,"updated":"2015-06-22 10:02:19.000000000","message":"There are actually may password related API, including thing that happen during boot, and rebuild, etc. It would be good to be clear about the scope here.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"18a96418837c19956ab11fac11e243ba6b1f48c2","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":79,"context_line":"  inside the guest."},{"line_number":80,"context_line":"* The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":81,"context_line":"  property. This is primarily a documentation task and will be"},{"line_number":82,"context_line":"  notificed by a DocTag on commit messages."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_baf449cf","line":79,"updated":"2015-06-22 09:51:37.000000000","message":"Don\u0027t we need an image property to know about if the Guest Agent is installed. Maybe we have that already? Certainly XenAPI has that for its guest agent when doing this operation.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"275d68872ceb69275ba35407494c2197d07202b7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":79,"context_line":"  inside the guest."},{"line_number":80,"context_line":"* The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":81,"context_line":"  property. This is primarily a documentation task and will be"},{"line_number":82,"context_line":"  notificed by a DocTag on commit messages."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_c12fa786","line":79,"in_reply_to":"fa32b979_7a53213a","updated":"2015-06-23 10:25:17.000000000","message":"Right, thats the detail I feel was missing, cool.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7b7d919e9ee3753b876aeff38a57aa3344938ea3","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":79,"context_line":"  inside the guest."},{"line_number":80,"context_line":"* The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":81,"context_line":"  property. This is primarily a documentation task and will be"},{"line_number":82,"context_line":"  notificed by a DocTag on commit messages."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_7a53213a","line":79,"in_reply_to":"fa32b979_ba21a9fe","updated":"2015-06-22 10:06:59.000000000","message":"Libvirt will only try to use the guest agent, if it has been explicitly turned on in the XML config. The only way it will be turned on is if Nova had this image property set. Libvirt will also know whether the guest agent is actually running in the guest yet. Also note, we\u0027re not waiting for the guest agent to give us a password - we\u0027re instructing the guest agent to set the password.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5ae11d0b923d6cc8ad14ab3267c877ba51eeb974","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":79,"context_line":"  inside the guest."},{"line_number":80,"context_line":"* The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":81,"context_line":"  property. This is primarily a documentation task and will be"},{"line_number":82,"context_line":"  notificed by a DocTag on commit messages."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_ba21a9fe","line":79,"in_reply_to":"fa32b979_baf449cf","updated":"2015-06-22 09:59:59.000000000","message":"For more context, if during boot you have to wait for the guest agent to give you the password, if its not installed you might have to wait for some timeout value before completing the boot process.\n\nNow consider a windows image that runs sys prep before the guest agent can start. That timeout gets very big, very quickly.\n\nXenAPI works around this using image properties and config values to ensure you only look for the guest agent when it is present.\n\nIt would be nice to know this will not break things.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"5e02779dcdbc4bf1c55164823a916bc2a9831c0f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":79,"context_line":"  inside the guest."},{"line_number":80,"context_line":"* The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":81,"context_line":"  property. This is primarily a documentation task and will be"},{"line_number":82,"context_line":"  notificed by a DocTag on commit messages."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_ba3a0933","line":79,"in_reply_to":"fa32b979_baf449cf","updated":"2015-06-22 09:58:49.000000000","message":"We already have such an image property\n\nhttps://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L192","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"26205673da885504386c5f0df01334b4f7929cd7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"---------------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":79,"context_line":"  inside the guest."},{"line_number":80,"context_line":"* The end user will need to know about the \u0027os_admin_user\u0027 glance"},{"line_number":81,"context_line":"  property. This is primarily a documentation task and will be"},{"line_number":82,"context_line":"  notificed by a DocTag on commit messages."}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_2441c10b","line":79,"in_reply_to":"fa32b979_c12fa786","updated":"2015-06-23 10:46:12.000000000","message":"Ok I will add note about the image property that needs to be set for the image.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"ffcadd64370200156a8feec4d9cb14c4daaa43a4","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Implement method set_admin_password"},{"line_number":112,"context_line":"* Extend the method set_admin_password to read in image property for"},{"line_number":113,"context_line":"  specific admin user"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_14af4495","line":113,"updated":"2015-06-15 20:26:00.000000000","message":"Missing: you\u0027ll have to update one of the Glance metadata definition json files if you plan to introduce this new os_admin_user (although I\u0027d rather not introduce this at all)","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"ac9bba0e5dcfd8cad372b0a9eb99a65683e634d2","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Implement method set_admin_password"},{"line_number":112,"context_line":"* Extend the method set_admin_password to read in image property for"},{"line_number":113,"context_line":"  specific admin user"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_283536f6","line":113,"in_reply_to":"fa32b979_14af4495","updated":"2015-06-16 08:51:15.000000000","message":"No update to glance is required - it does not need to know about all the nova specific image metadata properties.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"368115d15f2a119494f3439bbd7cb4f7b23f4536","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Implement method set_admin_password"},{"line_number":112,"context_line":"* Extend the method set_admin_password to read in image property for"},{"line_number":113,"context_line":"  specific admin user"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_ec973746","line":113,"in_reply_to":"fa32b979_283536f6","updated":"2015-06-17 00:23:37.000000000","message":"It\u0027s not required, but useful.  Admins get a clearer picture of what properties can be set and how they affect things that way.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"45943cad7bdc59ea067cc80a83700e7256dcfd8e","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Implement method set_admin_password"},{"line_number":112,"context_line":"* Extend the method set_admin_password to read in image property for"},{"line_number":113,"context_line":"  specific admin user"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_5b77e6d2","line":113,"in_reply_to":"fa32b979_ec973746","updated":"2015-06-17 12:25:27.000000000","message":"ack","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"9180de9f758ebba3ecb39c6e68e2d130c26de447","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Libvirt 1.2.16"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Testing"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af86dd1_950023ac","line":118,"updated":"2015-06-12 21:27:14.000000000","message":"This is my only concern with the spec.  I can\u0027t find the minimum version we support atm, but if it\u0027s lower than this how do we reconcile that with this feature add.  How is a user to know whether or not the API will work for them?  And how will it be tested by Tempest?","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"31c9c41411929341a222930aa8a4637fd4f81b0c","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Libvirt 1.2.16"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Testing"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_2d701d72","line":118,"in_reply_to":"1af86dd1_950023ac","updated":"2015-06-15 08:34:54.000000000","message":"The feature simply won\u0027t work for them - they\u0027ll get an error. This is nothing new - plenty of stuff gives errors if used with a libvirt that is too old. Nova doesn\u0027t have any mechanism for reporting capability info to the user at this time, and solving that\u0027s outside the scope of this spec.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9ea086c5e8b40d62fc626782a6654f283996307a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"Dependencies"},{"line_number":116,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Libvirt 1.2.16"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Testing"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa32b979_ed1d55be","line":118,"in_reply_to":"fa32b979_2d701d72","updated":"2015-06-15 08:46:39.000000000","message":"Oops I did not noticed your comment Andrew, thanks Daniel to reply to him. As for other features like NUMA we will raise an exception to inform that the feature is not supported. I guess during the code review We can still talk about to add a log to also inform operator.","commit_id":"2b979a57fba7a421ab98270ddb15a65ad1d3cfcf"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5c102508b8658ba54e6e339750f1d845bd3278ed","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-set-admin-password"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova provides API to let users set an administrator password on a"},{"line_number":14,"context_line":"virtual machine already active. The purpose of this spec is to take"},{"line_number":15,"context_line":"advantage of the libvirt API set-user-password provided with version"},{"line_number":16,"context_line":"1.2.16 to implement that feature for Qemu/KVM users."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_6e4b5f5a","line":13,"updated":"2015-06-22 11:22:19.000000000","message":"s/provides API/provides an API/","commit_id":"adab6f9e3a8980ac152fa40352d9d215d5cdfc4c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5c102508b8658ba54e6e339750f1d845bd3278ed","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-set-admin-password"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova provides API to let users set an administrator password on a"},{"line_number":14,"context_line":"virtual machine already active. The purpose of this spec is to take"},{"line_number":15,"context_line":"advantage of the libvirt API set-user-password provided with version"},{"line_number":16,"context_line":"1.2.16 to implement that feature for Qemu/KVM users."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_4e777b9f","line":14,"updated":"2015-06-22 11:22:19.000000000","message":"s/already active/which is already active/","commit_id":"adab6f9e3a8980ac152fa40352d9d215d5cdfc4c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5c102508b8658ba54e6e339750f1d845bd3278ed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"----------"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Users want the ability to reset administrator password of an instance"},{"line_number":28,"context_line":"already active by using the command \"nova root-password \u003cinstance\u003e\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_eea44f09","line":28,"updated":"2015-06-22 11:22:19.000000000","message":"s/already active/which is already active/","commit_id":"adab6f9e3a8980ac152fa40352d9d215d5cdfc4c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5c102508b8658ba54e6e339750f1d845bd3278ed","unresolved":false,"context_lines":[{"line_number":44,"context_line":"To give more flexibility and provide a way for users to change"},{"line_number":45,"context_line":"administrator password of a different username. A new image property"},{"line_number":46,"context_line":"\"os_admin_user\" will be introduced to let users define who is the"},{"line_number":47,"context_line":"administrator username to update."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_aeaf27e2","line":47,"updated":"2015-06-22 11:22:19.000000000","message":"Thanks.\n\nI feel like we should still say something like:\n\n\"This feature requires that the image have the qemu guest agent installed to function\" somewhere here, but I acknowledge that it is also documented on line 82.","commit_id":"adab6f9e3a8980ac152fa40352d9d215d5cdfc4c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"99900c4aef16c74f0251c1cdcb1dd758fa81e0ba","unresolved":false,"context_lines":[{"line_number":44,"context_line":"To give more flexibility and provide a way for users to change"},{"line_number":45,"context_line":"administrator password of a different username. A new image property"},{"line_number":46,"context_line":"\"os_admin_user\" will be introduced to let users define who is the"},{"line_number":47,"context_line":"administrator username to update."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_e90be97b","line":47,"in_reply_to":"fa32b979_aeaf27e2","updated":"2015-06-22 11:53:06.000000000","message":"addressed","commit_id":"adab6f9e3a8980ac152fa40352d9d215d5cdfc4c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5c102508b8658ba54e6e339750f1d845bd3278ed","unresolved":false,"context_lines":[{"line_number":80,"context_line":"---------------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":83,"context_line":"  inside the guest. Aavailable for both platforms."},{"line_number":84,"context_line":"* If the image request a different username to be updated, end user"},{"line_number":85,"context_line":"  will have to set property \u0027os_admin_user\u0027."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_2e823753","line":83,"updated":"2015-06-22 11:22:19.000000000","message":"s/Aavailable/Available/","commit_id":"adab6f9e3a8980ac152fa40352d9d215d5cdfc4c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c35786bcc5abc54d85b9bb999bc8a61deb6edd8e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"---------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* The end user will have to install a QEMU Guest Agent daemon program"},{"line_number":86,"context_line":"  inside the guest. Available for both platforms."},{"line_number":87,"context_line":"* If the image request a different username to be updated, end user"},{"line_number":88,"context_line":"  will have to correctly set image property \u0027os_admin_user\u0027."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_819e7fb6","line":86,"updated":"2015-06-23 10:28:50.000000000","message":"Can we please specify the image property that danpb mentioned would enable this to work?","commit_id":"492d2835e2b14b0e3459fabd261c687c28322d19"}]}
