)]}'
{"specs/newton/approved/scaleio-ephemeral-storage-backend.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f1566dd5a2810f969c40ac0df381a1a5b78c3cb2","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"* Unit tests."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"No new Tempest test will be introduced."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a18252c_69797693","line":197,"updated":"2016-04-12 21:31:50.000000000","message":"I think I\u0027d expect a third party CI for this. The other types we have tested today are:\n\n * lvm tested via the lxc job in the experimental queue\n * ploop tested via the virtuozzo third party CI\n * rbd tested via the ceph plugin job","commit_id":"394a9573a0d46a606f1f8916afd4f2655f9ff8a7"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"f24af9e6ec257104d9a6298d0b745d596b4bc327","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"* Unit tests."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"No new Tempest test will be introduced."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a18252c_8f2adf2a","line":197,"in_reply_to":"5a18252c_69797693","updated":"2016-04-13 17:43:01.000000000","message":"Done\n\nI needed a time to figure out available possibilities.","commit_id":"394a9573a0d46a606f1f8916afd4f2655f9ff8a7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a2d4f0bda5170faf6ee7eda0e85201c1dfc0a9bc","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_cb4ff9bc","line":73,"updated":"2016-05-02 19:00:09.000000000","message":"Someone expressed concern in the unconference session about wasted space when using config drive, since that\u0027s going to be a tiny part of the 8gb block. Are there comments for that here? Or that\u0027s just a known limitation?","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"d57f2d74fa40bdff946d1fe32ee8785e964a9d60","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_cab28348","line":73,"in_reply_to":"1a122d0e_cb4ff9bc","updated":"2016-05-17 16:19:32.000000000","message":"Good question.\n\nTo avoid wasted space we can create thin volumes always for invokes of import_file (which is called for config drive only). To have API strict and to avoid to make implicit decisions in implementation we may add a parameter to import_file method (despite only one parameter value will be used).\n\nBut this may lead to quota vulnerability, if a user re-partitiones the drive to get access to all 8gb. This could be fixed with readonly attribute in attachment metadata of config drive.","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"861a4065679c27f451e91ee34ee949e0924fa814","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_8c440d47","line":73,"in_reply_to":"dab17558_cab28348","updated":"2016-05-17 19:11:38.000000000","message":"Done","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a2d4f0bda5170faf6ee7eda0e85201c1dfc0a9bc","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":80,"context_line":"possible:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"#. Approximate disk size to the closest multiple of 8 Gb. Write a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_2ba94d25","line":79,"updated":"2016-05-02 19:00:09.000000000","message":"Jay Pipes is working on standardizing host capabilities, I could see something come from that which says host X supports scaleio ephemeral storage and then we only schedule instances to that host when using these special 8gb disk increment flavors.","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"d57f2d74fa40bdff946d1fe32ee8785e964a9d60","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Alternatives"},{"line_number":77,"context_line":"------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":80,"context_line":"possible:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"#. Approximate disk size to the closest multiple of 8 Gb. Write a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_018ab11a","line":79,"in_reply_to":"1a122d0e_2ba94d25","updated":"2016-05-17 16:19:32.000000000","message":"Probably a capability \u0027arbitrary disk size\u0027 with an appropriate host filter could make an instance launch with invalid disk size to be user friendly.\n\nHowever i think this is an improvement of basic feature, because the main scenario is to use SIO backend on all compute hosts. In this case if a flavor has \u0027bad\u0027 disk size, the flavor is wrong at all and must be changed. There is no case to find hosts which support arbitrary disk size among all hosts.\n\nIn other words i propose to integrate host capability feature and the disk size restriction separately and later.","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a2d4f0bda5170faf6ee7eda0e85201c1dfc0a9bc","unresolved":false,"context_lines":[{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":116,"context_line":"device partitions after importing an image."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_ab6b9df0","line":115,"updated":"2016-05-02 19:00:09.000000000","message":"Note that we aren\u0027t adding new rootwrap filters, so this would have to be implemented using oslo.privsep.","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"d57f2d74fa40bdff946d1fe32ee8785e964a9d60","unresolved":false,"context_lines":[{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":116,"context_line":"device partitions after importing an image."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_34073519","line":115,"in_reply_to":"1a122d0e_ab6b9df0","updated":"2016-05-17 16:19:32.000000000","message":"i\u0027ll take this into account for the next spec revision","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"861a4065679c27f451e91ee34ee949e0924fa814","unresolved":false,"context_lines":[{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":116,"context_line":"device partitions after importing an image."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_a3b76438","line":115,"in_reply_to":"dab17558_34073519","updated":"2016-05-17 19:11:38.000000000","message":"i\u0027ve looked at oslo.privsep and found nothing needed to be changed here in the spec","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ef6e478010faccae6fe778955eaae5c2a25ec5d6","unresolved":false,"context_lines":[{"line_number":187,"context_line":"A new library *siolib* is used to communicate with ScaleIO via REST API. This"},{"line_number":188,"context_line":"library is being developed at the moment and will be available on PyPI in the"},{"line_number":189,"context_line":"closest future."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Testing"},{"line_number":193,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_fc1dd462","line":190,"updated":"2016-05-10 16:53:40.000000000","message":"I\u0027ve marked this in the blueprint but this change is going to be dependent on blueprint libvirt-instance-storage and the refactor work that mdbooth is doing there in Newton. We can\u0027t add new support in there without first fixing the technical debt problem we already have.","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"861a4065679c27f451e91ee34ee949e0924fa814","unresolved":false,"context_lines":[{"line_number":187,"context_line":"A new library *siolib* is used to communicate with ScaleIO via REST API. This"},{"line_number":188,"context_line":"library is being developed at the moment and will be available on PyPI in the"},{"line_number":189,"context_line":"closest future."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Testing"},{"line_number":193,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_4c6505df","line":190,"in_reply_to":"dab17558_e135edf6","updated":"2016-05-17 19:11:38.000000000","message":"Done","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"d57f2d74fa40bdff946d1fe32ee8785e964a9d60","unresolved":false,"context_lines":[{"line_number":187,"context_line":"A new library *siolib* is used to communicate with ScaleIO via REST API. This"},{"line_number":188,"context_line":"library is being developed at the moment and will be available on PyPI in the"},{"line_number":189,"context_line":"closest future."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Testing"},{"line_number":193,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab17558_e135edf6","line":190,"in_reply_to":"dab17558_fc1dd462","updated":"2016-05-17 16:19:32.000000000","message":"i\u0027ll add the dependency","commit_id":"d50b75e72cc58ef5b70666b7bbcd5a7d13189bb3"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"4c8f88b41102bce1a58b9aadf402bc92177cc3db","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  future replacement, see [3]) interface to indicate that a service image is"},{"line_number":78,"context_line":"  being created, which does not fall to size restrictions. In this case the"},{"line_number":79,"context_line":"  backend will create thin volume with approximated size to do not waste"},{"line_number":80,"context_line":"  storage space. The parameter will be used to create config drive."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"* *_get_guest_storage_config* method of"},{"line_number":83,"context_line":"  *nova.virt.libvirt.driver.LibvirtDriver* will be changed to add readonly"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_173348ac","line":80,"updated":"2016-05-20 19:46:07.000000000","message":"so, honestly, I\u0027d rather go with the 8 Gb option to get started and rethinking this as an optimization later.\n\nWhen reading this through I kind of wonder if environments like this would be better served by putting config drive in tmpfs (though libvirt would need to recreate them on reboot, which it doesn\u0027t do today).","commit_id":"501719ee650d514bb56eea1b347d18f2eb5ec51e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"6d84b7b649f31708037a6e16f9a07b9e3a6516ac","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  future replacement, see [3]) interface to indicate that a service image is"},{"line_number":78,"context_line":"  being created, which does not fall to size restrictions. In this case the"},{"line_number":79,"context_line":"  backend will create thin volume with approximated size to do not waste"},{"line_number":80,"context_line":"  storage space. The parameter will be used to create config drive."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"* *_get_guest_storage_config* method of"},{"line_number":83,"context_line":"  *nova.virt.libvirt.driver.LibvirtDriver* will be changed to add readonly"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_88d0b9f7","line":80,"in_reply_to":"bab6814e_173348ac","updated":"2016-05-20 22:55:54.000000000","message":"@Sean, if we have the only import method at the end of the refactoring, and that method imports any kind of images from a local file (glance image, ephemeral, config drive), then we have to distinguish between kinds to block regular images with wrong requested size, but to allow config drive with any size. I\u0027ve thought that an explicit parameter is better than indirect conclusions.\n\nAs for tmpfs - it\u0027s interesting. But it will require an extra memory. Is it ok? And what is for Windows guests?\n\nSince config drive is optional, we could not implement it for the first release. But make the improvement after implementation of this spec, and then support if for ScaleIO. I would have thought about it.\n\nBtw, why not to have config drive on local disk and copy it for live migration? I read bug #1246201, but have not found an answer.","commit_id":"501719ee650d514bb56eea1b347d18f2eb5ec51e"}],"specs/ocata/approved/scaleio-ephemeral-storage-backend.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dbfe075a011f9ac86b0b61109fda12fe73e9ccc3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"interaction with Glance (since Glance does not support ScaleIO yet)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":28,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_4ece935b","line":25,"range":{"start_line":24,"start_character":48,"end_line":25,"end_character":68},"updated":"2016-10-10 21:59:53.000000000","message":"What types of features would this be? snapshot? What\u0027s the story on getting glance to support scaleio?","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"aef18db0329da2b8f53d37dc0ba94e1bd02551d7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"interaction with Glance (since Glance does not support ScaleIO yet)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":28,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_49323fa8","line":25,"range":{"start_line":24,"start_character":48,"end_line":25,"end_character":68},"in_reply_to":"fa6399be_43cdbe2f","updated":"2016-10-14 21:35:41.000000000","message":"We will snapshot it, copying data to Glance through the compute host, like all other (except rbd) backends.\n\nI mean that we will implement method snapshot_extract, but not direct_snapshot. The last one was added in Liberty only, when Nova had supported Ceph since Havana.\n\nProbably i should clarify that phrase with \u0027optimize interaction\u0027, or \u0027image related optimizations\u0027?","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"82f06ee29379892e7600169046e66eddad456a4d","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"interaction with Glance (since Glance does not support ScaleIO yet)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":28,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_e5684f8a","line":25,"range":{"start_line":24,"start_character":48,"end_line":25,"end_character":68},"in_reply_to":"fa6399be_49323fa8","updated":"2016-10-18 01:37:49.000000000","message":"Yes you should clarify this. The direct snapshot stuff that was added for rbd is not required, and to make it work you have to enable the locations stuff in glance to get the direct_url to the image store. Direct snapshot is not required.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"86ee73b809a8e508242de6d7887ab487e2d742a4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"interaction with Glance (since Glance does not support ScaleIO yet)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":28,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_cfbe0cff","line":25,"range":{"start_line":24,"start_character":48,"end_line":25,"end_character":68},"in_reply_to":"fa6399be_4ece935b","updated":"2016-10-11 10:20:01.000000000","message":"Direct cloning, snapshoting. I.e. performance related features.\n\nAt the moment ScaleIO has some limitations, which prevent optimization for cloning and snapshoting. They promise to do something in upcoming release in the next year, though.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"694c706278fbe1f1edc3128d23af56f6cfa167c7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"interaction with Glance (since Glance does not support ScaleIO yet)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":28,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_43cdbe2f","line":25,"range":{"start_line":24,"start_character":48,"end_line":25,"end_character":68},"in_reply_to":"fa6399be_cfbe0cff","updated":"2016-10-14 19:53:26.000000000","message":"So to be clear, you can\u0027t snapshot an instance with scaleio as the ephemeral storage? That\u0027s pretty severe.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"b409a3220f29ebf07606e912417d1ff2b89b79bb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"interaction with Glance (since Glance does not support ScaleIO yet)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":28,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_128eee78","line":25,"range":{"start_line":24,"start_character":48,"end_line":25,"end_character":68},"in_reply_to":"fa6399be_e5684f8a","updated":"2016-10-20 18:37:49.000000000","message":"Done","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f5d7513b5110529d313f01924dba3566deaf960","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":46,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":47,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"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":5,"id":"fa6399be_cf09bddf","line":47,"range":{"start_line":47,"start_character":62,"end_line":47,"end_character":77},"updated":"2016-10-10 22:52:09.000000000","message":"ditto per my question above about glance.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f5d7513b5110529d313f01924dba3566deaf960","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_8f9c256b","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"updated":"2016-10-10 22:52:09.000000000","message":"I think this has come up before, but how are operators/users going to avoid scheduling/build failures because they land on a compute node with scaleio and a flavor with disk of let\u0027s say 40GB? Are you going to also be proposing new image metadata/flavor extra specs for matching with host capabilities during scheduling?\n\nI have a feeling there is a basic assumption that anyone using scaleio is going to have such a specific deployment that the flavors will all be \u0027correct\u0027 for this out of the box and wouldn\u0027t have any computes that aren\u0027t running scaleio - basically an EMC/ScaleIO based product, which I don\u0027t think is really good for interoperability goals within openstack.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"b409a3220f29ebf07606e912417d1ff2b89b79bb","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_328bf269","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"in_reply_to":"fa6399be_85f873c6","updated":"2016-10-20 18:37:49.000000000","message":"Done","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"82f06ee29379892e7600169046e66eddad456a4d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_85f873c6","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"in_reply_to":"fa6399be_89ad379d","updated":"2016-10-18 01:37:49.000000000","message":"Yes I think we need something in the deployer impact section that either all of your flavors have to have disk in multiples of 8GB, or you need to isolate hosts and flavors with aggregates and flavor extra specs.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"86ee73b809a8e508242de6d7887ab487e2d742a4","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_f2e2d79e","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"in_reply_to":"fa6399be_8f9c256b","updated":"2016-10-11 10:20:01.000000000","message":"As i saw in different manuals, deployment instructions, and even such installation product like Fuel, the mostly common used case of OS deployment is the only image backend on all compute nodes.\n\nHowever if a cloud owner/admin wants to have different backends, he has options: either to make all flavors unified (i.e. disk sizes are multiplies of 8), or to use host aggregates for example to specify where custom flavor can be used.\n\nIs that ability enough for interoperability? If not, what case still works bad?","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"694c706278fbe1f1edc3128d23af56f6cfa167c7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_83b8b676","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"in_reply_to":"fa6399be_8f9c256b","updated":"2016-10-14 19:53:26.000000000","message":"btw, 40GB is a bad example :) Let\u0027s say 50GB.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"aef18db0329da2b8f53d37dc0ba94e1bd02551d7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_89ad379d","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"in_reply_to":"fa6399be_a37a1abb","updated":"2016-10-14 21:35:41.000000000","message":"That is what i meant. Except that the scheduling failure will occur if any other flavor is used to land an instance on those hosts.\n\nDo you want me to add this clarification to \u0027deployer impact\u0027 part?","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"694c706278fbe1f1edc3128d23af56f6cfa167c7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  These methods will be called in appropriate places of"},{"line_number":71,"context_line":"  *nova.virt.libvirt.driver* to connect/disconnect instance\u0027s disks."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":74,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":75,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":76,"context_line":"  size up to 8 Gb multiple."},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_a37a1abb","line":74,"range":{"start_line":73,"start_character":2,"end_line":74,"end_character":20},"in_reply_to":"fa6399be_f2e2d79e","updated":"2016-10-14 19:53:26.000000000","message":"Yeah so I guess the answer here is you\u0027d need flavors with extra specs that tie to host aggregates with metadata tying them together, and your compute hosts running scaleio ephemeral storage would need to be in those aggregates. Booting an instance with one of those flavors has to land on one of those hosts else it\u0027s a scheduling failure.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f5d7513b5110529d313f01924dba3566deaf960","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":79,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"},{"line_number":80,"context_line":"  require much space (vfat format is supported by Nova for legacy only)."},{"line_number":81,"context_line":"  A small change of *nova.virt.libvirt.driver.LibvirtDriver* will require to"},{"line_number":82,"context_line":"  support live migration with iso9660 config drive (no support for vfat will be"},{"line_number":83,"context_line":"  added)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_0fe2d503","line":82,"range":{"start_line":81,"start_character":2,"end_line":82,"end_character":50},"updated":"2016-10-10 22:52:09.000000000","message":"Wasn\u0027t this already done recently?","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"86ee73b809a8e508242de6d7887ab487e2d742a4","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":79,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"},{"line_number":80,"context_line":"  require much space (vfat format is supported by Nova for legacy only)."},{"line_number":81,"context_line":"  A small change of *nova.virt.libvirt.driver.LibvirtDriver* will require to"},{"line_number":82,"context_line":"  support live migration with iso9660 config drive (no support for vfat will be"},{"line_number":83,"context_line":"  added)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_f29017ef","line":82,"range":{"start_line":81,"start_character":2,"end_line":82,"end_character":50},"in_reply_to":"fa6399be_0fe2d503","updated":"2016-10-11 10:20:01.000000000","message":"It\u0027s done, but it doesn\u0027t fit for shared block storage - it skips copying of the config drive in this case.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f5d7513b5110529d313f01924dba3566deaf960","unresolved":false,"context_lines":[{"line_number":205,"context_line":"Dependencies"},{"line_number":206,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"A new library *siolib* is used to communicate with ScaleIO via REST API. This"},{"line_number":209,"context_line":"library is being developed at the moment and will be available on PyPI in the"},{"line_number":210,"context_line":"closest future."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_4fc76d45","line":208,"range":{"start_line":208,"start_character":15,"end_line":208,"end_character":21},"updated":"2016-10-10 22:52:09.000000000","message":"Is this still happening or will you be using this now?\n\nhttps://pypi.python.org/pypi/pyscaleio\n\nIf so, I think the GPLv3 license on that might cause issues with getting it into global-requirements, but I\u0027m not entirely sure.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"b409a3220f29ebf07606e912417d1ff2b89b79bb","unresolved":false,"context_lines":[{"line_number":205,"context_line":"Dependencies"},{"line_number":206,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"A new library *siolib* is used to communicate with ScaleIO via REST API. This"},{"line_number":209,"context_line":"library is being developed at the moment and will be available on PyPI in the"},{"line_number":210,"context_line":"closest future."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_df5c7e7f","line":208,"range":{"start_line":208,"start_character":15,"end_line":208,"end_character":21},"in_reply_to":"fa6399be_25d88753","updated":"2016-10-20 18:37:49.000000000","message":"Done","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"86ee73b809a8e508242de6d7887ab487e2d742a4","unresolved":false,"context_lines":[{"line_number":205,"context_line":"Dependencies"},{"line_number":206,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"A new library *siolib* is used to communicate with ScaleIO via REST API. This"},{"line_number":209,"context_line":"library is being developed at the moment and will be available on PyPI in the"},{"line_number":210,"context_line":"closest future."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_25d88753","line":208,"range":{"start_line":208,"start_character":15,"end_line":208,"end_character":21},"in_reply_to":"fa6399be_4fc76d45","updated":"2016-10-11 10:20:01.000000000","message":"I mean this one: https://github.com/codedellemc/python-scaleioclient\n\nIt\u0027s not published on pypi yet, though.\n\nAs for pyscalio - it\u0027s pretty good organized, but has not error handling. This prevents us to use it.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f5d7513b5110529d313f01924dba3566deaf960","unresolved":false,"context_lines":[{"line_number":223,"context_line":"Documentation Impact"},{"line_number":224,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Documentation about usage of ScaleIO for ephemeral storage backend will be"},{"line_number":227,"context_line":"added."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_2ff8797c","line":227,"range":{"start_line":226,"start_character":0,"end_line":227,"end_character":6},"updated":"2016-10-10 22:52:09.000000000","message":"Added...where? nova devref, install guide, operators manual, other? Looks like this would be a good place to update:\n\nhttp://docs.openstack.org/draft/config-reference/compute/hypervisor-kvm.html","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"b409a3220f29ebf07606e912417d1ff2b89b79bb","unresolved":false,"context_lines":[{"line_number":223,"context_line":"Documentation Impact"},{"line_number":224,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Documentation about usage of ScaleIO for ephemeral storage backend will be"},{"line_number":227,"context_line":"added."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da6895a0_b935bff8","line":227,"range":{"start_line":226,"start_character":0,"end_line":227,"end_character":6},"in_reply_to":"fa6399be_14085ed9","updated":"2016-10-20 18:37:49.000000000","message":"Done","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"86ee73b809a8e508242de6d7887ab487e2d742a4","unresolved":false,"context_lines":[{"line_number":223,"context_line":"Documentation Impact"},{"line_number":224,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Documentation about usage of ScaleIO for ephemeral storage backend will be"},{"line_number":227,"context_line":"added."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_c5498bd2","line":227,"range":{"start_line":226,"start_character":0,"end_line":227,"end_character":6},"in_reply_to":"fa6399be_2ff8797c","updated":"2016-10-11 10:20:01.000000000","message":"But i do not see there anything related to ceph/rbd.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"aef18db0329da2b8f53d37dc0ba94e1bd02551d7","unresolved":false,"context_lines":[{"line_number":223,"context_line":"Documentation Impact"},{"line_number":224,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Documentation about usage of ScaleIO for ephemeral storage backend will be"},{"line_number":227,"context_line":"added."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_14085ed9","line":227,"range":{"start_line":226,"start_character":0,"end_line":227,"end_character":6},"in_reply_to":"fa6399be_a3285a9b","updated":"2016-10-14 21:35:41.000000000","message":"Well, i hoped that some of you point me a doc list that must be touched, and i add it here. I\u0027ll add it.\n\nAnother question is that you have referred to kvm-related part of the doc, but probably rbd and sio also support xen via libvirt (have no idea about lxc, though). If it is right, some additional document topic(s) is(are) expected, like \u0027image backend setting\u0027 with support matrix and notable (like rbd) subsections.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"694c706278fbe1f1edc3128d23af56f6cfa167c7","unresolved":false,"context_lines":[{"line_number":223,"context_line":"Documentation Impact"},{"line_number":224,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Documentation about usage of ScaleIO for ephemeral storage backend will be"},{"line_number":227,"context_line":"added."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"References"},{"line_number":230,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa6399be_a3285a9b","line":227,"range":{"start_line":226,"start_character":0,"end_line":227,"end_character":6},"in_reply_to":"fa6399be_c5498bd2","updated":"2016-10-14 19:53:26.000000000","message":"Yeah, that\u0027s a bug. I know the ceph docs have some stuff on configuring openstack for rbd:\n\nhttp://docs.ceph.com/docs/master/rbd/rbd-openstack/\n\nI think they are a bit old though, and yes we should have that info in the openstack manuals, but it doesn\u0027t mean we wouldn\u0027t also need docs for scaleio. I\u0027m not blocking on it, I just like people to be more specific about where they are going to document things because people promise to doc things and then never do.","commit_id":"c9813dba1aa487e50f3e44599923ffa1bb57dfc8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2405c3835ebc1e000d277bea69579e2c47d7ad14","unresolved":false,"context_lines":[{"line_number":183,"context_line":"If a key is not set in a flavor, default value is used from config file."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Each flavor intended to be used with ScaleIO image backend must have disk sizes"},{"line_number":186,"context_line":"in multiples of 8 Gb. Zero value is allowed for ephemeral and swap sizes to do"},{"line_number":187,"context_line":"not use ephemeral/swap accordingly. A flavor with zero root disk size may be"},{"line_number":188,"context_line":"used to create volume backed instances only, because that it is not"},{"line_number":189,"context_line":"recommended to create such flavor."},{"line_number":190,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da6895a0_edc82477","line":187,"range":{"start_line":186,"start_character":22,"end_line":187,"end_character":35},"updated":"2016-10-21 20:06:54.000000000","message":"I\u0027m having a hard time parsing the meaning of this sentence. The \u0027to do not use\u0027 part.","commit_id":"7e8c919639c457db4949d032a88f88a62c944c4b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"3e837c19b71d7643caef4a0bc1eded1abed037d0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Problem description"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova does not support EMC ScaleIO - another one software-defined storage -"},{"line_number":19,"context_line":"as an ephemeral storage backend. ScaleIO is already supported by Cinder (and"},{"line_number":20,"context_line":"os-brick) for volume hosting. It is reasonable (and asked by customers) to let"},{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_f311075f","line":18,"updated":"2016-11-14 23:36:48.000000000","message":"Is \u0027one\u0027 redundant here or is there some other word missing?","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"426fa0a949987ac8d43486b7e89c23916a4f78ac","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Problem description"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova does not support EMC ScaleIO - another one software-defined storage -"},{"line_number":19,"context_line":"as an ephemeral storage backend. ScaleIO is already supported by Cinder (and"},{"line_number":20,"context_line":"os-brick) for volume hosting. It is reasonable (and asked by customers) to let"},{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_45e711e4","line":18,"in_reply_to":"7a77a97e_df559050","updated":"2016-11-22 13:11:04.000000000","message":"Done","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec68a52b742bf35d627431ed6ab2ad22f86df384","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Problem description"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova does not support EMC ScaleIO - another one software-defined storage -"},{"line_number":19,"context_line":"as an ephemeral storage backend. ScaleIO is already supported by Cinder (and"},{"line_number":20,"context_line":"os-brick) for volume hosting. It is reasonable (and asked by customers) to let"},{"line_number":21,"context_line":"Nova use ScaleIO for ephemeral disks."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_df559050","line":18,"in_reply_to":"7a77a97e_f311075f","updated":"2016-11-16 16:22:00.000000000","message":"Probably should be something like \u0027another type of SDS\u0027...","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"38c97263afc028af7aed2e96619940abaa646abd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"},{"line_number":26,"context_line":"Glance does not support ScaleIO yet."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":29,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_c5ac2b8f","line":26,"updated":"2016-11-04 18:46:47.000000000","message":"Nit: I assume only libvirt is being targeted here.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"426fa0a949987ac8d43486b7e89c23916a4f78ac","unresolved":false,"context_lines":[{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"},{"line_number":26,"context_line":"Glance does not support ScaleIO yet."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":29,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_e5d65df0","line":26,"in_reply_to":"ba5da102_3bd0a6c9","updated":"2016-11-22 13:11:04.000000000","message":"Done","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"f5b509e76808b8e739ad73e28f00b2dcfc24523c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"},{"line_number":26,"context_line":"Glance does not support ScaleIO yet."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":29,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_3bd0a6c9","line":26,"in_reply_to":"ba5da102_c5ac2b8f","updated":"2016-11-04 20:06:19.000000000","message":"Yep. Will mention it in the next revision if/when it occurs.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"38c97263afc028af7aed2e96619940abaa646abd","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* A new images type, a new image backend class, and a new image model class"},{"line_number":54,"context_line":"  will be introduced and will be used throughout all *nova.virt.libvirt*"},{"line_number":55,"context_line":"  package as it is done for rbd and lvm image types."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* New static methods will be introduced in abstract class"},{"line_number":58,"context_line":"  *nova.virt.libvirt.imagebackend.Image* with empty implementation::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_453adbe8","line":55,"updated":"2016-11-04 18:46:47.000000000","message":"Its not clear how images get to/from glance here?\n\nFrom reading the comments it seems like the data is copied into the scale IO volume. If so, what formats are you supporting? just raw, or qcow2 as well? Or is this a volume that has a qcow2 disk living on it?\n\nWhat happens on snapshot? What data is actually uploaded to glance? and in what format?","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"f5b509e76808b8e739ad73e28f00b2dcfc24523c","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* A new images type, a new image backend class, and a new image model class"},{"line_number":54,"context_line":"  will be introduced and will be used throughout all *nova.virt.libvirt*"},{"line_number":55,"context_line":"  package as it is done for rbd and lvm image types."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* New static methods will be introduced in abstract class"},{"line_number":58,"context_line":"  *nova.virt.libvirt.imagebackend.Image* with empty implementation::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_a0fe4536","line":55,"in_reply_to":"ba5da102_453adbe8","updated":"2016-11-04 20:06:19.000000000","message":"Through image cache. Images will be downloaded into it by usual way, and then copied into SIO volume with qemu-img tool, using conversion from source format (raw, qcow2, etc) to raw.\n\nVolume data will be uploaded to a snapshot with qemu-img as well, in raw format.\n\nI.e. nothing special will be used to interact with Glance. The backend will work like almost all other existing backends.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"38c97263afc028af7aed2e96619940abaa646abd","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":80,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"},{"line_number":81,"context_line":"  require much space (vfat format is supported by Nova for legacy only)."},{"line_number":82,"context_line":"  A small change of *nova.virt.libvirt.driver.LibvirtDriver* will require to"},{"line_number":83,"context_line":"  support live migration with iso9660 config drive (no support for vfat will be"},{"line_number":84,"context_line":"  added)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_e52bef92","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":9},"updated":"2016-11-04 18:46:47.000000000","message":"This scares me. Is that part of this change? I thought that was supported already actually.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"426fa0a949987ac8d43486b7e89c23916a4f78ac","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":80,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"},{"line_number":81,"context_line":"  require much space (vfat format is supported by Nova for legacy only)."},{"line_number":82,"context_line":"  A small change of *nova.virt.libvirt.driver.LibvirtDriver* will require to"},{"line_number":83,"context_line":"  support live migration with iso9660 config drive (no support for vfat will be"},{"line_number":84,"context_line":"  added)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_45fe316c","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":9},"in_reply_to":"9a629dbe_579d2d58","updated":"2016-11-22 13:11:04.000000000","message":"Done","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e5641b7ad1ffd3a3a8687492a4b5e1420e79fa00","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":80,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"},{"line_number":81,"context_line":"  require much space (vfat format is supported by Nova for legacy only)."},{"line_number":82,"context_line":"  A small change of *nova.virt.libvirt.driver.LibvirtDriver* will require to"},{"line_number":83,"context_line":"  support live migration with iso9660 config drive (no support for vfat will be"},{"line_number":84,"context_line":"  added)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a629dbe_579d2d58","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":9},"in_reply_to":"ba5da102_805dc14a","updated":"2016-11-14 14:09:41.000000000","message":"If you don\u0027t remove it, you should clarify this point since yeah I asked about this earlier.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"f5b509e76808b8e739ad73e28f00b2dcfc24523c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":80,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"},{"line_number":81,"context_line":"  require much space (vfat format is supported by Nova for legacy only)."},{"line_number":82,"context_line":"  A small change of *nova.virt.libvirt.driver.LibvirtDriver* will require to"},{"line_number":83,"context_line":"  support live migration with iso9660 config drive (no support for vfat will be"},{"line_number":84,"context_line":"  added)."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Alternatives"},{"line_number":87,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_805dc14a","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":9},"in_reply_to":"ba5da102_e52bef92","updated":"2016-11-04 20:06:19.000000000","message":"It does not copy config drive in case of block device type of the backend.\n\nSince you are the second person who asks this question, would it be better to remove highlighted part, which describes secondary details of the implementation?","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"38c97263afc028af7aed2e96619940abaa646abd","unresolved":false,"context_lines":[{"line_number":123,"context_line":"---------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":126,"context_line":"device partitions after importing an image."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Notifications impact"},{"line_number":129,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_858873c8","line":126,"updated":"2016-11-04 18:46:47.000000000","message":"How does that happen? Is this using os-brick, or directly via rootwrap or privsep?","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"426fa0a949987ac8d43486b7e89c23916a4f78ac","unresolved":false,"context_lines":[{"line_number":123,"context_line":"---------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":126,"context_line":"device partitions after importing an image."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Notifications impact"},{"line_number":129,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_c5f2419a","line":126,"in_reply_to":"9a629dbe_f7dba11f","updated":"2016-11-22 13:11:04.000000000","message":"Done","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"f5b509e76808b8e739ad73e28f00b2dcfc24523c","unresolved":false,"context_lines":[{"line_number":123,"context_line":"---------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":126,"context_line":"device partitions after importing an image."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Notifications impact"},{"line_number":129,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_fb72aeaf","line":126,"in_reply_to":"ba5da102_858873c8","updated":"2016-11-04 20:06:19.000000000","message":"Directly. But at the moment i\u0027m not sure this is needed at the moment. Do you think it is better to remove this out now, but add it to implementation later if it will be required?","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e5641b7ad1ffd3a3a8687492a4b5e1420e79fa00","unresolved":false,"context_lines":[{"line_number":123,"context_line":"---------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"partprobe console tool will be invoked with root permissions to refresh ScaleIO"},{"line_number":126,"context_line":"device partitions after importing an image."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Notifications impact"},{"line_number":129,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a629dbe_f7dba11f","line":126,"in_reply_to":"ba5da102_fb72aeaf","updated":"2016-11-14 14:09:41.000000000","message":"You could word this as something like you might need to do this, but aren\u0027t sure yet but if so, you\u0027d be using privsep to call this. We\u0027d want to use privsep.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"38c97263afc028af7aed2e96619940abaa646abd","unresolved":false,"context_lines":[{"line_number":175,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":176,"context_line":"Key                   Value"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":178,"context_line":"sio:pd_name           ScaleIO protection domain"},{"line_number":179,"context_line":"sio:sp_name           ScaleIO pool name"},{"line_number":180,"context_line":"sio:provisioning_type *thick* or *thin*"},{"line_number":181,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"If a key is not set in a flavor, default value is used from config file."}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_856cf337","line":180,"range":{"start_line":178,"start_character":0,"end_line":180,"end_character":39},"updated":"2016-11-04 18:46:47.000000000","message":"Really I would like this info in Flavor to be technology agnostic if it goes in the flavor.\n\nFor example, it would be nice if Ceph could choose between clusters/types using a similar kind of terminology.","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"426fa0a949987ac8d43486b7e89c23916a4f78ac","unresolved":false,"context_lines":[{"line_number":175,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":176,"context_line":"Key                   Value"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":178,"context_line":"sio:pd_name           ScaleIO protection domain"},{"line_number":179,"context_line":"sio:sp_name           ScaleIO pool name"},{"line_number":180,"context_line":"sio:provisioning_type *thick* or *thin*"},{"line_number":181,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"If a key is not set in a flavor, default value is used from config file."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_e5ed7db8","line":180,"range":{"start_line":178,"start_character":0,"end_line":180,"end_character":39},"in_reply_to":"ba5da102_7bd05ef8","updated":"2016-11-22 13:11:04.000000000","message":"Done","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"f5b509e76808b8e739ad73e28f00b2dcfc24523c","unresolved":false,"context_lines":[{"line_number":175,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":176,"context_line":"Key                   Value"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":178,"context_line":"sio:pd_name           ScaleIO protection domain"},{"line_number":179,"context_line":"sio:sp_name           ScaleIO pool name"},{"line_number":180,"context_line":"sio:provisioning_type *thick* or *thin*"},{"line_number":181,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"If a key is not set in a flavor, default value is used from config file."}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_7bd05ef8","line":180,"range":{"start_line":178,"start_character":0,"end_line":180,"end_character":39},"in_reply_to":"ba5da102_856cf337","updated":"2016-11-04 20:06:19.000000000","message":"Do you mean Ceph pools instead of types? Anyway, lets make them agnostic. What names you prefer? cluster, pool, provisioning_type? And what prefix is appropriate? disk/image/ephemeral?","commit_id":"22b357f624d68cbe2a69e254d97ed6071292d77e"}],"specs/pike/approved/scaleio-ephemeral-storage-backend.rst":[{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"f6541b1d3caff181f7d40f0186612c17be3a610c","unresolved":false,"context_lines":[{"line_number":3,"context_line":" License."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"EMC ScaleIO as ephemeral storage backend"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_ee3589f7","line":6,"updated":"2017-02-28 21:52:39.000000000","message":"Not sure if you need this here as it is already in the branch https://github.com/openstack/nova-specs/blob/master/LICENSE","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"eda7f10ccd119ecf35b092cbbe8940b4ef870208","unresolved":false,"context_lines":[{"line_number":3,"context_line":" License."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"EMC ScaleIO as ephemeral storage backend"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_5489c2c9","line":6,"in_reply_to":"ba2be162_ee3589f7","updated":"2017-02-28 22:22:05.000000000","message":"The template includes the license: https://raw.githubusercontent.com/openstack/nova-specs/master/specs/pike-template.rst","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"f6541b1d3caff181f7d40f0186612c17be3a610c","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"EMC ScaleIO as ephemeral storage backend"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/scaleio-ephemeral-storage-backend"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_6e099931","line":8,"updated":"2017-02-28 21:52:39.000000000","message":"NIT: rebrand EMC to Dell EMC if you make another revision please","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"b71129c180fb05ac432ac83a7c425b0413fb77c0","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"EMC ScaleIO as ephemeral storage backend"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/scaleio-ephemeral-storage-backend"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_44d566b7","line":8,"in_reply_to":"ba2be162_6e099931","updated":"2017-03-01 18:43:25.000000000","message":"Done","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"f6541b1d3caff181f7d40f0186612c17be3a610c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"development are:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* ScaleIO devices must be explicitly connected to a compute host before usage,"},{"line_number":33,"context_line":"  and disconnected after that."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* ScaleIO can provide volumes which sizes are multiples of 8 Gb only."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_892fa7a0","line":33,"updated":"2017-02-28 21:52:39.000000000","message":"Disconnected after?","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"eda7f10ccd119ecf35b092cbbe8940b4ef870208","unresolved":false,"context_lines":[{"line_number":30,"context_line":"development are:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* ScaleIO devices must be explicitly connected to a compute host before usage,"},{"line_number":33,"context_line":"  and disconnected after that."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* ScaleIO can provide volumes which sizes are multiples of 8 Gb only."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_f43556f7","line":33,"in_reply_to":"ba2be162_892fa7a0","updated":"2017-02-28 22:22:05.000000000","message":"...after the usage, when the devices are no more used on the host.","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"f6541b1d3caff181f7d40f0186612c17be3a610c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_146e6ac9","line":43,"updated":"2017-02-28 21:52:39.000000000","message":"Does the ScaleIO Data Client do anything other than modifying the nova.conf file?","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"eda7f10ccd119ecf35b092cbbe8940b4ef870208","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_b403de0e","line":43,"in_reply_to":"ba2be162_146e6ac9","updated":"2017-02-28 22:22:05.000000000","message":"i do not believe that sdc modifies nova.conf file. i tried to say that the cloud operator needs to change Nova\u0027s config files","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"02eec971c062e981da440aa4b7481295d38cb2fc","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_1fff3768","line":43,"in_reply_to":"ba2be162_b403de0e","updated":"2017-03-01 19:01:01.000000000","message":"Understand","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"f6541b1d3caff181f7d40f0186612c17be3a610c","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"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":10,"id":"ba2be162_f4863664","line":49,"updated":"2017-02-28 21:52:39.000000000","message":"use case evacuate host,","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"02eec971c062e981da440aa4b7481295d38cb2fc","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"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":10,"id":"ba2be162_9fc5e73d","line":49,"in_reply_to":"ba2be162_2f0ebb34","updated":"2017-03-01 19:01:01.000000000","message":"NIT. Can you add it please?","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"300ef4dc31cbf2e42551d89f7ad0a1fd00975b11","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"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":10,"id":"ba2be162_6c64f721","line":49,"in_reply_to":"ba2be162_9fc5e73d","updated":"2017-03-02 08:34:27.000000000","message":"Done","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"eda7f10ccd119ecf35b092cbbe8940b4ef870208","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"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":10,"id":"ba2be162_2f0ebb34","line":49,"in_reply_to":"ba2be162_f4863664","updated":"2017-02-28 22:22:05.000000000","message":"this is a kind of live migration, afaik","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"f6541b1d3caff181f7d40f0186612c17be3a610c","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Dependencies"},{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"A new library *siolib* [3]_ is used to communicate with ScaleIO via REST API."},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Testing"},{"line_number":219,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_f462b6ac","line":216,"updated":"2017-02-28 21:52:39.000000000","message":"How heavy is this library? Can this be opensourced or made part of the driver code?","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10379,"name":"Rajini Karthik","email":"rrajini@gmail.com","username":"rajinir"},"change_message_id":"02eec971c062e981da440aa4b7481295d38cb2fc","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Dependencies"},{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"A new library *siolib* [3]_ is used to communicate with ScaleIO via REST API."},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Testing"},{"line_number":219,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_5fd28f01","line":216,"in_reply_to":"ba2be162_6f3ef3b9","updated":"2017-03-01 19:01:01.000000000","message":"ok, makes sense","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"eda7f10ccd119ecf35b092cbbe8940b4ef870208","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Dependencies"},{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"A new library *siolib* [3]_ is used to communicate with ScaleIO via REST API."},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Testing"},{"line_number":219,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba2be162_6f3ef3b9","line":216,"in_reply_to":"ba2be162_f462b6ac","updated":"2017-02-28 22:22:05.000000000","message":"You may look at the library, using the link below. It\u0027s already opensourced. It may be a part of driver code, but in this case the size of driver code growths, and its modifiability decreases, because we must to pass any change/fix/improvement via Nova\u0027s code review process, which is pretty slow.","commit_id":"f00685445ddb3f6dad99ef87e3321b5206426483"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":20,"context_line":"by Cinder (and os-brick) for volume hosting. It is reasonable (and asked by"},{"line_number":21,"context_line":"customers) to let Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"},{"line_number":26,"context_line":"Glance does not support ScaleIO yet. The target virtual driver should be"},{"line_number":27,"context_line":"libvirt."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":30,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ce6f6c29","line":27,"range":{"start_line":23,"start_character":0,"end_line":27,"end_character":8},"updated":"2017-03-02 22:36:39.000000000","message":"so what set of operations are proposed to work with ephemeral storage on scaleIO? Please, define the list of operations.\nExpect that to define tempest testing required for it.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":20,"context_line":"by Cinder (and os-brick) for volume hosting. It is reasonable (and asked by"},{"line_number":21,"context_line":"customers) to let Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"},{"line_number":26,"context_line":"Glance does not support ScaleIO yet. The target virtual driver should be"},{"line_number":27,"context_line":"libvirt."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":30,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_9749f2b9","line":27,"range":{"start_line":23,"start_character":0,"end_line":27,"end_character":8},"in_reply_to":"ba2be162_ce6f6c29","updated":"2017-03-03 08:33:10.000000000","message":"Since we try to support all cases, it\u0027s better to specify exclusions only.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_896c8ed1","line":41,"range":{"start_line":40,"start_character":2,"end_line":41,"end_character":16},"updated":"2017-03-02 22:36:39.000000000","message":"Do you really want to specify per node?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_9ea3dbff","line":41,"range":{"start_line":40,"start_character":2,"end_line":41,"end_character":16},"in_reply_to":"ba2be162_896c8ed1","updated":"2017-03-03 08:33:10.000000000","message":"Why to forbid a hybrid deployment?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_44a35bb2","line":43,"range":{"start_line":42,"start_character":2,"end_line":43,"end_character":18},"updated":"2017-03-02 22:36:39.000000000","message":"Is SDC the same for all distros? Same question for the version of Linux and OpenStack?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_971bb2c9","line":43,"range":{"start_line":42,"start_character":2,"end_line":43,"end_character":18},"in_reply_to":"ba2be162_44a35bb2","updated":"2017-03-03 08:33:10.000000000","message":"SDC is determined by the ScaleIO version. OpenStack version is determined by self OpenStack, including its upgrade policy. Linux version is dependend on both ScaleIO and OpenStack requirements.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_c4a58ba2","line":45,"range":{"start_line":44,"start_character":37,"end_line":45,"end_character":67},"updated":"2017-03-02 22:36:39.000000000","message":"Should nova services on controller nodes be aware of nova configuration on compute nodes so it can make scheduling decisions for user deployment VMs?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_7ece272f","line":45,"range":{"start_line":44,"start_character":37,"end_line":45,"end_character":67},"in_reply_to":"ba2be162_c4a58ba2","updated":"2017-03-03 08:33:10.000000000","message":"Nothing special is required. The info is automatically renewed.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot,"},{"line_number":50,"context_line":"host evacuation."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_c4d3cb02","line":49,"range":{"start_line":49,"start_character":62,"end_line":49,"end_character":77},"updated":"2017-03-02 22:36:39.000000000","message":"deploy from snapshot also?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot,"},{"line_number":50,"context_line":"host evacuation."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ca859507","line":49,"range":{"start_line":49,"start_character":26,"end_line":49,"end_character":40},"updated":"2017-03-02 22:36:39.000000000","message":"what about regular migration especially for nodes in maintenance mode?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot,"},{"line_number":50,"context_line":"host evacuation."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ded0f321","line":49,"range":{"start_line":49,"start_character":62,"end_line":49,"end_character":77},"in_reply_to":"ba2be162_c4d3cb02","updated":"2017-03-03 08:33:10.000000000","message":"It\u0027s covered by \u0027create\u0027 case, because in both cases an instance is started from an image hosted on Glance.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"},{"line_number":49,"context_line":"cases are: create/delete, live migrate, resize/revert resize, create snapshot,"},{"line_number":50,"context_line":"host evacuation."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_9e803bf9","line":49,"range":{"start_line":49,"start_character":26,"end_line":49,"end_character":40},"in_reply_to":"ba2be162_ca859507","updated":"2017-03-03 08:33:10.000000000","message":"It\u0027s a kind of resize or migration cases, if we look at libivrt driver.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  package as it is done for rbd and lvm image types."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Required operations to connect/disconnect instance\u0027s disks will be called in"},{"line_number":60,"context_line":"  several appropriate places of *nova.virt.libvirt.driver*. These calls will"},{"line_number":61,"context_line":"  be wrapped by *if* clause to perform them for the new backend explicitly,"},{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ca8675da","line":62,"range":{"start_line":60,"start_character":60,"end_line":62,"end_character":43},"updated":"2017-03-02 22:36:39.000000000","message":"Expect that it does cover error case scenarios, like SIO is not reachable?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  package as it is done for rbd and lvm image types."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Required operations to connect/disconnect instance\u0027s disks will be called in"},{"line_number":60,"context_line":"  several appropriate places of *nova.virt.libvirt.driver*. These calls will"},{"line_number":61,"context_line":"  be wrapped by *if* clause to perform them for the new backend explicitly,"},{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_7ec387ed","line":62,"range":{"start_line":60,"start_character":60,"end_line":62,"end_character":43},"in_reply_to":"ba2be162_ca8675da","updated":"2017-03-03 08:33:10.000000000","message":"Like any other call to SIO, if it returns unexpected result, an exception is raised, and the operation is terminated with an error, moving the instance to error state in most cases. This is usual behavior for other image backends, for volume drivers, etc.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":66,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":67,"context_line":"  size up to 8 Gb multiple."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":70,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_2ae471aa","line":67,"range":{"start_line":65,"start_character":21,"end_line":67,"end_character":27},"updated":"2017-03-02 22:36:39.000000000","message":"Is rescue disk exposed to openstack? If not drop it\u0027s mention here.\n\nDo you propose that the library automatically allocate disk size to next larger 8Gb size? or admin/user ensures that disk size is multiple of 8Gb?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":66,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":67,"context_line":"  size up to 8 Gb multiple."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":70,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_5976dda4","line":67,"range":{"start_line":65,"start_character":21,"end_line":67,"end_character":27},"in_reply_to":"ba2be162_2ae471aa","updated":"2017-03-03 08:33:10.000000000","message":"What do you mean with \u0027exposed to openstack\u0027? This disk is visible inside guest OS as the root disk in rescue mode.\n\nNeither admin nor user can set that disk size. The disk is created automatically when user switch the instance into rescue mode. And it is auto deleted when user switch the instance back. So it is a task for the backend.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"may serve any kind of physical storage supported by Cinder"},{"line_number":79,"context_line":"(including ScaleIO). Although the previous attempt [2]_ to get such backend"},{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no a new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_2aa9d124","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":26},"updated":"2017-03-02 22:36:39.000000000","message":"clean this language.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":78,"context_line":"may serve any kind of physical storage supported by Cinder"},{"line_number":79,"context_line":"(including ScaleIO). Although the previous attempt [2]_ to get such backend"},{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no a new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_7a60e5cf","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":26},"in_reply_to":"ba2be162_2aa9d124","updated":"2017-03-03 08:33:10.000000000","message":"Done","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no a new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"},{"line_number":85,"context_line":"throughout whole libvirt driver. But Ceph backend is used widely, so it is"},{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ca3e75d9","line":87,"range":{"start_line":83,"start_character":36,"end_line":87,"end_character":23},"updated":"2017-03-02 22:36:39.000000000","message":"Do not see any relevancy of this section to the proposed spec. This proposal is not a replacement for Ceph but support of ephemeral storage for on ScaleIO.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no a new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"},{"line_number":85,"context_line":"throughout whole libvirt driver. But Ceph backend is used widely, so it is"},{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_34604401","line":87,"range":{"start_line":83,"start_character":36,"end_line":87,"end_character":23},"in_reply_to":"ba2be162_ca3e75d9","updated":"2017-03-03 08:33:10.000000000","message":"Well, we consider the alternative here, looking its pro and contra. This alternative replaces the proposed image backend, as well as other volume based backends. We need to explain here why it makes sense to pass the backend despite that Cinder backend is going to be implemented in any case independently of if ScaleIO backend is accepted. The selected lines explain why that proposal is complex and requires a lot of effort to be completed. And, as the result, cannot be available in the next Nova release, unlike ScaleIO backend.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_6d284387","line":89,"range":{"start_line":89,"start_character":28,"end_line":89,"end_character":43},"updated":"2017-03-02 22:36:39.000000000","message":"Do you mean ephemeral support on scaleIO in nova?\nScaleIO backend is formallt supported for cinder as indicated by openstack marketplace entry.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_8a1f1d6b","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":4},"updated":"2017-03-02 22:36:39.000000000","message":"from -\u003e On","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_f9c31187","line":89,"range":{"start_line":89,"start_character":28,"end_line":89,"end_character":43},"in_reply_to":"ba2be162_6d284387","updated":"2017-03-03 08:33:10.000000000","message":"Yes, i do. The full name of ephemeral support is ephemeral storage backend (e.g. see the title of the spec). So it\u0027s a kind of reduction. IIANM ScaleIO support in Cinder is called ScaleIO volume driver.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_3a6aedb3","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":4},"in_reply_to":"ba2be162_8a1f1d6b","updated":"2017-03-03 08:33:10.000000000","message":"Done","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"},{"line_number":93,"context_line":"to a seamless transition system from volume based ephemeral backends to Cinder"},{"line_number":94,"context_line":"backend. Since there are more than one such backends (LVM, Ceph), and Cinder"},{"line_number":95,"context_line":"is able to acquire unmanaged volumes, the transition system probably will have"},{"line_number":96,"context_line":"much common code with small backend-related parts. So it will not be a big"},{"line_number":97,"context_line":"extra work to add support for ScaleIO there as well."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_adf15b03","line":97,"range":{"start_line":92,"start_character":0,"end_line":97,"end_character":52},"updated":"2017-03-02 22:36:39.000000000","message":"Is this need?\nFeels like speculation on how cinder ephemeral driver framework will be implemented. Let\u0027s wait till we have a spec on it. If the spec already exists, please, add it to references and uses it for comparison point.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":89,"context_line":"From the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"},{"line_number":93,"context_line":"to a seamless transition system from volume based ephemeral backends to Cinder"},{"line_number":94,"context_line":"backend. Since there are more than one such backends (LVM, Ceph), and Cinder"},{"line_number":95,"context_line":"is able to acquire unmanaged volumes, the transition system probably will have"},{"line_number":96,"context_line":"much common code with small backend-related parts. So it will not be a big"},{"line_number":97,"context_line":"extra work to add support for ScaleIO there as well."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_97bf32a9","line":97,"range":{"start_line":92,"start_character":0,"end_line":97,"end_character":52},"in_reply_to":"ba2be162_adf15b03","updated":"2017-03-03 08:33:10.000000000","message":"This is needed, because as i pointed above in comments, the alternative is going to be implemented in any case. So we need to estimate how ScaleIO backend affects the alternative implementation.\n\nBased of my knowledge of Nova and Cinder and had discussed that in IRC with John Garbutt, i wrote this estimation. If i wait for proofs, which may be at least approved spec, i\u0027ll suspend this task on unknown time.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"much common code with small backend-related parts. So it will not be a big"},{"line_number":97,"context_line":"extra work to add support for ScaleIO there as well."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"#. Approximate disk size to the closest multiple of 8 Gb. Write a"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_8dd7374a","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":35},"updated":"2017-03-02 22:36:39.000000000","message":"clean language again.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":96,"context_line":"much common code with small backend-related parts. So it will not be a big"},{"line_number":97,"context_line":"extra work to add support for ScaleIO there as well."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"#. Approximate disk size to the closest multiple of 8 Gb. Write a"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_9a5d9917","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":35},"in_reply_to":"ba2be162_8dd7374a","updated":"2017-03-03 08:33:10.000000000","message":"Done","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"#. Approximate disk size to the closest multiple of 8 Gb. Write a"},{"line_number":103,"context_line":"   recommendation for cloud operators into Nova documentation to use multiples"},{"line_number":104,"context_line":"   of 8 Gb for disk sizes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"   Instances will get disks bigger than it is requested. This makes usage of"},{"line_number":107,"context_line":"   statistics gathered by Nova, Ceilometer, etc. nonsense. Also snapshots size"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_2df00bc9","line":104,"range":{"start_line":102,"start_character":3,"end_line":104,"end_character":26},"updated":"2017-03-02 22:36:39.000000000","message":"we are better of if this is done automatically without human intervention","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Instead of to fail to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"#. Approximate disk size to the closest multiple of 8 Gb. Write a"},{"line_number":103,"context_line":"   recommendation for cloud operators into Nova documentation to use multiples"},{"line_number":104,"context_line":"   of 8 Gb for disk sizes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"   Instances will get disks bigger than it is requested. This makes usage of"},{"line_number":107,"context_line":"   statistics gathered by Nova, Ceilometer, etc. nonsense. Also snapshots size"}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_19c70565","line":104,"range":{"start_line":102,"start_character":3,"end_line":104,"end_character":26},"in_reply_to":"ba2be162_2df00bc9","updated":"2017-03-03 08:33:10.000000000","message":"This option is considered in the next alternative.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"   recommendation for cloud operators into Nova documentation to use multiples"},{"line_number":104,"context_line":"   of 8 Gb for disk sizes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"   Instances will get disks bigger than it is requested. This makes usage of"},{"line_number":107,"context_line":"   statistics gathered by Nova, Ceilometer, etc. nonsense. Also snapshots size"},{"line_number":108,"context_line":"   will be bigger than it is expected."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#. The same as previous but also fix instance properties (like root_gb)."}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ada95b92","line":107,"range":{"start_line":106,"start_character":57,"end_line":107,"end_character":57},"updated":"2017-03-02 22:36:39.000000000","message":"can you elaborate on this point? Allocated disk size will be potentially larger to be multiple of 8G. So nova, telemetry should account for it appropriately.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":103,"context_line":"   recommendation for cloud operators into Nova documentation to use multiples"},{"line_number":104,"context_line":"   of 8 Gb for disk sizes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"   Instances will get disks bigger than it is requested. This makes usage of"},{"line_number":107,"context_line":"   statistics gathered by Nova, Ceilometer, etc. nonsense. Also snapshots size"},{"line_number":108,"context_line":"   will be bigger than it is expected."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#. The same as previous but also fix instance properties (like root_gb)."}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_39ee89b4","line":107,"range":{"start_line":106,"start_character":57,"end_line":107,"end_character":57},"in_reply_to":"ba2be162_ada95b92","updated":"2017-03-03 08:33:10.000000000","message":"Nova reports not real disk sizes, but stored in its metadata. If we run an instance with a flavor which disk_size\u003d1, this size is stored in the instance properties and is not changed even the image backend allocated more space. There is no ability to fix this data at the moment. See also the next alternative.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":164,"context_line":"  images_type \u003d sio"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"  [scaleio]"},{"line_number":167,"context_line":"  rest_server_ip \u003d \u003cScaleIO Gateway IP\u003e"},{"line_number":168,"context_line":"  rest_server_username \u003d \u003cScaleIO Gateway user\u003e"},{"line_number":169,"context_line":"  rest_server_password \u003d \u003cScaleIO Gateway user password\u003e"},{"line_number":170,"context_line":"  default_protection_domain_name \u003d \u003cScaleIO protection domain\u003e"},{"line_number":171,"context_line":"  default_storage_pool_name \u003d \u003cScaleIO pool name\u003e"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Optional parameters::"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_8d96573d","line":171,"range":{"start_line":167,"start_character":0,"end_line":171,"end_character":49},"updated":"2017-03-02 22:36:39.000000000","message":"Are these required to be the same as cinder configuration?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":164,"context_line":"  images_type \u003d sio"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"  [scaleio]"},{"line_number":167,"context_line":"  rest_server_ip \u003d \u003cScaleIO Gateway IP\u003e"},{"line_number":168,"context_line":"  rest_server_username \u003d \u003cScaleIO Gateway user\u003e"},{"line_number":169,"context_line":"  rest_server_password \u003d \u003cScaleIO Gateway user password\u003e"},{"line_number":170,"context_line":"  default_protection_domain_name \u003d \u003cScaleIO protection domain\u003e"},{"line_number":171,"context_line":"  default_storage_pool_name \u003d \u003cScaleIO pool name\u003e"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Optional parameters::"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_e43c48ca","line":171,"range":{"start_line":167,"start_character":0,"end_line":171,"end_character":49},"in_reply_to":"ba2be162_8d96573d","updated":"2017-03-03 08:33:10.000000000","message":"yes, they are","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":7160,"name":"arkady kanevsky","email":"akanevsk@redhat.com","username":"arkady"},"change_message_id":"1526056599a093c0833f654922319da22bf7e26d","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* Unit tests."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* Will be tested with a new thirdparty ScaleIO CI, using the same or similar"},{"line_number":236,"context_line":"  infrastructure as ScaleIO Cinder CI does."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"No new Tempest test will be introduced."},{"line_number":239,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_ed04334b","line":236,"range":{"start_line":235,"start_character":2,"end_line":236,"end_character":43},"updated":"2017-03-02 22:36:39.000000000","message":"Is this nova 3rd party CI? Is Dell EMC have nova 3rd party CI running for it?","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"88bd19e239fd37987ef3f9529b84f5c465fbbf14","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* Unit tests."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* Will be tested with a new thirdparty ScaleIO CI, using the same or similar"},{"line_number":236,"context_line":"  infrastructure as ScaleIO Cinder CI does."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"No new Tempest test will be introduced."},{"line_number":239,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba2be162_34b12448","line":236,"range":{"start_line":235,"start_character":2,"end_line":236,"end_character":43},"in_reply_to":"ba2be162_ed04334b","updated":"2017-03-03 08:33:10.000000000","message":"Yes, it\u0027s planned as the 3rd party CI. Dell EMC has deployed one, based on their CI lab. But it\u0027s not plugged to Gerrit yet.","commit_id":"ab8ca646cf6e1780df54b4512d2b2a2142e20b5b"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"storage [1]_ - as an ephemeral storage backend. ScaleIO is already supported"},{"line_number":20,"context_line":"by Cinder (and os-brick) for volume hosting. It is reasonable (and asked by"},{"line_number":21,"context_line":"customers) to let Nova use ScaleIO for ephemeral disks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The required set of supported features should be the same as the one"},{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_af02ba70","line":22,"updated":"2017-03-06 18:59:42.000000000","message":"This is a common request for most of the Cinder backends at this point, solving this more generally would be the right approach IMO instead of continuing to do ad-hoc vendor-unique additions.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":24,"context_line":"implemented for Ceph, including live migration, except features related to"},{"line_number":25,"context_line":"optimized interaction with Glance, like clone or direct snapshot, because"},{"line_number":26,"context_line":"Glance does not support ScaleIO yet. The target virtual driver should be"},{"line_number":27,"context_line":"libvirt."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Main ScaleIO traits which have to be considered in a special way during"},{"line_number":30,"context_line":"development are:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_efcf5227","line":27,"updated":"2017-03-06 18:59:42.000000000","message":"Rather than use Ceph as your reference could you just describe in terms of the existing API and Nova commands?  For example, the Ceph cloning and snapshot features are more implementation details and not functionality via the API.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"* ScaleIO devices must be explicitly connected to a compute host before usage,"},{"line_number":33,"context_line":"  and disconnected after that."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* ScaleIO can provide volumes which sizes are multiples of 8 Gb only."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_afec7a93","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":10},"updated":"2017-03-06 18:59:42.000000000","message":"I\u0027m painfully aware of this annoyance :)","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"---------"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A cloud operator selects ScaleIO as the ephemeral backend for certain"},{"line_number":41,"context_line":"  compute nodes. He/she ensures that no instance is running on the nodes."},{"line_number":42,"context_line":"  He/she ensures that SDC (ScaleIO Data Client) is properly installed on the"},{"line_number":43,"context_line":"  nodes, and makes appropriate changes to nova-compute configuration files to"},{"line_number":44,"context_line":"  setup them to use ScaleIO cluster. After restart nova-compute services on"},{"line_number":45,"context_line":"  the nodes new instances will use ScaleIO for all ephemeral disks."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There is no other use case specific for ScaleIO in addition to existing ones to"},{"line_number":48,"context_line":"manage instances by end user and/or cloud operator. Most valuable existing use"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_af61da13","line":45,"range":{"start_line":41,"start_character":17,"end_line":45,"end_character":67},"updated":"2017-03-06 18:59:42.000000000","message":"After the first sentence this doesn\u0027t seem like a \"use case\" but instead a process for setting things up.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  will be introduced and will be used throughout all *nova.virt.libvirt*"},{"line_number":57,"context_line":"  package as it is done for rbd and lvm image types."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Required operations to connect/disconnect instance\u0027s disks will be called in"},{"line_number":60,"context_line":"  several appropriate places of *nova.virt.libvirt.driver*. These calls will"},{"line_number":61,"context_line":"  be wrapped by *if* clause to perform them for the new backend explicitly,"},{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_0f3f46d7","line":62,"range":{"start_line":59,"start_character":2,"end_line":62,"end_character":43},"updated":"2017-03-06 18:59:42.000000000","message":"I think we should try and offload more of the differentiation handling to the backend driver itself and keep the interfaces further up the stack abstract (if possible).  This may mean some modifications/improvements to the existing code.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5061e79c4b752f9a20c16a4b1979b2b9b9b4909f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  will be introduced and will be used throughout all *nova.virt.libvirt*"},{"line_number":57,"context_line":"  package as it is done for rbd and lvm image types."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Required operations to connect/disconnect instance\u0027s disks will be called in"},{"line_number":60,"context_line":"  several appropriate places of *nova.virt.libvirt.driver*. These calls will"},{"line_number":61,"context_line":"  be wrapped by *if* clause to perform them for the new backend explicitly,"},{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_5e364ae8","line":62,"range":{"start_line":59,"start_character":2,"end_line":62,"end_character":43},"in_reply_to":"ba2be162_0f3f46d7","updated":"2017-03-06 20:35:09.000000000","message":"+1, the libvirt driver already has too much special case conditional logic code all over it, not just for the image backend but also for the various virt_type values which are supported.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  be wrapped by *if* clause to perform them for the new backend explicitly,"},{"line_number":62,"context_line":"  as it is done for rbd and other backends."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* ScaleIO image backend will fail to create disks with sizes differ from"},{"line_number":65,"context_line":"  multiples of 8 Gb. The only exception is rescue disk, which is created with"},{"line_number":66,"context_line":"  no size specified. In this case the backend will approximate the rescue image"},{"line_number":67,"context_line":"  size up to 8 Gb multiple."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Config drive will not be hosted on ScaleIO, but will be placed in instance"},{"line_number":70,"context_line":"  local directory, as it happens by default. With iso9660 format this will not"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_f2a3b5fe","line":67,"range":{"start_line":64,"start_character":2,"end_line":67,"end_character":27},"updated":"2017-03-06 18:59:42.000000000","message":"I\u0027ve never liked the \"fail if not the write multiple\".  I don\u0027t know if it would be better/worse to just round up and deduct the appropriate quota.  That\u0027s ugly because the user isn\u0027t getting what they actually ask for, but maybe you have a plan for only allowing this with certain images in which case you could use the size specification in the image to fix this?","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e9c6af53c05759023117321caf83d5e0d017e57","unresolved":false,"context_lines":[{"line_number":77,"context_line":"it is possible to develop Cinder ephemeral storage backend, which obviously"},{"line_number":78,"context_line":"may serve any kind of physical storage supported by Cinder"},{"line_number":79,"context_line":"(including ScaleIO). Although the previous attempt [2]_ to get such backend"},{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_6fe60246","line":80,"range":{"start_line":80,"start_character":13,"end_line":80,"end_character":68},"updated":"2017-03-06 18:42:05.000000000","message":"It would be good to link to this:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2017-February/113063.html","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e9c6af53c05759023117321caf83d5e0d017e57","unresolved":false,"context_lines":[{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"},{"line_number":85,"context_line":"throughout whole libvirt driver. But Ceph backend is used widely, so it is"},{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_eff11203","line":84,"range":{"start_line":83,"start_character":13,"end_line":84,"end_character":7},"updated":"2017-03-06 18:42:05.000000000","message":"I don\u0027t know where this was stated. We said a beneficial side effect of adding a cinder imagebackend was that we could eventually use it to replace the rbd imagebackend and also support any other block storage backends that cinder supports, which would include scaleio.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":78,"context_line":"may serve any kind of physical storage supported by Cinder"},{"line_number":79,"context_line":"(including ScaleIO). Although the previous attempt [2]_ to get such backend"},{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"},{"line_number":85,"context_line":"throughout whole libvirt driver. But Ceph backend is used widely, so it is"},{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_af8d5a2c","line":84,"range":{"start_line":81,"start_character":0,"end_line":84,"end_character":73},"updated":"2017-03-06 18:59:42.000000000","message":"I\u0027ll work on getting a spec ready for this shortly.  The conversation was that \"at some point\" it could potentially be used for Ceph backends as well, but that\u0027s not the primary focus for the first pass.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c5feb0c1ee76dcb2d6286e497cd401a964b088e1","unresolved":false,"context_lines":[{"line_number":78,"context_line":"may serve any kind of physical storage supported by Cinder"},{"line_number":79,"context_line":"(including ScaleIO). Although the previous attempt [2]_ to get such backend"},{"line_number":80,"context_line":"was stopped, recently this idea was discussed in the community again. However"},{"line_number":81,"context_line":"there is even no new spec for this task at the moment. Also the"},{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"},{"line_number":85,"context_line":"throughout whole libvirt driver. But Ceph backend is used widely, so it is"},{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_c573a115","line":84,"range":{"start_line":81,"start_character":0,"end_line":84,"end_character":73},"in_reply_to":"ba2be162_af8d5a2c","updated":"2017-04-05 11:22:33.000000000","message":"That was probably me, I think its a success when the ceph backend is replaced by the cinder stuff. Now thats likely to require a heap of work, but I think its what we should do.\n\nI recon we should also stop doing local storage in Nova, and make cinder manage that. So maybe I am a bit lunatic fringe on this stuff.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"fc6e415bb2715be8759d1c2208ab998a918be45c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"implementation seems to be much more complex, probably needing additional"},{"line_number":83,"context_line":"refactoring, because the backend is intended particularly to replace Ceph"},{"line_number":84,"context_line":"backend, which implementation (explicit and implicit) is very distributed"},{"line_number":85,"context_line":"throughout whole libvirt driver. But Ceph backend is used widely, so it is"},{"line_number":86,"context_line":"important for the task to be completed to support in Cinder backend each"},{"line_number":87,"context_line":"feature of Ceph backend. Because that it looks that Cinder backend cannot be"},{"line_number":88,"context_line":"implemented pretty soon, but requires 2-3 release cycles."},{"line_number":89,"context_line":"On the other hand we have ScaleIO backend which is already implemented for"},{"line_number":90,"context_line":"previous OpenStack releases (since Juno), and also available for various"},{"line_number":91,"context_line":"deployment tools [3]_."},{"line_number":92,"context_line":"Another question in this theme is if ScaleIO backend brings much complexity"},{"line_number":93,"context_line":"to a seamless transition system from volume based ephemeral backends to Cinder"},{"line_number":94,"context_line":"backend. Since there are more than one such backends (LVM, Ceph), and Cinder"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_d2d3115e","line":91,"range":{"start_line":85,"start_character":0,"end_line":91,"end_character":22},"updated":"2017-03-06 18:59:42.000000000","message":"Sure, your points about Ceph implementations are certainly valid, but  to be clear again we\u0027re not immediately proposing replacement of the Ceph image driver.  It would certainly be smart if we worked toward that goal.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e9c6af53c05759023117321caf83d5e0d017e57","unresolved":false,"context_lines":[{"line_number":93,"context_line":"to a seamless transition system from volume based ephemeral backends to Cinder"},{"line_number":94,"context_line":"backend. Since there are more than one such backends (LVM, Ceph), and Cinder"},{"line_number":95,"context_line":"is able to acquire unmanaged volumes, the transition system probably will have"},{"line_number":96,"context_line":"much common code with small backend-related parts. So it will not be a big"},{"line_number":97,"context_line":"extra work to add support for ScaleIO there as well."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Instead of failing to run instances on flavors with wrong disk sizes it is"},{"line_number":100,"context_line":"possible:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba2be162_8fffb6a9","line":97,"range":{"start_line":96,"start_character":51,"end_line":97,"end_character":52},"updated":"2017-03-06 18:42:05.000000000","message":"The point of the cinder backend is that we don\u0027t need an rbd, lvm or scaleio imagebackend in nova, we just use cinder. So I\u0027m not sure what this sentence is saying since we shouldn\u0027t have to add scaleio-specific support to a cinder imagebackend in nova.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"32918ed3a7fd140e7f2e0e7003d44fe63b1cf194","unresolved":false,"context_lines":[{"line_number":103,"context_line":"   recommendation for cloud operators into Nova documentation to use multiples"},{"line_number":104,"context_line":"   of 8 Gb for disk sizes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"   Instances will get disks bigger than it is requested. This makes usage of"},{"line_number":107,"context_line":"   statistics gathered by Nova, Ceilometer, etc. nonsense. Also snapshots size"},{"line_number":108,"context_line":"   will be bigger than it is expected."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"#. The same as previous but also fix instance properties (like root_gb)."},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_ee80ddc1","line":108,"range":{"start_line":106,"start_character":3,"end_line":108,"end_character":38},"updated":"2017-04-04 21:51:10.000000000","message":"I thought we were going to fail if the disk size wasn\u0027t in a multiple of 8? Maybe I\u0027m misunderstanding this, but we can\u0027t just randomly adjust the size to bump it up to a multiple of 8 as that breaks capacity planning and reporting. I think the limitation, as noted, is operators that use this backend will need to have flavors tied specific to host aggregates for this backend. If all of your storage is through scaleio, then all of your flavors have disk in multiples of 8gb. If you have a mix of hosts, then you create aggregates and tie specific flavors to those aggregates. What I\u0027m unclear on is how you keep other flavors that won\u0027t fit from landing on these hosts. I\u0027m sure there is a filter for that, I just don\u0027t know it off the top of my head.\n\nAggregateInstanceExtraSpecsFilter is for the case where we have the flavors with extra specs tied to the host aggregates running scaleio. What I don\u0027t know about is how to prevent flavors that don\u0027t have extra specs from landing on those host aggregates and failing.\n\nOr maybe the assumption is just that anyone ever using this backend is going to be getting it via a converged architecture product from EMC and they are using scaleio for all storage at all times and all flavors are pre-configured with the correct disk sizes and/or extra specs? I assume that is more the case here.\n\n\u003clater\u003e\n\nNevermind, I guess this is an *alternative* and you\u0027re pointing out that we aren\u0027t going to do that (automatically size up the disk I mean). So I agree with that part.","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"32918ed3a7fd140e7f2e0e7003d44fe63b1cf194","unresolved":false,"context_lines":[{"line_number":196,"context_line":"volume backed instances only, because that it is not recommended to create such"},{"line_number":197,"context_line":"flavor. At the same time zero ephemeral/swap size is processed by usual way."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"If an OpenStack deployment has compute nodes, which use any other image"},{"line_number":200,"context_line":"backend, and there is necessary to have ScaleIO-incompatible flavors there, it"},{"line_number":201,"context_line":"is possible to get this with scheduler filtering using flavor extra specs and"},{"line_number":202,"context_line":"host aggregates."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"Developer impact"},{"line_number":205,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dfeb2761_794db9c2","line":202,"range":{"start_line":199,"start_character":0,"end_line":202,"end_character":16},"updated":"2017-04-04 21:51:10.000000000","message":"This is what I was asking about above. Maybe the intent is if you have mixed computes, some with scaleio restrictions and some without, then you create host aggregates for the entire deployment, and constrain specific scalio flavors to the scalio hosts and non-scaleio flavors to non-scaleio hosts?","commit_id":"03342d4b864120b7454f56794d3f16aefd58c353"}]}
