)]}'
{"specs/juno/expose-configdrive.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cfd386e4c10a5b57dbef925a18db7949f0b5412d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* The full image, gzipped and base64\u0027d."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"This is discussed in more detail in this nova spec.[0] *Using the swift method"},{"line_number":64,"context_line":"is the recommended way to use this feature.*"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Two new methods will be added to the deploy driver API, called"},{"line_number":67,"context_line":"\"expose_configdrive\" and \"remove_configdrive\". Deploy drivers may choose to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_221fe8b8","line":64,"updated":"2014-06-17 11:58:32.000000000","message":"Than maybe just deleted option to include base64-encoded image? This sounds insane for me, especially if we display instance_info in output of node-show.","commit_id":"42a8b8ab1f834bee63eaec8e0ca3244d437561d8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cfd386e4c10a5b57dbef925a18db7949f0b5412d","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Use an OOB mechanism to mount the image as a virtual disk."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* Use an OOB mechanism to configure the instance to mount the image from a SAN."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"\"remove_configdrive\" will do any work required to remove the configdrive from"},{"line_number":81,"context_line":"the instance upon deletion, whether that is erasing the partition, unmounting"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_c2eac473","line":78,"updated":"2014-06-17 11:58:32.000000000","message":"Some note about this section: please be clear when exactly this new calls will happen. From what I see now, there\u0027s no reasons to separate expose_configdrive from deploy, because only driver itself knows, when it should happen.\n\nE.g. option 1 will happen when partitioning, other maybe when instance is already up and running etc.","commit_id":"42a8b8ab1f834bee63eaec8e0ca3244d437561d8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cfd386e4c10a5b57dbef925a18db7949f0b5412d","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"\"remove_configdrive\" will do any work required to remove the configdrive from"},{"line_number":81,"context_line":"the instance upon deletion, whether that is erasing the partition, unmounting"},{"line_number":82,"context_line":"the virtual disk, or something else."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Alternatives"},{"line_number":85,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_02fcac3e","line":82,"updated":"2014-06-17 11:58:32.000000000","message":"Again, why separating it from standard destroy interface\u003e","commit_id":"42a8b8ab1f834bee63eaec8e0ca3244d437561d8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cfd386e4c10a5b57dbef925a18db7949f0b5412d","unresolved":false,"context_lines":[{"line_number":134,"context_line":"stored in the nodes database table, which could have an impact both on the"},{"line_number":135,"context_line":"size of the database and the performance of database access. Additionally,"},{"line_number":136,"context_line":"this would involve passing large PATCH bodies to Ironic, which could take time"},{"line_number":137,"context_line":"to parse and process."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"If the Swift option is used, use of the configdrive would require a call to"},{"line_number":140,"context_line":"Swift, which will have some impact on the system, but is probably somewhat"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_0283cca9","line":137,"updated":"2014-06-17 11:58:32.000000000","message":"and that\u0027s why I suggest dropping this option.","commit_id":"42a8b8ab1f834bee63eaec8e0ca3244d437561d8"}],"specs/kilo/expose-configdrive.rst":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3dc7653ae5a74fc8741aba18a6c755e979d587c1","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"In Ironic\u0027s case, there is no hypervisor, so this image needs to be exposed to"},{"line_number":40,"context_line":"the instance in some other fashion. This could be accomplished by writing the"},{"line_number":41,"context_line":"image to a partition on the node, exposing the image via the out-of-band"},{"line_number":42,"context_line":"mechanism (e.g. a virtual floppy in HP\u0027s iLO), or configuring the node to mount"},{"line_number":43,"context_line":"the image from a SAN. In any case, this needs to be handled by Ironic, rather"},{"line_number":44,"context_line":"than Nova. However, Nova has the data that belongs in the configdrive, as well"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_beee4ceb","line":41,"updated":"2014-10-15 16:51:09.000000000","message":"As a note; support in cloud-init for ConfigDrives as disk partitions is upstream+released as of 0.7.5 as long as the filesystem is properly labelled (config-2).\n\nI\u0027m curious if some of the other methods (virtual floppy/cdrom, network mounted image) are going to also require patches to cloud-init to work. Should be easy patches if needed. (This is irrelevant to approving this spec though; if we provide the data cloud-init can be made to consume it.)","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0565bfac3cbbabff412bdb409001a51d5d2b852c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Drivers will be responsible for exposing the configdrive to the instance, as"},{"line_number":60,"context_line":"well as removing the configdrive from the instance upon deletion. This cannot"},{"line_number":61,"context_line":"be coordinated by code outside of the driver, as only the driver can know"},{"line_number":62,"context_line":"when and how to take these actions."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Some mechanisms a driver may use to expose a configdrive include:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_21f16a01","line":62,"updated":"2014-10-15 11:44:41.000000000","message":"Is it reasonable for a driver to fail if it does not support configdriver? That again brings topic about exposing driver capabilities to nova driver...","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3dc7653ae5a74fc8741aba18a6c755e979d587c1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Drivers will be responsible for exposing the configdrive to the instance, as"},{"line_number":60,"context_line":"well as removing the configdrive from the instance upon deletion. This cannot"},{"line_number":61,"context_line":"be coordinated by code outside of the driver, as only the driver can know"},{"line_number":62,"context_line":"when and how to take these actions."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Some mechanisms a driver may use to expose a configdrive include:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_7ed22401","line":62,"in_reply_to":"baa201ad_21f16a01","updated":"2014-10-15 16:51:09.000000000","message":"I think it\u0027d be reasonable for some drivers to not support config drive, as long as it\u0027s documented.","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a4fad7d1ed8d2f30a5c99c4af2a5c3f087aa9d20","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Drivers will be responsible for exposing the configdrive to the instance, as"},{"line_number":60,"context_line":"well as removing the configdrive from the instance upon deletion. This cannot"},{"line_number":61,"context_line":"be coordinated by code outside of the driver, as only the driver can know"},{"line_number":62,"context_line":"when and how to take these actions."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Some mechanisms a driver may use to expose a configdrive include:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_1fe2d69f","line":62,"in_reply_to":"baa201ad_6400b901","updated":"2014-10-16 16:02:21.000000000","message":"Yeah, I don\u0027t suggest a dep, just FYI. We can do it later/whenever.","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"56d9146a8ec36769579e1a11c629358f2dd9815b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Drivers will be responsible for exposing the configdrive to the instance, as"},{"line_number":60,"context_line":"well as removing the configdrive from the instance upon deletion. This cannot"},{"line_number":61,"context_line":"be coordinated by code outside of the driver, as only the driver can know"},{"line_number":62,"context_line":"when and how to take these actions."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Some mechanisms a driver may use to expose a configdrive include:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_ae57e258","line":62,"in_reply_to":"baa201ad_7ed22401","updated":"2014-10-16 14:35:28.000000000","message":"what do you think about using https://review.openstack.org/#/c/128927 for it?","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"b80a9def6ad694feee52f2b83cf3d57c50f23484","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Drivers will be responsible for exposing the configdrive to the instance, as"},{"line_number":60,"context_line":"well as removing the configdrive from the instance upon deletion. This cannot"},{"line_number":61,"context_line":"be coordinated by code outside of the driver, as only the driver can know"},{"line_number":62,"context_line":"when and how to take these actions."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Some mechanisms a driver may use to expose a configdrive include:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_6400b901","line":62,"in_reply_to":"baa201ad_ae57e258","updated":"2014-10-16 15:15:06.000000000","message":"I love the idea of using that; I wouldn\u0027t want to make this feature a dep of that one though. Perhaps for starters, drivers that don\u0027t provide configdrive support could noop, then later we\u0027d expose that as a capability?","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3dc7653ae5a74fc8741aba18a6c755e979d587c1","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"* Add tempest tests (in conjuction with the Nova driver)."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Dependencies"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baa201ad_1e8038bf","line":157,"updated":"2014-10-15 16:51:09.000000000","message":"IPA currently has support for being sent a configdrive from Ironic (used in Rackspace\u0027s downstream patchset, but nowhere else). We should add a work item for adding support in IPA for downloading the configdrive out of swift, as this spec proposes.","commit_id":"27af410d940f6cf1b5dffb76584d958ee473f06c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"37a713946d2c5d0346a62ff0ec37759f60c19dda","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Scalability impact"},{"line_number":117,"context_line":"------------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Use of the configdrive would require a call to Glance, which will have some"},{"line_number":120,"context_line":"impact on the system, but is probably negligible."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a890539_a4306b08","line":119,"updated":"2014-11-19 18:11:19.000000000","message":"s/Glance/swift/ ?","commit_id":"76a4b90f5c73dc5187cfafdd347b6436b9eb132c"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c6aaf875845eb1c58ac496296a48d58ba5df7fc7","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Proposed change"},{"line_number":53,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Ironic\u0027s virt driver will generate the configdrive image and give it to Ironic"},{"line_number":56,"context_line":"via a \"configdrive\" field in node.instance_info. This should be a Swift URL"},{"line_number":57,"context_line":"for the image. This is discussed in more detail in this nova spec.[0]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_7f7d2eb1","line":55,"updated":"2014-11-19 18:38:01.000000000","message":"nits: Nova\u0027s \"ironic\" virt driver will ... and pass a reference to it to Ironic via ..,","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"7f7a31382e0dfe2d0cdf22ad369f7ffbdcf87b82","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Proposed change"},{"line_number":53,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Ironic\u0027s virt driver will generate the configdrive image and give it to Ironic"},{"line_number":56,"context_line":"via a \"configdrive\" field in node.instance_info. This should be a Swift URL"},{"line_number":57,"context_line":"for the image. This is discussed in more detail in this nova spec.[0]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_82dc3e76","line":55,"in_reply_to":"5a890539_7f7d2eb1","updated":"2014-11-19 19:25:30.000000000","message":"Done","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c6aaf875845eb1c58ac496296a48d58ba5df7fc7","unresolved":false,"context_lines":[{"line_number":106,"context_line":"---------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"This proposal involves storing end user data as an image in Swift. This may"},{"line_number":109,"context_line":"be a security concern, as this data is not encrypted at rest."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Other end user impact"},{"line_number":112,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_9f49fa90","line":109,"updated":"2014-11-19 18:38:01.000000000","message":"I would note that there are ways to secure this data, but they are out of scope of the initial work. For example, the data could be at-rest encrypted to the node using a shared PKI, if such were available, and if the node\u0027s public key were known to it, such that only that node could decrypt the media during boot.","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"7f7a31382e0dfe2d0cdf22ad369f7ffbdcf87b82","unresolved":false,"context_lines":[{"line_number":106,"context_line":"---------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"This proposal involves storing end user data as an image in Swift. This may"},{"line_number":109,"context_line":"be a security concern, as this data is not encrypted at rest."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Other end user impact"},{"line_number":112,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_a2ca1a6c","line":109,"in_reply_to":"5a890539_9f49fa90","updated":"2014-11-19 19:25:30.000000000","message":"Done","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c6aaf875845eb1c58ac496296a48d58ba5df7fc7","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Other deployer impact"},{"line_number":128,"context_line":"---------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None. All deployer impact is handled in the Nova driver."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_bf4eb694","line":130,"updated":"2014-11-19 18:38:01.000000000","message":"Worth stating that use of this functionality requires an external object store, and the reference implementation will include a requirement on swift.","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"7f7a31382e0dfe2d0cdf22ad369f7ffbdcf87b82","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Other deployer impact"},{"line_number":128,"context_line":"---------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None. All deployer impact is handled in the Nova driver."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_629e7258","line":130,"in_reply_to":"5a890539_bf4eb694","updated":"2014-11-19 19:25:30.000000000","message":"Done","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c6aaf875845eb1c58ac496296a48d58ba5df7fc7","unresolved":false,"context_lines":[{"line_number":191,"context_line":"References"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"[0] https://blueprints.launchpad.net/nova/+spec/use-configdrive-with-ironic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_df43826a","line":194,"updated":"2014-11-19 18:38:01.000000000","message":"Possibly worth adding a reference to docs on config-drive format, etc, for folks that aren\u0027t already familiar with Nova","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"7f7a31382e0dfe2d0cdf22ad369f7ffbdcf87b82","unresolved":false,"context_lines":[{"line_number":191,"context_line":"References"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"[0] https://blueprints.launchpad.net/nova/+spec/use-configdrive-with-ironic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_42e7b6e4","line":194,"in_reply_to":"5a890539_df43826a","updated":"2014-11-19 19:25:30.000000000","message":"Done","commit_id":"6f3c0b52b207b54d8ae1a79aa8793264a330d345"}]}
