)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7cd93087c44416d3b074386ae3f4cd9ce354c247","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Resizing an instance on KVM currently requires passwordless ssh access "},{"line_number":10,"context_line":"between all compute nodes. This is not necessarily needed for resizing "},{"line_number":11,"context_line":"an instance where the underlying storage is shared. This spec therefore "},{"line_number":12,"context_line":"addresses a solution to avoid having a single ssh key deployed on all "},{"line_number":13,"context_line":"compute nodes which could be a security risk or a company policy issue."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ifc95c5d1494a44eb42355556051628b2ef36fbcd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_28093e30","line":12,"updated":"2018-03-27 20:51:55.000000000","message":"trim the whitespace at the end of these commit message lines, please.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"b9f0d2563be33dfc73666fc442a93b5cf76e407a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Resizing an instance on KVM currently requires passwordless ssh access "},{"line_number":10,"context_line":"between all compute nodes. This is not necessarily needed for resizing "},{"line_number":11,"context_line":"an instance where the underlying storage is shared. This spec therefore "},{"line_number":12,"context_line":"addresses a solution to avoid having a single ssh key deployed on all "},{"line_number":13,"context_line":"compute nodes which could be a security risk or a company policy issue."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ifc95c5d1494a44eb42355556051628b2ef36fbcd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf659307_3475e532","line":12,"in_reply_to":"bf659307_28093e30","updated":"2018-03-29 07:42:56.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"}],"specs/rocky/approved/resize-on-shared-storage-without-ssh-keys.rst":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"a99b88e62262ea6538c4cff9fa3d2196e072a3b5","unresolved":false,"context_lines":[{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Having a single ssh key deployed across all compute nodes can be a security"},{"line_number":34,"context_line":"risk: Let\u0027s assume an attacker managed to break out of it\u0027s guest and gained"},{"line_number":35,"context_line":"elevated permissions on the host system. In such a scenario any compute node"},{"line_number":36,"context_line":"in the same region or maybe even in the same availability_zone has to be"},{"line_number":37,"context_line":"considered as potentially contaminated."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_285b7e54","line":34,"range":{"start_line":34,"start_character":55,"end_line":34,"end_character":59},"updated":"2018-03-27 20:36:29.000000000","message":"its","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Having a single ssh key deployed across all compute nodes can be a security"},{"line_number":34,"context_line":"risk: Let\u0027s assume an attacker managed to break out of it\u0027s guest and gained"},{"line_number":35,"context_line":"elevated permissions on the host system. In such a scenario any compute node"},{"line_number":36,"context_line":"in the same region or maybe even in the same availability_zone has to be"},{"line_number":37,"context_line":"considered as potentially contaminated."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_dc00766a","line":34,"range":{"start_line":34,"start_character":55,"end_line":34,"end_character":59},"in_reply_to":"bf659307_285b7e54","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"in the same region or maybe even in the same availability_zone has to be"},{"line_number":37,"context_line":"considered as potentially contaminated."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"With that in mind companies with a very strict security policy may do not"},{"line_number":40,"context_line":"allow deploying a single ssh key against a large set of compute nodes."},{"line_number":41,"context_line":"Such a company therefore would not be able to use the instance resizing"},{"line_number":42,"context_line":"feature on it\u0027s KVM infrastructure at all. Allowing resizing on shared"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_88d3aa38","line":39,"range":{"start_line":39,"start_character":63,"end_line":39,"end_character":66},"updated":"2018-03-27 19:46:06.000000000","message":"s/may//","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"in the same region or maybe even in the same availability_zone has to be"},{"line_number":37,"context_line":"considered as potentially contaminated."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"With that in mind companies with a very strict security policy may do not"},{"line_number":40,"context_line":"allow deploying a single ssh key against a large set of compute nodes."},{"line_number":41,"context_line":"Such a company therefore would not be able to use the instance resizing"},{"line_number":42,"context_line":"feature on it\u0027s KVM infrastructure at all. Allowing resizing on shared"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_fc03fa71","line":39,"range":{"start_line":39,"start_character":63,"end_line":39,"end_character":66},"in_reply_to":"bf659307_88d3aa38","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"a99b88e62262ea6538c4cff9fa3d2196e072a3b5","unresolved":false,"context_lines":[{"line_number":39,"context_line":"With that in mind companies with a very strict security policy may do not"},{"line_number":40,"context_line":"allow deploying a single ssh key against a large set of compute nodes."},{"line_number":41,"context_line":"Such a company therefore would not be able to use the instance resizing"},{"line_number":42,"context_line":"feature on it\u0027s KVM infrastructure at all. Allowing resizing on shared"},{"line_number":43,"context_line":"storage without the need for common ssh keys will enable such companies"},{"line_number":44,"context_line":"from using this feature."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_483b52ea","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":15},"updated":"2018-03-27 20:36:29.000000000","message":"its","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":39,"context_line":"With that in mind companies with a very strict security policy may do not"},{"line_number":40,"context_line":"allow deploying a single ssh key against a large set of compute nodes."},{"line_number":41,"context_line":"Such a company therefore would not be able to use the instance resizing"},{"line_number":42,"context_line":"feature on it\u0027s KVM infrastructure at all. Allowing resizing on shared"},{"line_number":43,"context_line":"storage without the need for common ssh keys will enable such companies"},{"line_number":44,"context_line":"from using this feature."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_5cf46686","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":15},"in_reply_to":"bf659307_483b52ea","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Such a company therefore would not be able to use the instance resizing"},{"line_number":42,"context_line":"feature on it\u0027s KVM infrastructure at all. Allowing resizing on shared"},{"line_number":43,"context_line":"storage without the need for common ssh keys will enable such companies"},{"line_number":44,"context_line":"from using this feature."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_e816e6f1","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":10},"updated":"2018-03-27 19:46:06.000000000","message":"to use","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Such a company therefore would not be able to use the instance resizing"},{"line_number":42,"context_line":"feature on it\u0027s KVM infrastructure at all. Allowing resizing on shared"},{"line_number":43,"context_line":"storage without the need for common ssh keys will enable such companies"},{"line_number":44,"context_line":"from using this feature."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_1c2cae00","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":10},"in_reply_to":"bf659307_e816e6f1","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Each compute node should report where it saves instance disk files. This"},{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_6803b674","line":50,"updated":"2018-03-27 19:46:06.000000000","message":"Looking at the NFS CI job, the instances_path option doesn\u0027t mention anything about the host/IP:\n\nhttp://logs.openstack.org/23/549323/5/check/legacy-tempest-dsvm-full-devstack-plugin-nfs/4d798b1/logs/etc/nova/nova-cpu.conf.txt.gz\n\ninstances_path \u003d /opt/stack/data/nova/instances\n\nsame thing with the ceph job:\n\nhttp://logs.openstack.org/23/549323/5/check/legacy-tempest-dsvm-full-devstack-plugin-ceph/2385b7b/logs/etc/nova/nova-cpu.conf.txt.gz","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"7bd7823d084a5681b18b0b7b5b94215e28e44232","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Each compute node should report where it saves instance disk files. This"},{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_b774bb69","line":50,"in_reply_to":"bf659307_6803b674","updated":"2018-03-28 07:40:19.000000000","message":"agreed. that information is not available in instances_path. is there any other variable or way that can help to identify a shared storage?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"a99b88e62262ea6538c4cff9fa3d2196e072a3b5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_7ed28c5e","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":15},"updated":"2018-03-27 20:36:29.000000000","message":"danger: libvirt-specific info in the nova database?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"71784103418c27625c647ced45c396c8a8958fb6","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_f8aed296","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":15},"in_reply_to":"9f6a8fd7_d19e5153","updated":"2018-04-30 13:29:18.000000000","message":"That\u0027s a totally libvirt-specific method too.  And it\u0027s only used for image caching.  So no, it\u0027s not better.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"287fa30246108b65a3ea060a77878f5e4b2e4649","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_f8418d3a","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":15},"in_reply_to":"bf659307_372f4b40","updated":"2018-03-30 00:10:37.000000000","message":"I\u0027m not completely following this spec, so forgive me if this is out of line, but it sounds like you\u0027re saying you\u0027re going to store information about the shared storage to the nova database.  When that information comprises/includes something like a file system path to an NFS share, realize that that\u0027s meaningless to some platforms where the hypervisor \"software\" doesn\u0027t run on the compute node.  Or where NFS (or anything that looks like a path) isn\u0027t used for shared file systems.  If this kind of information is already being stored in the nova database (other than as a GIGO data blob at the behest of the virt driver) then \u0027tis for shame.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"7bd7823d084a5681b18b0b7b5b94215e28e44232","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_372f4b40","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":15},"in_reply_to":"bf659307_7ed28c5e","updated":"2018-03-28 07:40:19.000000000","message":"what do you understand exaclty by \"libvirt-specific\"?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":28168,"name":"Lars","email":"lars6wagner@gmail.com"},"change_message_id":"345a270c30db68a7b327ad77471083830d4a3dd8","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  for example could be the value of the ``instances_path`` config variable."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_d19e5153","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":15},"in_reply_to":"bf659307_f8418d3a","updated":"2018-04-30 09:12:48.000000000","message":"I totally agree that we shouldn\u0027t save this information in the nova database. An other option may be to get the compute nodes with the same shared storage by this function: https://github.com/openstack/nova/blob/45dfc7106ebb95bacc2464ff37f372aae785691d/nova/virt/storage_users.py#L75\nI\u0027m not sure if we can use this function in context of resize/migration workflow?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d74c91c22fcae975ec3a06153a04ae5d6c8f82d8","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* If no IP/Hostname is found in above variable it has to be assumed"},{"line_number":59,"context_line":"  that local storage from the compute node is being used. In that case the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_de29589b","line":56,"range":{"start_line":55,"start_character":19,"end_line":56,"end_character":11},"updated":"2018-03-27 21:11:55.000000000","message":"As Matt mentioned on L50, I haven\u0027t see that IP/hostname are part of the instances_path config variable. What am I missing?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"7bd7823d084a5681b18b0b7b5b94215e28e44232","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* The resizing routines will be adjusted to use above information from the"},{"line_number":53,"context_line":"  nova database instead of trying to find it out themselves via ssh. Finding"},{"line_number":54,"context_line":"  out if source and target host run on the same shared storage could be done"},{"line_number":55,"context_line":"  by comparing the IP/Hostname of the NFS share that is provided by above"},{"line_number":56,"context_line":"  variable."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* If no IP/Hostname is found in above variable it has to be assumed"},{"line_number":59,"context_line":"  that local storage from the compute node is being used. In that case the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_1713270f","line":56,"range":{"start_line":55,"start_character":19,"end_line":56,"end_character":11},"in_reply_to":"bf659307_de29589b","updated":"2018-03-28 07:40:19.000000000","message":"see comment in L50","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7cd93087c44416d3b074386ae3f4cd9ce354c247","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  Obviously the check if shared storage is in place or not can be avoided at"},{"line_number":62,"context_line":"  this point."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_3e5ad4f2","line":65,"range":{"start_line":64,"start_character":2,"end_line":65,"end_character":17},"updated":"2018-03-27 20:51:55.000000000","message":"why?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"7bd7823d084a5681b18b0b7b5b94215e28e44232","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  Obviously the check if shared storage is in place or not can be avoided at"},{"line_number":62,"context_line":"  this point."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_37d3cb62","line":65,"range":{"start_line":64,"start_character":2,"end_line":65,"end_character":17},"in_reply_to":"bf659307_3e5ad4f2","updated":"2018-03-28 07:40:19.000000000","message":"in my opinion the process that assigns a new host for the vm is the scheduler. at the time of writing this i thought its the nicer solution to have a new filter instead of some other code that can not be enabled/disabled by administrators easily. as this is a bit a specific scenario it may make sense to use a kind of \"opt-in\" configuration. do you believe this can be achieved even without a new filter? if so how?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7cd93087c44416d3b074386ae3f4cd9ce354c247","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_9e08c0d9","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"updated":"2018-03-27 20:51:55.000000000","message":"I\u0027m struggling to understand why the scheduler needs to be impacted at all by this proposed change?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"99daa4d86e68c80f92d893e6a30b267b86213d69","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_9b8c8180","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"5f7c97a3_dba999dd","updated":"2018-06-05 20:51:00.000000000","message":"More info on what\u0027s available so far in Rocky:\n\nhttps://docs.openstack.org/nova/latest/admin/configuration/schedulers.html#aggregates-in-placement","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4f838f9477949e5f164d9c382e491b64c5942269","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_dba999dd","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"9f6a8fd7_b1cf1d56","updated":"2018-06-05 20:48:18.000000000","message":"\u003e Doing this by host aggregates is a good idea, but involves manually\n \u003e assigning compute nodes to the corresponding host aggregates. Could\n \u003e this be further automated?\n\nLike this?\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/placement-mirror-host-aggregates.html","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"40090ce80b07707daef735ba678189bca689e136","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_bf63ed41","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"bf659307_7c9ff55e","updated":"2018-03-30 18:41:00.000000000","message":"Sorry, I should have been more clear. I understand the need to winnow the destination hosts to only those that are connected to the same shared storage pool. However, I am questioning the need to modify the scheduler code itself (by \"dynamically add above mentioned new filter\".\n\nUnless I am mistaken, this use case can be fulfilled with @dansmith\u0027s placement request filters work. The placement request filter would grab the aggregates the instance is associated with and add member_of\u003d\u003cUUID_OF_AGG\u003e to the placement request. \u003cUUID_OF_AGG\u003e is the UUID of the aggregate that the shared storage pool is a member of (and each compute host that that shared storage pool shares with is also a member of that aggregate).","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"7bd7823d084a5681b18b0b7b5b94215e28e44232","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_5c81c68e","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"bf659307_7c9ff55e","updated":"2018-03-28 07:40:19.000000000","message":"yes, the instance should be placed on a destination host which has the same underlying shared storage pool. if that pool is not available or full the migration should fail.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"babefa5bb081318f9cdcfc525960bb1def8feeda","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_7c9ff55e","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"bf659307_9e08c0d9","updated":"2018-03-27 21:29:57.000000000","message":"So the instance is placed on a destination host that\u0027s in the same storage pool, otherwise transferring the disk image is going to fail, right?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"7bd7823d084a5681b18b0b7b5b94215e28e44232","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_1726c7b8","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"bf659307_9e08c0d9","updated":"2018-03-28 07:40:19.000000000","message":"i don\u0027t know the nova internals good enough to decide whether it could be impacting the scheduler or not. i believed that any migration will go through the scheduler to get a new compute host with enough available resources assigned. is this not true?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":28168,"name":"Lars","email":"lars6wagner@gmail.com"},"change_message_id":"345a270c30db68a7b327ad77471083830d4a3dd8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Create a new scheduler filter that allows to filter hosts based on the same"},{"line_number":65,"context_line":"  shared storage."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* The resize request that is progressed through the scheduler needs to"},{"line_number":68,"context_line":"  dynamically add above mentioned new filter or this filter needs to be"},{"line_number":69,"context_line":"  configured as standard filter in such an environment."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f6a8fd7_b1cf1d56","line":69,"range":{"start_line":67,"start_character":2,"end_line":69,"end_character":55},"in_reply_to":"bf659307_bf63ed41","updated":"2018-04-30 09:12:48.000000000","message":"Doing this by host aggregates is a good idea, but involves manually assigning compute nodes to the corresponding host aggregates. Could this be further automated?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"A possible alternative would be to just add a flag to the resize request that"},{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_c877623a","line":74,"updated":"2018-03-27 19:46:06.000000000","message":"The resize server action is by default open to tenant users, who don\u0027t know if their instance is running a compute host with shared storage, or will be sent via the scheduler to another host that is on the same shared storage pool, so this doesn\u0027t really work for them. Admins can cold migrate (not resize) and instance and might know, but it\u0027s best to not require the API user to need to know this information.\n\nAlso, the evacuate action has an \"onSharedStorage\" parameter which was for the same idea, but removed in microversion 2.14 so we shouldn\u0027t re-introduce this type of API concept.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"f023e4786032080c22f68571e68cf22dd7a80cae","unresolved":false,"context_lines":[{"line_number":71,"context_line":"Alternatives"},{"line_number":72,"context_line":"------------"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"A possible alternative would be to just add a flag to the resize request that"},{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_e2cfccad","line":74,"in_reply_to":"bf659307_c877623a","updated":"2018-03-28 12:07:26.000000000","message":"that makes absolutely sense. we should not add an option to the resize api call that would allow users to choose. this must therefore be solved without user input. i will remove this as an alternative.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7cd93087c44416d3b074386ae3f4cd9ce354c247","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"A possible alternative would be to just add a flag to the resize request that"},{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_fef8dcc4","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":6},"updated":"2018-03-27 20:51:55.000000000","message":"storage","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"A possible alternative would be to just add a flag to the resize request that"},{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_dc35d647","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":6},"in_reply_to":"bf659307_fef8dcc4","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_a8654e47","line":78,"updated":"2018-03-27 19:46:06.000000000","message":"There are some other alternatives:\n\n1. The compute node resource providers in placement could be modeled in a shared storage pool aggregate. The nova-compute service would need to grow the understanding of shared storage aggregates in placement though. I think there is a blueprint for this but I\u0027m failing to find it. Likely something that could be discussed in the weekly nova scheduler team meeting:\n\nhttps://wiki.openstack.org/wiki/Meetings/NovaScheduler\n\n2. Use libvirt storage pools:\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/migrate-libvirt-volumes.html\n\nThat was approved in mitaka but never implemented (it got hung up on dependencies from what I can remember).\n\n--\n\nThis is also related, was approved, but not implemented:\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/implementation-of-remote-fs-driver-based-on-rsync-for-libvirt.html","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"f023e4786032080c22f68571e68cf22dd7a80cae","unresolved":false,"context_lines":[{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_22bce4b9","line":78,"in_reply_to":"bf659307_1e79102e","updated":"2018-03-28 12:07:26.000000000","message":"my knowledge to the internal nova components is very limited. therefore i do not understand what implications your statement will have. can you may further explain what a providertree is and how it could be used in this spec exactly?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"f023e4786032080c22f68571e68cf22dd7a80cae","unresolved":false,"context_lines":[{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_e2e02cfd","line":78,"in_reply_to":"bf659307_a8654e47","updated":"2018-03-28 12:07:26.000000000","message":"2 good alternatives i was not aware of. i will add those 2 to the spec. the third one you mentioned which was approved for liberty but never got implemented will most likely also need ssh keys deployed across all compute nodes. so i guess it wont be an option in this spec.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7cd93087c44416d3b074386ae3f4cd9ce354c247","unresolved":false,"context_lines":[{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_1e79102e","line":78,"in_reply_to":"bf659307_a8654e47","updated":"2018-03-27 20:51:55.000000000","message":"\u003e There are some other alternatives:\n \u003e \n \u003e 1. The compute node resource providers in placement could be\n \u003e modeled in a shared storage pool aggregate. The nova-compute\n \u003e service would need to grow the understanding of shared storage\n \u003e aggregates in placement though. I think there is a blueprint for\n \u003e this but I\u0027m failing to find it. Likely something that could be\n \u003e discussed in the weekly nova scheduler team meeting:\n \u003e \n \u003e https://wiki.openstack.org/wiki/Meetings/NovaScheduler\n\nNote that the ProviderTree already has knowledge of the resource providers that share resource with the compute node, so this is possible to do in the ProviderTree infrastructure.\n\nOf course, it would require a lot of things to be arranged properly, including the operator setting up the aggregates properly and applying the proper traits.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d06bcb3cc19f0cf425b3e43c668be0b82fa5f02","unresolved":false,"context_lines":[{"line_number":75,"context_line":"instructs the scheduler and any involved resize method to assume that shared"},{"line_number":76,"context_line":"stored is being used. Such an implementation would require less effort and"},{"line_number":77,"context_line":"is more equivalent to the way migrations on shared storage are happening."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_48b83275","line":78,"in_reply_to":"bf659307_a8654e47","updated":"2018-03-27 19:48:16.000000000","message":"Reference for #1:\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/generic-resource-pools.html","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"TBD"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"REST API impact"},{"line_number":85,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_c8f3e29d","line":82,"updated":"2018-03-27 19:46:06.000000000","message":"Presumably something would go into the compute_nodes table to indicate shared storage pools.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"f023e4786032080c22f68571e68cf22dd7a80cae","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"TBD"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"REST API impact"},{"line_number":85,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_22e144d1","line":82,"in_reply_to":"bf659307_c8f3e29d","updated":"2018-03-28 12:07:26.000000000","message":"is it ok to mention this statement more or less the same way in the spec itself? or do we have to be sure which road (which alternative) we choose?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"REST API impact"},{"line_number":85,"context_line":"---------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"TBD"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Security impact"},{"line_number":90,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_e84a66aa","line":87,"updated":"2018-03-27 19:46:06.000000000","message":"None","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"REST API impact"},{"line_number":85,"context_line":"---------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"TBD"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Security impact"},{"line_number":90,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_9c3f5e24","line":87,"in_reply_to":"bf659307_e84a66aa","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Notifications impact"},{"line_number":97,"context_line":"--------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"TBD"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Other end user impact"},{"line_number":102,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_a8ca2e17","line":99,"updated":"2018-03-27 19:46:06.000000000","message":"None","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Notifications impact"},{"line_number":97,"context_line":"--------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"TBD"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Other end user impact"},{"line_number":102,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_5c49c6cd","line":99,"in_reply_to":"bf659307_a8ca2e17","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Other end user impact"},{"line_number":102,"context_line":"---------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Most likely additional arguments or parameters will have to be added to"},{"line_number":105,"context_line":"python-novaclient. Details have to be further discussed and depened on the"},{"line_number":106,"context_line":"implementation in detail."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Performance Impact"},{"line_number":109,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_28d61ec5","line":106,"range":{"start_line":104,"start_character":0,"end_line":106,"end_character":25},"updated":"2018-03-27 19:46:06.000000000","message":"None since there are no REST API changes.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"df918a64045f45bf2d8e2eb179ca0ebd161469cd","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Other end user impact"},{"line_number":102,"context_line":"---------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Most likely additional arguments or parameters will have to be added to"},{"line_number":105,"context_line":"python-novaclient. Details have to be further discussed and depened on the"},{"line_number":106,"context_line":"implementation in detail."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Performance Impact"},{"line_number":109,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_1c158e9c","line":106,"range":{"start_line":104,"start_character":0,"end_line":106,"end_character":25},"in_reply_to":"bf659307_28d61ec5","updated":"2018-03-28 07:15:51.000000000","message":"Done","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3b2dd0642b0ad83b72070cb26f05aa66de8b100d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"Other deployer impact"},{"line_number":118,"context_line":"---------------------"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"TBD"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Developer impact"},{"line_number":123,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_48ea7275","line":120,"updated":"2018-03-27 19:46:06.000000000","message":"Depending on whether or not shared storage aggregates would be modeled in the Placement service, deployments might need to set those up.","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"},{"author":{"_account_id":26693,"name":"do3meli","email":"info@dominicschlegel.ch","username":"do3meli"},"change_message_id":"f023e4786032080c22f68571e68cf22dd7a80cae","unresolved":false,"context_lines":[{"line_number":117,"context_line":"Other deployer impact"},{"line_number":118,"context_line":"---------------------"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"TBD"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Developer impact"},{"line_number":123,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf659307_c200886a","line":120,"in_reply_to":"bf659307_48ea7275","updated":"2018-03-28 12:07:26.000000000","message":"with \"deployments\" you mean the administrator needs to setup his environment accordingly?","commit_id":"5ccab4efc1f72722e40731fe09d9ebddbd4c43a4"}]}
