)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea051cc3ca7114a5ce9b5aa2c77acbd9b8e61afd","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The current PXE boot kernel command line is global in nature.  Instead,"},{"line_number":10,"context_line":"allow individual images to override the global kernel command line with"},{"line_number":11,"context_line":"glance image properites."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ia1add8a1b27a8e7aefca8c6fd186335fc8cea6a8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"7aaa499b_95f28899","line":11,"updated":"2015-04-12 00:53:56.000000000","message":"s/properites/properties/","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"}],"specs/kilo/override-pxe-options-via-glance-property.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":"22957576ccf39a5af6664ba42622cff168245a29","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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Override PXE kernel command line via glance properties"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_f30ce23b","line":8,"updated":"2014-12-30 18:55:33.000000000","message":"nit: s/properties/property/","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"33ea4bcf340a2791363df86a724c793f32af9c15","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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Override PXE kernel command line via glance properties"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_d0326af1","line":8,"in_reply_to":"3a961159_f30ce23b","updated":"2014-12-31 23:16:26.000000000","message":"Done","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"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":"22957576ccf39a5af6664ba42622cff168245a29","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Override PXE kernel command line via glance properties"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/ironic/+spec/override-pxe-options-via-glance-property"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_b30b3a23","line":11,"updated":"2014-12-30 18:55:33.000000000","message":"Nit: You can remove this and the following line","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"33ea4bcf340a2791363df86a724c793f32af9c15","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Override PXE kernel command line via glance properties"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/ironic/+spec/override-pxe-options-via-glance-property"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_b0331ef6","line":11,"in_reply_to":"3a961159_b30b3a23","updated":"2014-12-31 23:16:26.000000000","message":"Done","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"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":"22957576ccf39a5af6664ba42622cff168245a29","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":38,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":39,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_134a4e55","line":36,"updated":"2014-12-30 18:55:33.000000000","message":"There are definitely cases where we\u0027d want the kernel command lines merged instead of completely overriden in glance, because there are often hardware specific configurations (like serial consoles) configured via kernel CLI. I\u0027d suggest an alternative approach: parse the keys used, and replace/append the ones in the Glance property.\n\nFor example:\nglobal config is: root\u003d/dev/sda0 console\u003d/dev/ttyS3 foo1\u003dbar1\n\nglance property is: root\u003d/dev/mapper/atomicos-root ostree\u003d/path/to/tree foo2\u003dbar1\n\nThe kernel command line shipped would be:\nroot\u003d/dev/mapper/atomicos-root console\u003d/dev/ttyS3 foo1\u003dbar1 foo2\u003dbar1 \n\nor something similar.\n\nWhat do you think?","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"33ea4bcf340a2791363df86a724c793f32af9c15","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":38,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":39,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_702296a4","line":36,"in_reply_to":"3a961159_134a4e55","updated":"2014-12-31 23:16:26.000000000","message":"Hmm this is precisely what I meant when I wrote the change request, I guess I wasn\u0027t clear.  I\u0027ll update to improve clarity.","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"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":"22957576ccf39a5af6664ba42622cff168245a29","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"There is minimal data model impact with this change.  It may be required to"},{"line_number":67,"context_line":"store the kernel_cmdline into the database, but I am unclear on this point at"},{"line_number":68,"context_line":"the moment.  There will not be a need for new objects."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"REST API impact"},{"line_number":71,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_5373f6b3","line":68,"updated":"2014-12-30 18:55:33.000000000","message":"You will need to for the pxe driver. Also, notably, you\u0027ll not be able to modify kernel command line for full disk images (not that you\u0027d likely want to in those cases anyway).","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"33ea4bcf340a2791363df86a724c793f32af9c15","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"There is minimal data model impact with this change.  It may be required to"},{"line_number":67,"context_line":"store the kernel_cmdline into the database, but I am unclear on this point at"},{"line_number":68,"context_line":"the moment.  There will not be a need for new objects."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"REST API impact"},{"line_number":71,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_9038e2d5","line":68,"in_reply_to":"3a961159_5373f6b3","updated":"2014-12-31 23:16:26.000000000","message":"Done","commit_id":"ed801ea1e804cb86824f766cbd8cc46a4bf977f4"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":36,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":37,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":38,"context_line":"Ironic (conductor) will pull the boot_cmdline property.  If the boot_cmdline"},{"line_number":39,"context_line":"property is found, any keys in the boot_cmdline will override any keys in the"},{"line_number":40,"context_line":"default PXE boot config."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e3014605","line":38,"updated":"2015-01-05 09:20:20.000000000","message":"It seems some time back there was a proposal in nova to use kernel_args in the glance image.  But I doubt if it has been implemented.\nhttps://wiki.openstack.org/wiki/LibvirtCustomKernelArgs","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1eecde643e44c3bedf913c35f6bd7b368c8d05cf","unresolved":false,"context_lines":[{"line_number":35,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":36,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":37,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":38,"context_line":"Ironic (conductor) will pull the boot_cmdline property.  If the boot_cmdline"},{"line_number":39,"context_line":"property is found, any keys in the boot_cmdline will override any keys in the"},{"line_number":40,"context_line":"default PXE boot config."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e67e9fe3","line":38,"in_reply_to":"3a961159_2be15cfc","updated":"2015-01-09 21:18:53.000000000","message":"Done","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"72132af694edc7825c7102c4d1eb715c9e4c09c6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":36,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":37,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":38,"context_line":"Ironic (conductor) will pull the boot_cmdline property.  If the boot_cmdline"},{"line_number":39,"context_line":"property is found, any keys in the boot_cmdline will override any keys in the"},{"line_number":40,"context_line":"default PXE boot config."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_2be15cfc","line":38,"in_reply_to":"3a961159_6192abf7","updated":"2015-01-05 17:02:12.000000000","message":"Yeah boot_cmdline seems fine to me, but I would rather prefer kernel_cmdline. :)","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":36,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":37,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":38,"context_line":"Ironic (conductor) will pull the boot_cmdline property.  If the boot_cmdline"},{"line_number":39,"context_line":"property is found, any keys in the boot_cmdline will override any keys in the"},{"line_number":40,"context_line":"default PXE boot config."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_6192abf7","line":38,"in_reply_to":"3a961159_e3014605","updated":"2015-01-05 14:01:42.000000000","message":"I could name it that, or something else.  What is your suggestion?","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"and the boot_cmdline poorperty is:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* root\u003d/dev/mapper/atomicos-root/ ostree\u003d/path/to/tree foo2\u003dbar2"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The boot_cmdline that will be set for the pxeserver that boots the particular"},{"line_number":51,"context_line":"Ironic node will be:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_802eb8a3","line":48,"updated":"2015-01-05 09:20:20.000000000","message":"Is /path/to/tree a unique per image or unique per instance of the deployed image.  I assume it is to be found out after deploying the image just like we find the root uuid.  \n\nIf it has to be found out after deployment,\nCurrent we have the template like this:\nroot\u003d{{ ROOT }} ro text\n\nThus Ironic know it has to replace {{ ROOT }} with the root uuid that it finds.  How will Ironic know the ostree and how will it know to replace.  Are we planning to use jinja templates in glance image property ?","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1eecde643e44c3bedf913c35f6bd7b368c8d05cf","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"and the boot_cmdline poorperty is:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* root\u003d/dev/mapper/atomicos-root/ ostree\u003d/path/to/tree foo2\u003dbar2"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The boot_cmdline that will be set for the pxeserver that boots the particular"},{"line_number":51,"context_line":"Ironic node will be:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e6177fa1","line":48,"in_reply_to":"3a961159_2b8f9c2f","updated":"2015-01-09 21:18:53.000000000","message":"ostree is dynamic in some cases.  Atomic boots ostree/0 for the first update, ostree/1 for second, /ostree/2 for third, etc.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"and the boot_cmdline poorperty is:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* root\u003d/dev/mapper/atomicos-root/ ostree\u003d/path/to/tree foo2\u003dbar2"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The boot_cmdline that will be set for the pxeserver that boots the particular"},{"line_number":51,"context_line":"Ironic node will be:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e19e9b06","line":48,"in_reply_to":"3a961159_802eb8a3","updated":"2015-01-05 14:01:42.000000000","message":"I had not planned to use jinja templates.  I had just planned a simple merge of the two key/value pair lists (i.e. add two dicts together) with always replacing key/value pairs in the original dict with any found in the glance keypair override.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"72132af694edc7825c7102c4d1eb715c9e4c09c6","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"and the boot_cmdline poorperty is:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* root\u003d/dev/mapper/atomicos-root/ ostree\u003d/path/to/tree foo2\u003dbar2"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The boot_cmdline that will be set for the pxeserver that boots the particular"},{"line_number":51,"context_line":"Ironic node will be:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_2b8f9c2f","line":48,"in_reply_to":"3a961159_e19e9b06","updated":"2015-01-05 17:02:12.000000000","message":"I see. So neither \u0027root\u0027 nor \u0027ostree\u0027 needs to be dynamic and retrieved after deployment.  It will be embedded statically within the glance image. Am I correct ?","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":66,"context_line":"-----------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the kernel_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e3286687","line":69,"updated":"2015-01-05 09:20:20.000000000","message":"I assume you meant to store boot_cmdline in Ironic database.  Why is it required to store it in Ironic database ? I suppose the same substituted pxe config file will be used until the node is unprovisioned.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"72132af694edc7825c7102c4d1eb715c9e4c09c6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"-----------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the kernel_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_cbaff87b","line":69,"in_reply_to":"3a961159_c1651f1e","updated":"2015-01-05 17:02:12.000000000","message":"I guess writing to the database is not required. The information is written to the PXE config and would be available until the node is unprovisioned or rebuilt.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"-----------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the kernel_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_c1651f1e","line":69,"in_reply_to":"3a961159_e3286687","updated":"2015-01-05 14:01:42.000000000","message":"The last review indicated it must be stored in the database.  I would be ok with retrieving it again, but it is possible between boots the information could be lost (the image could be removed).  I\u0027m not sure what would happen with Ironic in this case.  I got the impressoin in the review it would not fail, but would continue to boot the old image in which case access to the old properties is necessary.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Security impact"},{"line_number":93,"context_line":"---------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"It is possible the user provided kernel_cmdline data could create a DoS if the"},{"line_number":96,"context_line":"user had sufficient permission to use the baremetal flavor and had a long"},{"line_number":97,"context_line":"kernel_cmdline property.  Limits should be verified and tested under real"},{"line_number":98,"context_line":"world scnearios."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_633476df","line":95,"updated":"2015-01-05 09:20:20.000000000","message":"I assume you meant boot_cmdline.  Do the user really have control over the glance meta-property of the image ?","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Security impact"},{"line_number":93,"context_line":"---------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"It is possible the user provided kernel_cmdline data could create a DoS if the"},{"line_number":96,"context_line":"user had sufficient permission to use the baremetal flavor and had a long"},{"line_number":97,"context_line":"kernel_cmdline property.  Limits should be verified and tested under real"},{"line_number":98,"context_line":"world scnearios."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_2176e3d8","line":95,"in_reply_to":"3a961159_633476df","updated":"2015-01-05 14:01:42.000000000","message":"Users absolutely do have control over glance metaproperites.  They do today with the kernel_id and ramdisk_id on the AMI image stored in devstack, for example.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Other end user impact"},{"line_number":101,"context_line":"---------------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The interaction the user has with the system is via glance property"},{"line_number":104,"context_line":"registration.  This should be documented.  It is not possible to modify the"},{"line_number":105,"context_line":"kernel command line for full disk images."},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_833322f5","line":103,"updated":"2015-01-05 09:20:20.000000000","message":"user or operator ?","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Other end user impact"},{"line_number":101,"context_line":"---------------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The interaction the user has with the system is via glance property"},{"line_number":104,"context_line":"registration.  This should be documented.  It is not possible to modify the"},{"line_number":105,"context_line":"kernel command line for full disk images."},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_6180eb8b","line":103,"in_reply_to":"3a961159_833322f5","updated":"2015-01-05 14:01:42.000000000","message":"operator, I\u0027ll adjust.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":117,"context_line":"Other deployer impact"},{"line_number":118,"context_line":"---------------------"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"The glance property kernel_cmdline, which is optional, can be configured by"},{"line_number":121,"context_line":"the user to override keys in the global pxe boot environment."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_a32e5e8a","line":120,"updated":"2015-01-05 09:20:20.000000000","message":"boot_cmdline or kernel_cmdline ? I see references to both in the document.  Better to use double backticks around this property name so that it is clearly visible.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":117,"context_line":"Other deployer impact"},{"line_number":118,"context_line":"---------------------"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"The glance property kernel_cmdline, which is optional, can be configured by"},{"line_number":121,"context_line":"the user to override keys in the global pxe boot environment."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e143fb69","line":120,"in_reply_to":"3a961159_a32e5e8a","updated":"2015-01-05 14:01:42.000000000","message":"I\u0027ll make sure there is only one property.  I had meant it to be called kernel_cmdline.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"f27a87aa15b8dc163d425821b613d9c8a651dbf9","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Developer impact"},{"line_number":124,"context_line":"----------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"There is minimal developer impact.  If anything, developers will be able to"},{"line_number":127,"context_line":"work with the latest offers of Fedora Atomic, CoreOS, and possibly Ubuntu"},{"line_number":128,"context_line":"Snappy which depends on this specification."},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_e34f8668","line":126,"updated":"2015-01-05 09:20:20.000000000","message":"I guess we mean Ironic developers here.  It wouldn\u0027t have an impact on Ironic developers.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"0062fe7c037fc10767e5a3cd16c1dcacbb0575b3","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Developer impact"},{"line_number":124,"context_line":"----------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"There is minimal developer impact.  If anything, developers will be able to"},{"line_number":127,"context_line":"work with the latest offers of Fedora Atomic, CoreOS, and possibly Ubuntu"},{"line_number":128,"context_line":"Snappy which depends on this specification."},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_81523733","line":126,"in_reply_to":"3a961159_e34f8668","updated":"2015-01-05 14:01:42.000000000","message":"It would have a positive impact, - opening up access to more distros for testing.","commit_id":"0f5d333da3755f9f04deddf5a600708901069409"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"d0b9e953bffbfb985f40a90afa65fbb4d4041caa","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the boot_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_6b29a49a","line":70,"updated":"2015-01-05 17:21:24.000000000","message":"Can you provide some more detail about how the data will be stored. How will a operator add this data?","commit_id":"526cdd00e0c52a9eba1b509bdac194e8887aa27e"},{"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":"eac706b8107ecd39515d58ceb06860df1dbf6cec","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the boot_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_b605a8c3","line":70,"in_reply_to":"3a961159_4b514161","updated":"2015-01-05 21:41:11.000000000","message":"Images can be deleted from glance, even while they\u0027re still provisioned to an instance.","commit_id":"526cdd00e0c52a9eba1b509bdac194e8887aa27e"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"da09cfcc8a14ada94e05cb6149565cf4ae26bd06","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the boot_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_a6b73720","line":70,"in_reply_to":"3a961159_6b29a49a","updated":"2015-01-05 23:08:04.000000000","message":"Chris,\n\nI will add details about specific commands used.  I thought the glance properties were well understood which is why I left out the details.","commit_id":"526cdd00e0c52a9eba1b509bdac194e8887aa27e"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"08b8de414bab1de006a1941def96bec95292c569","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"There is minimal data model impact with this change.  It will be required to"},{"line_number":69,"context_line":"store the boot_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_4b514161","line":70,"in_reply_to":"3a961159_6b29a49a","updated":"2015-01-05 21:35:49.000000000","message":"Why would this need to be stored in the database?  IIRC, the glance properties are fetched on-demand from glance every time the pxe options / templates are rendered.","commit_id":"526cdd00e0c52a9eba1b509bdac194e8887aa27e"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"08b8de414bab1de006a1941def96bec95292c569","unresolved":false,"context_lines":[{"line_number":95,"context_line":"It is possible the user provided boot_cmdline data could create a DoS if the"},{"line_number":96,"context_line":"user had sufficient permission to use the baremetal flavor and had a long"},{"line_number":97,"context_line":"boot_cmdline property.  Limits should be verified and tested under real"},{"line_number":98,"context_line":"world scnearios."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Other end user impact"},{"line_number":101,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_96b26c47","line":98,"updated":"2015-01-05 21:35:49.000000000","message":"I think some parameters that are currently used to pass hints to the ramdisk should be defined as reserved and unable to be overridden via glance.  Things like: initrd, iscsi_target_iqn, deployment_id, deployment_key, ironic_api_url.  Those are from the standard pxe driver\u0027s template, but the other drivers probably have similar things that shouldn\u0027t be tampered with to prevent booted nodes from potentially poking things that they shouldn\u0027t.","commit_id":"526cdd00e0c52a9eba1b509bdac194e8887aa27e"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"da09cfcc8a14ada94e05cb6149565cf4ae26bd06","unresolved":false,"context_lines":[{"line_number":95,"context_line":"It is possible the user provided boot_cmdline data could create a DoS if the"},{"line_number":96,"context_line":"user had sufficient permission to use the baremetal flavor and had a long"},{"line_number":97,"context_line":"boot_cmdline property.  Limits should be verified and tested under real"},{"line_number":98,"context_line":"world scnearios."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Other end user impact"},{"line_number":101,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_e60a1fd1","line":98,"in_reply_to":"3a961159_96b26c47","updated":"2015-01-05 23:08:04.000000000","message":"Adam,\n\nGood point.  I wasn\u0027t aware of the things, but we can easily add a blacklist of keys that cannot be overridden with a WARN log message if someone attempts.","commit_id":"526cdd00e0c52a9eba1b509bdac194e8887aa27e"},{"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":"c6fccf824b016d736cacb0474ceeacf6fc65d598","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* root\u003d/dev/winning console\u003d/dev/ttyS0 foo1\u003dbar1"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"and the kernel_cmdline poorperty is:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* root\u003d/dev/mapper/atomicos-root/ ostree\u003d/path/to/tree foo2\u003dbar2"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_1d8f5824","line":46,"updated":"2015-01-06 21:05:59.000000000","message":"s/poorperty/property/","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"91a022c8e58f0343d64720682181e29a860b552e","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* root\u003d/dev/winning console\u003d/dev/ttyS0 foo1\u003dbar1"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"and the kernel_cmdline poorperty is:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* root\u003d/dev/mapper/atomicos-root/ ostree\u003d/path/to/tree foo2\u003dbar2"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_9defafb0","line":46,"in_reply_to":"3a961159_1d8f5824","updated":"2015-01-09 21:18:46.000000000","message":"Done","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"73b2bfd3fb04bed7bf4d84f1f6ce39b8feb0c546","unresolved":false,"context_lines":[{"line_number":69,"context_line":"store the kernel_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image.  The deployer must associate a glance property"},{"line_number":71,"context_line":"with the image if they wish to boot a custom kernel command line.  The data"},{"line_number":72,"context_line":"must be stored in the database to prevent a DoS where an image that has been"},{"line_number":73,"context_line":"deployed is later deleted from glance.  The image PXE boot boot command line"},{"line_number":74,"context_line":"override data would then be lost, if pulled from glance each time."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_83f3d771","line":72,"updated":"2015-01-07 13:21:30.000000000","message":"I am still missing something here.  I still didn\u0027t get why kernel_cmdline should be stored in Ironic DB.  The pxe config is created only once at the end of deployment.  We will not need to pull the kernel_cmdline from glance after the node is deployed - unless we do a rebuild.  So why do we need to store them in DB ?","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"91a022c8e58f0343d64720682181e29a860b552e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"store the kernel_cmdline into the database after retrieval from the glance"},{"line_number":70,"context_line":"property of the disk image.  The deployer must associate a glance property"},{"line_number":71,"context_line":"with the image if they wish to boot a custom kernel command line.  The data"},{"line_number":72,"context_line":"must be stored in the database to prevent a DoS where an image that has been"},{"line_number":73,"context_line":"deployed is later deleted from glance.  The image PXE boot boot command line"},{"line_number":74,"context_line":"override data would then be lost, if pulled from glance each time."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_7d220302","line":72,"in_reply_to":"3a961159_83f3d771","updated":"2015-01-09 21:18:46.000000000","message":"Ramakrishnan,\n\nThis is an example of me not understanding the full implementation details ahead of time.  Given what you have said how deployment is a one time operation, there is no need to store in the database.","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"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":"c6fccf824b016d736cacb0474ceeacf6fc65d598","unresolved":false,"context_lines":[{"line_number":70,"context_line":"property of the disk image.  The deployer must associate a glance property"},{"line_number":71,"context_line":"with the image if they wish to boot a custom kernel command line.  The data"},{"line_number":72,"context_line":"must be stored in the database to prevent a DoS where an image that has been"},{"line_number":73,"context_line":"deployed is later deleted from glance.  The image PXE boot boot command line"},{"line_number":74,"context_line":"override data would then be lost, if pulled from glance each time."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_9da26898","line":73,"updated":"2015-01-06 21:05:59.000000000","message":"s/boot boot/boot/","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"91a022c8e58f0343d64720682181e29a860b552e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"property of the disk image.  The deployer must associate a glance property"},{"line_number":71,"context_line":"with the image if they wish to boot a custom kernel command line.  The data"},{"line_number":72,"context_line":"must be stored in the database to prevent a DoS where an image that has been"},{"line_number":73,"context_line":"deployed is later deleted from glance.  The image PXE boot boot command line"},{"line_number":74,"context_line":"override data would then be lost, if pulled from glance each time."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_1d81ffc2","line":73,"in_reply_to":"3a961159_9da26898","updated":"2015-01-09 21:18:46.000000000","message":"Done","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"73b2bfd3fb04bed7bf4d84f1f6ce39b8feb0c546","unresolved":false,"context_lines":[{"line_number":102,"context_line":"world scnearios.  Some paramters that are currently used to pass hints"},{"line_number":103,"context_line":"to the ramdisk should be defined as reserved and an error logged if the"},{"line_number":104,"context_line":"user attempts to deploy images with these reserved keys.  Some examples of"},{"line_number":105,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"},{"line_number":106,"context_line":"ironic_api_url.  There may be other keys that should be blacklisted.  They"},{"line_number":107,"context_line":"can easily be maintained in a list in Ironic."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_43d48fe8","line":105,"updated":"2015-01-07 13:21:30.000000000","message":"All these keys are required while booting deploy kernel/ramdisk.  I guess your changes are only related to booting of user image, i.e user kernel/ramdisk.  So the question of using reserved keys never come.  Ironic never adds any other key which is not configured by the user (other than root) while booting the user image.","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"91a022c8e58f0343d64720682181e29a860b552e","unresolved":false,"context_lines":[{"line_number":102,"context_line":"world scnearios.  Some paramters that are currently used to pass hints"},{"line_number":103,"context_line":"to the ramdisk should be defined as reserved and an error logged if the"},{"line_number":104,"context_line":"user attempts to deploy images with these reserved keys.  Some examples of"},{"line_number":105,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"},{"line_number":106,"context_line":"ironic_api_url.  There may be other keys that should be blacklisted.  They"},{"line_number":107,"context_line":"can easily be maintained in a list in Ironic."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_3de95b7f","line":105,"in_reply_to":"3a961159_43d48fe8","updated":"2015-01-09 21:18:46.000000000","message":"Essentially we don\u0027t want the user to be able to override the protected keys listed above.  I\u0027ll make the specification more clear.","commit_id":"341b8b035f48de90e7f13f38b2953de7875b5281"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6d66719e54e65df3ffd796bdb21445d748dbbc0f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":38,"context_line":"Ironic (conductor) will pull the kernel_cmdline property.  If the"},{"line_number":39,"context_line":"kernel_cmdline property is found, any keys in the kernel_cmdline will override"},{"line_number":40,"context_line":"any keys in the default PXE boot config."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"For example if the default pxe boot config is:"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_72b68c26","line":40,"updated":"2015-01-08 15:52:39.000000000","message":"Will kernel command line be updated, if operator updates image in glance? IIUC answer is \u0027no\u0027 for now, but later can be changed - see e.g. https://review.openstack.org/142782\n\nNot sure if it\u0027s worth noting.","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"edc7d33833fcea915abaeaf4dd495676c2f61a75","unresolved":false,"context_lines":[{"line_number":37,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":38,"context_line":"Ironic (conductor) will pull the kernel_cmdline property.  If the"},{"line_number":39,"context_line":"kernel_cmdline property is found, any keys in the kernel_cmdline will override"},{"line_number":40,"context_line":"any keys in the default PXE boot config."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"For example if the default pxe boot config is:"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_404fde6a","line":40,"in_reply_to":"3a961159_72b68c26","updated":"2015-01-09 15:57:20.000000000","message":"Done","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6d66719e54e65df3ffd796bdb21445d748dbbc0f","unresolved":false,"context_lines":[{"line_number":98,"context_line":"kernel_cmdline property.  Limits should be verified and tested under real"},{"line_number":99,"context_line":"world scnearios."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Some paramters that are currently used to pass hints to the ramdisk should"},{"line_number":102,"context_line":"be defined as reserved and an error logged if the user attempts to deploy"},{"line_number":103,"context_line":"images via kernel_cmdline with these reserved keys.  Some examples of"},{"line_number":104,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_f220bc9b","line":101,"updated":"2015-01-08 15:52:39.000000000","message":"nit: s/paramter/parameter/","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"edc7d33833fcea915abaeaf4dd495676c2f61a75","unresolved":false,"context_lines":[{"line_number":98,"context_line":"kernel_cmdline property.  Limits should be verified and tested under real"},{"line_number":99,"context_line":"world scnearios."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Some paramters that are currently used to pass hints to the ramdisk should"},{"line_number":102,"context_line":"be defined as reserved and an error logged if the user attempts to deploy"},{"line_number":103,"context_line":"images via kernel_cmdline with these reserved keys.  Some examples of"},{"line_number":104,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_204ad25b","line":101,"in_reply_to":"3a961159_f220bc9b","updated":"2015-01-09 15:57:20.000000000","message":"Done","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"d41bb38345f9bdb4cb1d61db18ccda8877fb0988","unresolved":false,"context_lines":[{"line_number":102,"context_line":"be defined as reserved and an error logged if the user attempts to deploy"},{"line_number":103,"context_line":"images via kernel_cmdline with these reserved keys.  Some examples of"},{"line_number":104,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"},{"line_number":105,"context_line":"ironic_api_url.  There may be other keys that should be blacklisted from user"},{"line_number":106,"context_line":"modification via kernel_cmdline.  They can easily be maintained in a list in"},{"line_number":107,"context_line":"Ironic."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_50833e55","line":105,"updated":"2015-01-08 22:42:35.000000000","message":"nit: closing quote missing","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"edc7d33833fcea915abaeaf4dd495676c2f61a75","unresolved":false,"context_lines":[{"line_number":102,"context_line":"be defined as reserved and an error logged if the user attempts to deploy"},{"line_number":103,"context_line":"images via kernel_cmdline with these reserved keys.  Some examples of"},{"line_number":104,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"},{"line_number":105,"context_line":"ironic_api_url.  There may be other keys that should be blacklisted from user"},{"line_number":106,"context_line":"modification via kernel_cmdline.  They can easily be maintained in a list in"},{"line_number":107,"context_line":"Ironic."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_a0ab22d6","line":105,"in_reply_to":"3a961159_50833e55","updated":"2015-01-09 15:57:20.000000000","message":"Done","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6d66719e54e65df3ffd796bdb21445d748dbbc0f","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"There is minimal Ironic developer impact.  If anything, Ironic developers will"},{"line_number":136,"context_line":"be able to work with the latest offers of Fedora Atomic, CoreOS, and possibly"},{"line_number":137,"context_line":"Ubuntu Snappy which depends on this specification."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Implementation"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_12b0e841","line":137,"updated":"2015-01-08 15:52:39.000000000","message":"that\u0027s more end user impact. developer impact is None.","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"edc7d33833fcea915abaeaf4dd495676c2f61a75","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"There is minimal Ironic developer impact.  If anything, Ironic developers will"},{"line_number":136,"context_line":"be able to work with the latest offers of Fedora Atomic, CoreOS, and possibly"},{"line_number":137,"context_line":"Ubuntu Snappy which depends on this specification."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Implementation"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_c08f4e75","line":137,"in_reply_to":"3a961159_12b0e841","updated":"2015-01-09 15:57:20.000000000","message":"Done","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"d41bb38345f9bdb4cb1d61db18ccda8877fb0988","unresolved":false,"context_lines":[{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"One mechanism to test is to boot Fedora Atomic via Ironic.  If Fedora Atomic"},{"line_number":166,"context_line":"boots, then the feature is validated.  This can easily be gated."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Upgrades and Backwards Compatibility"},{"line_number":169,"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"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_f046ea1f","line":166,"updated":"2015-01-08 22:42:35.000000000","message":"are you planning on adding this as a test to Ironic\u0027s gate?","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"edc7d33833fcea915abaeaf4dd495676c2f61a75","unresolved":false,"context_lines":[{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"One mechanism to test is to boot Fedora Atomic via Ironic.  If Fedora Atomic"},{"line_number":166,"context_line":"boots, then the feature is validated.  This can easily be gated."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Upgrades and Backwards Compatibility"},{"line_number":169,"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"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_a0c0827e","line":166,"in_reply_to":"3a961159_f046ea1f","updated":"2015-01-09 15:57:20.000000000","message":"If it is possible to gate on deployment, which I guess it should be via Ironic\u0027s gate, then yes, I will commit to implementing this in the gate (with pointers from the Ironic core).","commit_id":"3c9536441cda14467e36e9a4b2e68dbf52b0df70"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"7bfb2f9ad9a5b5bd0e33801dbe2a3e2c18efd2f0","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":37,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":38,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":39,"context_line":"Ironic (conductor) will pull the kernel_cmdline property.  If the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a961159_c0702edd","line":36,"updated":"2015-01-09 16:20:45.000000000","message":"With a new spec that got merged recently it is possible to specify images that are not in glance. \nhttps://github.com/openstack/ironic-specs/blob/master/specs/kilo/non-glance-image-refs.rst\n\nAre we taking care of that ? I guess we should.\n\nOne way I can think of is that when image is not in glance, the image properties can be expected in a certain place in instance_info - for example instance_info[\u0027image_properties\u0027].  Some one can add instance_info.image_properties[\u0027kernel_cmdline\u0027].  This would also take care of other use cases of Ironic.  How about that ?","commit_id":"eb38d48a6eb4185596dc1d866098d48ea9d50b53"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"95b6801f9923573cfbbe49b75e7b107289e8dd3f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"I don\u0027t expect a major rework is required.  It should be as simple as adding"},{"line_number":37,"context_line":"the property to the image to boot.  When Ironic boots the image, it will"},{"line_number":38,"context_line":"contact glance to pull the normal ramdisk and kernel properties.  In addition"},{"line_number":39,"context_line":"Ironic (conductor) will pull the kernel_cmdline property.  If the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a961159_47928dfd","line":36,"in_reply_to":"3a961159_c0702edd","updated":"2015-01-09 21:18:35.000000000","message":"Done","commit_id":"eb38d48a6eb4185596dc1d866098d48ea9d50b53"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"7bfb2f9ad9a5b5bd0e33801dbe2a3e2c18efd2f0","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Data model impact"},{"line_number":70,"context_line":"-----------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"There is minimal data model impact with this change.  The PXE driver\u0027s data"},{"line_number":73,"context_line":"model will result in new file contents for newly deployed Ironic nodes.  It"},{"line_number":74,"context_line":"will include the new kernel_cmdline contents, whereas older deployed Ironic"},{"line_number":75,"context_line":"nodes will not have the kernel_cmdline."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a961159_20ebb27c","line":72,"updated":"2015-01-09 16:20:45.000000000","message":"We mean changes to Ironic data model here - like any new fields adds to the Node object, etc. I guess it should be none here.","commit_id":"eb38d48a6eb4185596dc1d866098d48ea9d50b53"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"95b6801f9923573cfbbe49b75e7b107289e8dd3f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Data model impact"},{"line_number":70,"context_line":"-----------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"There is minimal data model impact with this change.  The PXE driver\u0027s data"},{"line_number":73,"context_line":"model will result in new file contents for newly deployed Ironic nodes.  It"},{"line_number":74,"context_line":"will include the new kernel_cmdline contents, whereas older deployed Ironic"},{"line_number":75,"context_line":"nodes will not have the kernel_cmdline."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a961159_6762293f","line":72,"in_reply_to":"3a961159_20ebb27c","updated":"2015-01-09 21:18:35.000000000","message":"Done","commit_id":"eb38d48a6eb4185596dc1d866098d48ea9d50b53"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"7bfb2f9ad9a5b5bd0e33801dbe2a3e2c18efd2f0","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Some parameters that are currently used to pass hints to the ramdisk should"},{"line_number":106,"context_line":"be defined as reserved and an error logged if the user attempts to deploy"},{"line_number":107,"context_line":"images via kernel_cmdline with these reserved keys.  Some examples of"},{"line_number":108,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"},{"line_number":109,"context_line":"ironic_api_url\".  There may be other keys that should be blacklisted from user"},{"line_number":110,"context_line":"modification via kernel_cmdline.  They can easily be maintained in a list in"},{"line_number":111,"context_line":"Ironic."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a961159_401a7e7d","line":108,"updated":"2015-01-09 16:20:45.000000000","message":"As per my comment on patch set 8, this is not an issue.  iscsi_target_iqn, deployment_id, deployment_key are used only for deployment and is Ironic specific.  The external user who request kernel_cmdline would have requested the kernel cmdline to be added for the user image (and not for the deploy kernel/ramdisk that would be loaded for deployment of image).","commit_id":"eb38d48a6eb4185596dc1d866098d48ea9d50b53"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"95b6801f9923573cfbbe49b75e7b107289e8dd3f","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Some parameters that are currently used to pass hints to the ramdisk should"},{"line_number":106,"context_line":"be defined as reserved and an error logged if the user attempts to deploy"},{"line_number":107,"context_line":"images via kernel_cmdline with these reserved keys.  Some examples of"},{"line_number":108,"context_line":"these keys are \"initrd, iscsi_target_iqn, deployment_id, deployment_key,"},{"line_number":109,"context_line":"ironic_api_url\".  There may be other keys that should be blacklisted from user"},{"line_number":110,"context_line":"modification via kernel_cmdline.  They can easily be maintained in a list in"},{"line_number":111,"context_line":"Ironic."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a961159_274821b3","line":108,"in_reply_to":"3a961159_401a7e7d","updated":"2015-01-09 21:18:35.000000000","message":"thanks that makes sense.  I\u0027ll remove this.","commit_id":"eb38d48a6eb4185596dc1d866098d48ea9d50b53"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"30416a71ceafeb7599efb6da786f20383ff33e84","unresolved":false,"context_lines":[{"line_number":57,"context_line":"* root\u003d/dev/mapper/atomicos-root console\u003d/dev/ttyS0 ostree\u003d/path-to-tree"},{"line_number":58,"context_line":"  foo1\u003dbar1 foo2\u003dbar2"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For the case of a non-glance image reference, the image properites can be"},{"line_number":61,"context_line":"expected in certain locations within the instance_info dictionary.  For example"},{"line_number":62,"context_line":"the key instance_info.iamge_properties[\u0027kernel_cmdline\u0027] could be set with the"},{"line_number":63,"context_line":"desired kernel_cmdline rather then a glance property."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_a10f9a38","line":60,"updated":"2015-01-10 03:10:24.000000000","message":"May be just note down the priority here:\n\n1. instance_info.image_properties[\u0027kernel_cmdline\u0027] - this is the most specific to the current deployment.\n\n2. kernel_cmdline from glance  - this is for all the deployment using the same image.\n\n3. default kernel cmdline specific in Ironic - this is for all deployments in Ironic.","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1db1d50cc29eba196a4013533bb2b751d44c8865","unresolved":false,"context_lines":[{"line_number":57,"context_line":"* root\u003d/dev/mapper/atomicos-root console\u003d/dev/ttyS0 ostree\u003d/path-to-tree"},{"line_number":58,"context_line":"  foo1\u003dbar1 foo2\u003dbar2"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For the case of a non-glance image reference, the image properites can be"},{"line_number":61,"context_line":"expected in certain locations within the instance_info dictionary.  For example"},{"line_number":62,"context_line":"the key instance_info.iamge_properties[\u0027kernel_cmdline\u0027] could be set with the"},{"line_number":63,"context_line":"desired kernel_cmdline rather then a glance property."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_4d02a7bb","line":60,"in_reply_to":"3a961159_a10f9a38","updated":"2015-01-10 17:51:34.000000000","message":"Great suggestion!  I added something similar.  If you could validate it meets your suggestion, that would be great :)","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"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":"ca1230bad62031acad1d02be0e9208117e36eb1b","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For the case of a non-glance image reference, the image properites can be"},{"line_number":61,"context_line":"expected in certain locations within the instance_info dictionary.  For example"},{"line_number":62,"context_line":"the key instance_info.iamge_properties[\u0027kernel_cmdline\u0027] could be set with the"},{"line_number":63,"context_line":"desired kernel_cmdline rather then a glance property."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_9d592438","line":62,"updated":"2015-01-09 22:11:39.000000000","message":"nit: s/iamge/image/","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1db1d50cc29eba196a4013533bb2b751d44c8865","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For the case of a non-glance image reference, the image properites can be"},{"line_number":61,"context_line":"expected in certain locations within the instance_info dictionary.  For example"},{"line_number":62,"context_line":"the key instance_info.iamge_properties[\u0027kernel_cmdline\u0027] could be set with the"},{"line_number":63,"context_line":"desired kernel_cmdline rather then a glance property."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_2d8abb64","line":62,"in_reply_to":"3a961159_9d592438","updated":"2015-01-10 17:51:34.000000000","message":"Jay,\n\nClearly I don\u0027t have a future as a technical writer :)  So dependent on a spell checker :(\n\nI have fixed this using Ramakrishnan\u0027s suggestion.","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"30416a71ceafeb7599efb6da786f20383ff33e84","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Performance Impact"},{"line_number":122,"context_line":"------------------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"There is minimal performance impact to the system."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Other deployer impact"},{"line_number":127,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_4129969a","line":124,"updated":"2015-01-10 03:10:24.000000000","message":"Did you mean performance impact by reading glance meta-data ? I guess it would be negligible and isn\u0027t worth noting down.","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1db1d50cc29eba196a4013533bb2b751d44c8865","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Performance Impact"},{"line_number":122,"context_line":"------------------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"There is minimal performance impact to the system."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Other deployer impact"},{"line_number":127,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_4d3467ac","line":124,"in_reply_to":"3a961159_4129969a","updated":"2015-01-10 17:51:34.000000000","message":"Yes that was the performance impact, plus the few clock cycles to generate the new kernel_cmdline.  I agree this is negligible so I have changed this to \"there is no performance impact to the system.\"","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"30416a71ceafeb7599efb6da786f20383ff33e84","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Other deployer impact"},{"line_number":127,"context_line":"---------------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The glance property kernel_cmdline, which is optional, can be configured by"},{"line_number":130,"context_line":"the user to override keys in the global pxe boot environment."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_6115b24b","line":129,"updated":"2015-01-10 03:10:24.000000000","message":"May be also note that the kernel_cmdline could be set through glance or instance_info ?","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1db1d50cc29eba196a4013533bb2b751d44c8865","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Other deployer impact"},{"line_number":127,"context_line":"---------------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"The glance property kernel_cmdline, which is optional, can be configured by"},{"line_number":130,"context_line":"the user to override keys in the global pxe boot environment."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_ad430b12","line":129,"in_reply_to":"3a961159_6115b24b","updated":"2015-01-10 17:51:34.000000000","message":"Done","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"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":"ca1230bad62031acad1d02be0e9208117e36eb1b","unresolved":false,"context_lines":[{"line_number":163,"context_line":"The Ironic gate will be enhanced to boot Fedora Atomic via an Ironic"},{"line_number":164,"context_line":"deployment.  A basic health check of the Fedora Atomic guest will be done."},{"line_number":165,"context_line":"I prefer a simple Atomic check, so something simple like sshing into the"},{"line_number":166,"context_line":"deployed node and listing the contents of the filesystem."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Upgrades and Backwards Compatibility"},{"line_number":169,"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"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_bd92609e","line":166,"updated":"2015-01-09 22:11:39.000000000","message":"I\u0027m not certain you realize how much work you\u0027re taking on here. There are probably simpler ways than having to outfit devstack-gate to run Fedora Atomic (which I suspect the infra guys might not permit anyway). I agree that testing is good and preferred, but I\u0027m not sure this is an approach that\u0027ll lead you to success.\n\nTBH I think unit tests, in this case, would be sufficient.","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"30416a71ceafeb7599efb6da786f20383ff33e84","unresolved":false,"context_lines":[{"line_number":163,"context_line":"The Ironic gate will be enhanced to boot Fedora Atomic via an Ironic"},{"line_number":164,"context_line":"deployment.  A basic health check of the Fedora Atomic guest will be done."},{"line_number":165,"context_line":"I prefer a simple Atomic check, so something simple like sshing into the"},{"line_number":166,"context_line":"deployed node and listing the contents of the filesystem."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Upgrades and Backwards Compatibility"},{"line_number":169,"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"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_0106ae21","line":166,"in_reply_to":"3a961159_bd92609e","updated":"2015-01-10 03:10:24.000000000","message":"+1","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"1db1d50cc29eba196a4013533bb2b751d44c8865","unresolved":false,"context_lines":[{"line_number":163,"context_line":"The Ironic gate will be enhanced to boot Fedora Atomic via an Ironic"},{"line_number":164,"context_line":"deployment.  A basic health check of the Fedora Atomic guest will be done."},{"line_number":165,"context_line":"I prefer a simple Atomic check, so something simple like sshing into the"},{"line_number":166,"context_line":"deployed node and listing the contents of the filesystem."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Upgrades and Backwards Compatibility"},{"line_number":169,"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"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a961159_ed44331b","line":166,"in_reply_to":"3a961159_bd92609e","updated":"2015-01-10 17:51:34.000000000","message":"Jay,\n\nThanks for reality checking the specification.  I think most of the work in this specification isn\u0027t significantly difficult, but your right about one thing, getting this gating going will be a serious challenge.  The only reason I put it in is because I thought it would be mandatory to gate the instances booting.  If unit tests are good enough, I am way more pleased with that solution, and it should still lead to a good coverage outcome on the test cases.","commit_id":"6836ee03aa80fb012e2e2e3193c26c449f65ee9d"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"bc5135ae23b89c4ac7c613d85dcd12f225e3e5ce","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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Override PXE kernel command line via glance property"},{"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\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/ironic/+spec/override-pxe-options-via-glance-property"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a961159_bba89e8d","line":8,"updated":"2015-01-11 15:18:04.000000000","message":"Heading says only through glance property.  How about making title something generic\n\nKernel command line overrides for instance images","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea051cc3ca7114a5ce9b5aa2c77acbd9b8e61afd","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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Override PXE kernel command line via glance property"},{"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\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/ironic/+spec/override-pxe-options-via-glance-property"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7aaa499b_d53ff023","line":8,"in_reply_to":"3a961159_8ae4633d","updated":"2015-04-12 00:53:56.000000000","message":"+1","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a2684edaaf01e9ae1ea3a7d492898671c2641beb","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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Override PXE kernel command line via glance property"},{"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\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/ironic/+spec/override-pxe-options-via-glance-property"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a961159_8ae4633d","line":8,"in_reply_to":"3a961159_bba89e8d","updated":"2015-01-12 11:22:52.000000000","message":"+1","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"bc5135ae23b89c4ac7c613d85dcd12f225e3e5ce","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Newer atomically updated operating systems require specific kernel command line"},{"line_number":14,"context_line":"options to indicate which atomic OS to boot.  This specification recommends"},{"line_number":15,"context_line":"adding a glance image property to permit override of the default pxeboot"},{"line_number":16,"context_line":"command line for instance images only.  The deploy images do not need overrides"},{"line_number":17,"context_line":"since one deploy command line should be sufficient across the Ironic system."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a961159_9b8a0219","line":15,"updated":"2015-01-11 15:18:04.000000000","message":"This specification recommends methods to permit override of ....","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a2684edaaf01e9ae1ea3a7d492898671c2641beb","unresolved":false,"context_lines":[{"line_number":60,"context_line":"The kernel command line is obtained using the following priority:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* This represents the most current deployment of an instance image:"},{"line_number":63,"context_line":"  instance_info.image_properties[\u0027kernel_cmdline\u0027]"},{"line_number":64,"context_line":"* This represents all deployments of the same instance image:"},{"line_number":65,"context_line":"  kernel_cmdline retrieved from glance"},{"line_number":66,"context_line":"* This represents all deployments via Ironic:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a961159_0a7a3377","line":63,"updated":"2015-01-12 11:22:52.000000000","message":"nested structures in instance_info were just introduced, I would recommend avoid using them. Also instance_info is a dict. I guess it should be instance_info[\u0027kernel_cmdline\u0027]","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a2684edaaf01e9ae1ea3a7d492898671c2641beb","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Data model impact"},{"line_number":79,"context_line":"-----------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"There is no data model impact."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"REST API impact"},{"line_number":84,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a961159_6a901797","line":81,"updated":"2015-01-12 11:22:52.000000000","message":"New field \u0027kernel_cmdline\u0027 in instance_info","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea051cc3ca7114a5ce9b5aa2c77acbd9b8e61afd","unresolved":false,"context_lines":[{"line_number":106,"context_line":"It is possible the user provided kernel_cmdline data could create a DoS if the"},{"line_number":107,"context_line":"user had sufficient permission to use the baremetal flavor and had a long"},{"line_number":108,"context_line":"kernel_cmdline property.  Limits should be verified and tested under real"},{"line_number":109,"context_line":"world scnearios."},{"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":13,"id":"7aaa499b_75effcb0","line":109,"updated":"2015-04-12 00:53:56.000000000","message":"s/scnearios/scenarios/","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"ea051cc3ca7114a5ce9b5aa2c77acbd9b8e61afd","unresolved":false,"context_lines":[{"line_number":145,"context_line":"-----------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Primary assignee:"},{"line_number":148,"context_line":"  \u003csdake@redhat.com\u003e"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Other contributors:"},{"line_number":151,"context_line":"  None"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7aaa499b_35305456","line":148,"updated":"2015-04-12 00:53:56.000000000","message":"Redhat! you might no longer tackle this task, but ...","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a2684edaaf01e9ae1ea3a7d492898671c2641beb","unresolved":false,"context_lines":[{"line_number":165,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"All new code introduced or existing code modified will include unit test"},{"line_number":168,"context_line":"cases that result in equal percentage of code coverage.  To be more precise,"},{"line_number":169,"context_line":"the current code coverage as generated with tox -e cover is 85 percent  When"},{"line_number":170,"context_line":"the blueprint is complete, tox -e cover should return similar percentages."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3a961159_2af60ffa","line":168,"updated":"2015-01-12 11:22:52.000000000","message":"nit: the details are nice, but not required, you could stop at \"will include unit test cases\". Re testing with tempest, it must be a major undertaking. Did you meant to do it as well (line #172)?","commit_id":"745bcb485a88bca24268fa065e4a319323de3c6b"}]}
