)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1578ed71_3934f532","updated":"2022-11-08 16:48:15.000000000","message":"-1 for db changes\nwe likely need more detail on now the novnc proxy will connect to baremetal host.\n\nthis also has implications for the network toplogy of the deployment.\n\nto make this work there will have to be l3 routed connectivity form the novnc proxy instance to the bmc of the phsyical server so that shoudl be called out in the other deploy impact section.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4dd4612dae31ab5ae07ed82ae64a1787353462b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"413b0243_840a5a0c","updated":"2022-11-16 13:12:47.000000000","message":"this will require changes in ironic too so we shoudl add a reference to the ironic spec\n\njust copying form irc \n\n13:06 \u003csean-k-mooney\u003e we shoudl call out the depency on the ironic change and deatail the workflow that will be implmented\n13:07 \u003csean-k-mooney\u003e 1 user create console that creaate a token whihc is used by the proxy to corraltate the proxy request to the instnace\n13:07 \u003csean-k-mooney\u003e 2 the user connecct to the proxy with the token and the proxy looks up the password in ironic\n13:08 \u003csean-k-mooney\u003e 3 if that succeed the proxy connect to the vnc console exposed by the bmc and stream the result to the user\n13:09 \u003csean-k-mooney\u003e in step too it woudl be good to call out which ironic endpoint in the api we will invoke to get the password\n\n\n","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"eafeaae26a6bb1b8c92059045fdb04ec6f68e12b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b67e7d8f_a4c84caf","updated":"2022-12-14 21:01:24.000000000","message":"also, please propose it under specs/2023.1/approved/ folder it is still proposed in also, specs/wallaby/approved","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7cea4be814c66e9244bf11068d90789364aa735e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"550b64c8_de0ab970","updated":"2023-01-10 14:40:55.000000000","message":"based on gmann\u0027s responce i am ok to upgrade my vote to +2\n\nthe traits woudl be nice to have but are not requried for this feature to work.\ni think that could be done as a specless blueprint later if desired.","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a49963d783be59ece8b714821dd299a7f65ae93f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1e32e1a2_0b13567d","updated":"2022-11-30 11:54:58.000000000","message":"i wondering if there is any upgrade impact i have left some notes inline.\n\n+1 for now if others agree with my reasoning i can upgrade that to +2","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1b7025ada9e0f102375538536bda4fbba81d6eb5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"d7c28295_c8f4220d","updated":"2023-01-10 14:41:42.000000000","message":"oh actully this is still in the wrong directory as gmann pointed out so please move it to 2023.1","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"2101c494f82826dcc3b5629dfe9104ccf22226ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"5b1b9eb9_1611d820","in_reply_to":"d7c28295_c8f4220d","updated":"2023-01-10 18:20:14.000000000","message":"Done","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"462a7a28_0cfd8e74","updated":"2023-01-11 05:38:14.000000000","message":"TBH I don\u0027t find this spec to be super clear how this is supposed to work.\n\nThis is my understanding, please let me know if it is incorrect:\n\n  1. End user calls Nova API get_vnc_console for their baremetal instance\n  2. Nova calls Ironic API get_console in the Ironic driver to get a url to hand back to the end user\n  3. Ironic replies with a url that points at its own console proxy\n  4. Nova replies to the end user with the Ironic console proxy url\n  5. End user visits the url to the Ironic console proxy and all further actions take place in Ironic. The Nova console proxy will not be used at all for Ironic VNC consoles","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"fbf5d60f_f2f65fcf","in_reply_to":"462a7a28_0cfd8e74","updated":"2023-01-11 08:31:27.000000000","message":"The Nova console proxy will work with such vnc connection as usual. Ironic console proxy will be responsible for vnc handshake. we don\u0027t want provide to Nova a vnc password.","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1ed0e666e730d3137aed8364f35b94d2710838b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"5952a79b_084f7149","updated":"2023-01-12 18:09:31.000000000","message":"This spec is light on explanation but I think I understand the basic design via the discussion in the review comments. Based on this, I think it looks reasonable to me.","commit_id":"8fa5a8c83400e530da175d8d56d8acf0615c72ad"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"376efbe48466fb0ef74f54cc9bb77c3034c60b65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"e682369b_bfb9876c","updated":"2023-01-12 18:16:31.000000000","message":"since mel is happy with this i think we can proceed with this.\n\none thing i would like to push for in the implementation is ensuring that we capture the context in the docs for this too. so when making these change please keep an eye towards ensurign we document how operators can take advantage of this in both nova and ironic as appropriate.\n\nwith that said adding +2w\n\n","commit_id":"8fa5a8c83400e530da175d8d56d8acf0615c72ad"}],"specs/2023.1/approved/nova-vnc-support-for-ironic.rst":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":22,"context_line":"experience as compared to serial console."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":25,"context_line":"nodes provisioned by Nova. This spec intents to extend that to"},{"line_number":26,"context_line":"grapical console via the novnc proxy."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":11,"id":"832323ec_8ef09512","line":25,"range":{"start_line":25,"start_character":37,"end_line":25,"end_character":44},"updated":"2023-01-11 05:38:14.000000000","message":"intends","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"experience as compared to serial console."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":25,"context_line":"nodes provisioned by Nova. This spec intents to extend that to"},{"line_number":26,"context_line":"grapical console via the novnc proxy."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":11,"id":"62f4ac1c_de9679d4","line":25,"range":{"start_line":25,"start_character":37,"end_line":25,"end_character":44},"in_reply_to":"832323ec_8ef09512","updated":"2023-01-11 08:31:27.000000000","message":"Done","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":25,"context_line":"nodes provisioned by Nova. This spec intents to extend that to"},{"line_number":26,"context_line":"grapical console via the novnc proxy."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"893e862b_076d7fdf","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":8},"updated":"2023-01-11 05:38:14.000000000","message":"graphical","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":25,"context_line":"nodes provisioned by Nova. This spec intents to extend that to"},{"line_number":26,"context_line":"grapical console via the novnc proxy."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bebb370d_78838745","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":8},"in_reply_to":"893e862b_076d7fdf","updated":"2023-01-11 08:31:27.000000000","message":"Done","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":34,"context_line":"``openstack baremetal node console enable``"},{"line_number":35,"context_line":"``openstack console url show --novnc``"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"nova_novncproxy should be deployed"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"74fa31f0_e419b091","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":34},"updated":"2023-01-11 05:38:14.000000000","message":"This is obsolete with the latest proposal, right?","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1ed0e666e730d3137aed8364f35b94d2710838b2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"``openstack baremetal node console enable``"},{"line_number":35,"context_line":"``openstack console url show --novnc``"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"nova_novncproxy should be deployed"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"a347d08a_50a3fa35","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":34},"in_reply_to":"36ae2904_26b26e00","updated":"2023-01-12 18:09:31.000000000","message":"Ack","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":true,"context_lines":[{"line_number":34,"context_line":"``openstack baremetal node console enable``"},{"line_number":35,"context_line":"``openstack console url show --novnc``"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"nova_novncproxy should be deployed"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"36ae2904_26b26e00","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":34},"in_reply_to":"74fa31f0_e419b091","updated":"2023-01-11 08:31:27.000000000","message":"no, we need nova_novncproxy. It is responsible for vnc session life cycle.","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":44,"context_line":"  (port/ip). Will raise ``ConsoleTypeUnavailable`` if vnc console"},{"line_number":45,"context_line":"  is unavailable for the instance."},{"line_number":46,"context_line":"  for getting vnc console will be used ``node.get_console`` from ironic api"},{"line_number":47,"context_line":"  (the same api is used for serial console)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":11,"id":"f9bd97ab_d4842a55","line":47,"updated":"2023-01-11 05:38:14.000000000","message":"I take this to mean, \"To get the vnc console the ``node.get_console`` ironic API will be used (the same API that is used for serial console).\"","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  (port/ip). Will raise ``ConsoleTypeUnavailable`` if vnc console"},{"line_number":45,"context_line":"  is unavailable for the instance."},{"line_number":46,"context_line":"  for getting vnc console will be used ``node.get_console`` from ironic api"},{"line_number":47,"context_line":"  (the same api is used for serial console)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6cb667c0_1488c1cb","line":47,"in_reply_to":"f9bd97ab_d4842a55","updated":"2023-01-11 08:31:27.000000000","message":"Done","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":53,"context_line":"Accept this limitation and only offer a serial console."},{"line_number":54,"context_line":"We can configure kvm access including access to the bios via the"},{"line_number":55,"context_line":"serial proxy and shell in a box for nova provisioned ironic baremetal"},{"line_number":56,"context_line":"intances."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Use out-of-band KVM access provided by administrator without Ironic support."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"6a9ae5ec_240c5976","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":8},"updated":"2023-01-11 05:38:14.000000000","message":"instances","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Accept this limitation and only offer a serial console."},{"line_number":54,"context_line":"We can configure kvm access including access to the bios via the"},{"line_number":55,"context_line":"serial proxy and shell in a box for nova provisioned ironic baremetal"},{"line_number":56,"context_line":"intances."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Use out-of-band KVM access provided by administrator without Ironic support."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"f096fe1f_131f5c1c","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":8},"in_reply_to":"6a9ae5ec_240c5976","updated":"2023-01-11 08:31:27.000000000","message":"Done","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":73,"context_line":"The VNC connection to the nodes are secured by a token generated while"},{"line_number":74,"context_line":"creating the console in Nova."},{"line_number":75,"context_line":"This bearer token is the only thing required to connect to the proxy,"},{"line_number":76,"context_line":"So the connection between user and proxy should be protected vai ssl"},{"line_number":77,"context_line":"the same as with vms"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6544ee66_0e0893f8","line":76,"range":{"start_line":76,"start_character":61,"end_line":76,"end_character":64},"updated":"2023-01-11 05:38:14.000000000","message":"via","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"The VNC connection to the nodes are secured by a token generated while"},{"line_number":74,"context_line":"creating the console in Nova."},{"line_number":75,"context_line":"This bearer token is the only thing required to connect to the proxy,"},{"line_number":76,"context_line":"So the connection between user and proxy should be protected vai ssl"},{"line_number":77,"context_line":"the same as with vms"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ade9b2bf_ba7eef2b","line":76,"range":{"start_line":76,"start_character":61,"end_line":76,"end_character":64},"in_reply_to":"6544ee66_0e0893f8","updated":"2023-01-11 08:31:27.000000000","message":"Done","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"89c4a618a6a20dffae091f3674b60749c65644bd","unresolved":true,"context_lines":[{"line_number":121,"context_line":"novncproxy_host \u003d ..."},{"line_number":122,"context_line":"novncproxy_port \u003d ..."},{"line_number":123,"context_line":"server_listen \u003d ..."},{"line_number":124,"context_line":"server_proxyclient_address \u003d ..."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dd24e5cf_877250f0","line":124,"updated":"2023-01-11 05:38:14.000000000","message":"If I understand correctly, this entire section is about Ironic, right? Because the nova novnc proxy will not be used at all for the Ironic vnc console.\n\nIt\u0027s confusing IMHO to leave the filenames in here as \"nova\" when they are for ironic config.","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"c0e91b86cfa7da992b5afdeee03a23661f57a7d1","unresolved":true,"context_lines":[{"line_number":121,"context_line":"novncproxy_host \u003d ..."},{"line_number":122,"context_line":"novncproxy_port \u003d ..."},{"line_number":123,"context_line":"server_listen \u003d ..."},{"line_number":124,"context_line":"server_proxyclient_address \u003d ..."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d6610b7b_c0d4cb8f","line":124,"in_reply_to":"6e7433a6_092fb477","updated":"2023-01-12 07:51:19.000000000","message":"OK, sorry, I\u0027m having trouble visualizing this. When/how is the ironic proxy service contacted?\n\nA user requests get_vnc_console, this goes to the ironic driver, ironic is called to get_console and returns a url, then nova returns the url to the user.\n\nThen what happens when the user visits the url? For non-ironic, it goes to the nova-novnc-proxy and the proxy makes the connection to the compute host and then the guest. What does the call path look like for ironic?\n\nThe spec says the only change in nova will be to add the get_console call to ironic API into the ironic driver. I am missing how the ironic proxy will be involved if nova-novnc-proxy is also involved, without any additional changes to nova?","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1ed0e666e730d3137aed8364f35b94d2710838b2","unresolved":false,"context_lines":[{"line_number":121,"context_line":"novncproxy_host \u003d ..."},{"line_number":122,"context_line":"novncproxy_port \u003d ..."},{"line_number":123,"context_line":"server_listen \u003d ..."},{"line_number":124,"context_line":"server_proxyclient_address \u003d ..."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ad021991_81e037d1","line":124,"in_reply_to":"c87654a9_869caa0b","updated":"2023-01-12 18:09:31.000000000","message":"OK, I see. Thanks for clarifying it.","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"f4d930cb9bd349760f5718022744247bf36de84a","unresolved":true,"context_lines":[{"line_number":121,"context_line":"novncproxy_host \u003d ..."},{"line_number":122,"context_line":"novncproxy_port \u003d ..."},{"line_number":123,"context_line":"server_listen \u003d ..."},{"line_number":124,"context_line":"server_proxyclient_address \u003d ..."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"c87654a9_869caa0b","line":124,"in_reply_to":"d6610b7b_c0d4cb8f","updated":"2023-01-12 09:58:21.000000000","message":"from my understanding it should be like:\nuser \u003c--\u003e nova-novnc-proxy \u003c--\u003e ironic-novnc-proxy \u003c--\u003e bm\n\nNova, after getting url from \u0027get_console\u0027 ironic API, put it to its BD and provides to user modified url with token.\nso i think that on ironic side will be the same. To Nova will be provided url which is linked with ironic novnc-proxy.","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"50c6fedf0390cc67e05f9c2bac46282bb6c0703b","unresolved":true,"context_lines":[{"line_number":121,"context_line":"novncproxy_host \u003d ..."},{"line_number":122,"context_line":"novncproxy_port \u003d ..."},{"line_number":123,"context_line":"server_listen \u003d ..."},{"line_number":124,"context_line":"server_proxyclient_address \u003d ..."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6e7433a6_092fb477","line":124,"in_reply_to":"dd24e5cf_877250f0","updated":"2023-01-11 08:31:27.000000000","message":"novnc_proxy is used. it works the same as with non ironic vnc console. for Ironic we need a special handshake which will be done in new ironic proxy service. For Nova it will be as normal vnc connection.\n\nthese are nova configs for nova-novncproxy,nova-conductor and nova-compute-ironic","commit_id":"32651be591753d976d48bcc22be1ef04fc1477ce"}],"specs/wallaby/approved/nova-vnc-support-for-ironic.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":true,"context_lines":[{"line_number":24,"context_line":"Currently, ironic does not expose a node\u0027s KVM capabilities. As such,"},{"line_number":25,"context_line":"admin users and deployers have to find alternatives to provide KVM access"},{"line_number":26,"context_line":"to their users. Also, Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":27,"context_line":"nodes provisioned by Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0c5d63e6_f31d80cd","line":27,"updated":"2022-11-08 16:48:15.000000000","message":"thats not entirly ture \nwe do support this using teh serial proxy \nhttps://docs.openstack.org/ironic/latest/admin/console.html\n\nwhat is not supported is a graphical vnc console.\n\nyou can configure kvm access including access to the bios via the serial proxy and shell in a box for nova provisioned ironic baremetal intances.\n\nso this spec intents to extend that to grapical console via the novnc proxy.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"9732d5375d50d4539f3e125efdeb2444f2cc7554","unresolved":true,"context_lines":[{"line_number":24,"context_line":"Currently, ironic does not expose a node\u0027s KVM capabilities. As such,"},{"line_number":25,"context_line":"admin users and deployers have to find alternatives to provide KVM access"},{"line_number":26,"context_line":"to their users. Also, Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":27,"context_line":"nodes provisioned by Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c324b80e_e44bf7cd","line":27,"in_reply_to":"0c5d63e6_f31d80cd","updated":"2022-11-15 11:22:58.000000000","message":"add this info to Alternatives","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b80a6108fd8afe52cd899f62182cdf10c57d1e60","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Currently, ironic does not expose a node\u0027s KVM capabilities. As such,"},{"line_number":25,"context_line":"admin users and deployers have to find alternatives to provide KVM access"},{"line_number":26,"context_line":"to their users. Also, Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":27,"context_line":"nodes provisioned by Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"48b7203f_695bc607","line":27,"in_reply_to":"c324b80e_e44bf7cd","updated":"2022-11-15 12:00:11.000000000","message":"Ack","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"ffb38016c57bac84710be2a99341fd329c7cd9b8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Currently, ironic does not expose a node\u0027s KVM capabilities. As such,"},{"line_number":25,"context_line":"admin users and deployers have to find alternatives to provide KVM access"},{"line_number":26,"context_line":"to their users. Also, Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":27,"context_line":"nodes provisioned by Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a05c0aa_0e34f117","line":27,"in_reply_to":"c324b80e_e44bf7cd","updated":"2022-11-15 12:57:33.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":3,"id":"659833d1_4fa20c20","line":46,"updated":"2022-11-08 16:48:15.000000000","message":"we also need the bmc ip/port.\n\nironic has that info today but nova does not require it so the nova vncproxy will need ot know where to connect to to proxy the vnc session form the bmc to the  end user. where do you intent to store this info how how do you intent to look it up?","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b80a6108fd8afe52cd899f62182cdf10c57d1e60","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":3,"id":"4991e8b0_6d754452","line":46,"in_reply_to":"0707df0b_331de1b1","updated":"2022-11-15 12:00:11.000000000","message":"this is not adress the console auth token table does not contain a password today\n\nhttps://github.com/openstack/nova/blob/master/nova/db/main/models.py#L1042-L1073\n\nand i do not belive we should add one","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"24f017383a400d9d8061125c1e11a605bc736a1c","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":3,"id":"acd526ed_0e0a59b3","line":46,"in_reply_to":"4991e8b0_6d754452","updated":"2022-11-15 13:00:27.000000000","message":"password we need for vnc handshake it is described in rfb protocol. but in this thread you asked about ip and port\nso this info we get from ironic via get_vnc_console\nthe same as we did for serial console","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"3f4d67ba19498fcf2f686d2072738fb004da2089","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":3,"id":"f440a90e_29635ad2","line":46,"in_reply_to":"659833d1_4fa20c20","updated":"2022-11-15 10:47:47.000000000","message":"HI, as i wrote above. method get_vnc_console is implemented. From ironic it recieves  port/ip/password and this info stores in console_auth_tokens table. Novncproxy works with this table (the same as it was done for serial console)\nthats why i decided to store password here as it is a proper place (everything in one place). But i got your point about instance_system_metadata.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"19192ee41c1d29f2dc5260e0b7a2d97d509973dd","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":3,"id":"69c8ef8e_a203ed19","line":46,"in_reply_to":"acd526ed_0e0a59b3","updated":"2022-11-15 13:07:22.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"9732d5375d50d4539f3e125efdeb2444f2cc7554","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":3,"id":"0707df0b_331de1b1","line":46,"in_reply_to":"f440a90e_29635ad2","updated":"2022-11-15 11:22:58.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":true,"context_lines":[{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"New field  ``password`` will be added to the ``console_auth_tokens`` table"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"85c118af_4d82ea00","line":61,"updated":"2022-11-08 16:48:15.000000000","message":"-1\nif we must store this we shoudl store it in the instance_system_metadata table to avoid the db migration.\n\nnova tires pretty hard to never store passwords\nif we require it we shoudl be able to get it from ironic and if we must store it on our side we should avoid extneding the console_auth_tokens table.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"ffb38016c57bac84710be2a99341fd329c7cd9b8","unresolved":true,"context_lines":[{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"New field  ``password`` will be added to the ``console_auth_tokens`` table"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"88f107fc_995a299d","line":61,"in_reply_to":"08c2aa8c_6bbb5f10","updated":"2022-11-15 12:57:33.000000000","message":"could you please clarify why -1 if you said that we can store it in instance_system_metadata\nthanks","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"14b6650a72b085bac75f60fd0a92ca9aa45400f3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"New field  ``password`` will be added to the ``console_auth_tokens`` table"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5e046105_a2dbd4da","line":61,"in_reply_to":"80e75b02_7021efa9","updated":"2022-11-16 12:41:12.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"9732d5375d50d4539f3e125efdeb2444f2cc7554","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"New field  ``password`` will be added to the ``console_auth_tokens`` table"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ef74f5bf_1677fcda","line":61,"in_reply_to":"85c118af_4d82ea00","updated":"2022-11-15 11:22:58.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"f8c6b6a38ae466d2993cc753b86ae230a7d04066","unresolved":true,"context_lines":[{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"New field  ``password`` will be added to the ``console_auth_tokens`` table"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"80e75b02_7021efa9","line":61,"in_reply_to":"88f107fc_995a299d","updated":"2022-11-16 12:36:23.000000000","message":"new solution: novncproxy will get password from Ironic during handshake. So there will not any impact on db","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b80a6108fd8afe52cd899f62182cdf10c57d1e60","unresolved":true,"context_lines":[{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"New field  ``password`` will be added to the ``console_auth_tokens`` table"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"08c2aa8c_6bbb5f10","line":61,"in_reply_to":"ef74f5bf_1677fcda","updated":"2022-11-15 12:00:11.000000000","message":"still -1 on this","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":true,"context_lines":[{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Security impact"},{"line_number":69,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"57153aa2_9d718da2","line":66,"updated":"2022-11-08 16:48:15.000000000","message":"i guess if no parmaters need to change for the api request that might be ok.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"9732d5375d50d4539f3e125efdeb2444f2cc7554","unresolved":false,"context_lines":[{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Security impact"},{"line_number":69,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a2d969c5_04283586","line":66,"in_reply_to":"57153aa2_9d718da2","updated":"2022-11-15 11:22:58.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":true,"context_lines":[{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The VNC connection to the nodes are secured by a token generated while"},{"line_number":72,"context_line":"creating the console in Nova."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Notifications impact"},{"line_number":75,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6b22d208_fec6ae58","line":72,"updated":"2022-11-08 16:48:15.000000000","message":"that token will be sent unencypeted as a beartoken in the respocne url so we need to call out that this need to be protected vai ssl the same as with vms today.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"14b6650a72b085bac75f60fd0a92ca9aa45400f3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The VNC connection to the nodes are secured by a token generated while"},{"line_number":72,"context_line":"creating the console in Nova."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Notifications impact"},{"line_number":75,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"adfdbd77_08292b55","line":72,"in_reply_to":"41cc28b5_08cdc9b1","updated":"2022-11-16 12:41:12.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"45cc26f82f3ad08f6e251816abb59b59c75a9850","unresolved":true,"context_lines":[{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The VNC connection to the nodes are secured by a token generated while"},{"line_number":72,"context_line":"creating the console in Nova."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Notifications impact"},{"line_number":75,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa3cf2ba_0a0df9ee","line":72,"in_reply_to":"6b22d208_fec6ae58","updated":"2022-11-16 04:41:16.000000000","message":"Right, and similarly the console password ironic sends to nova will also be visible if SSL is not used.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"acea9f7299a06e2dfb038ea5bc39cbad40cf319f","unresolved":true,"context_lines":[{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The VNC connection to the nodes are secured by a token generated while"},{"line_number":72,"context_line":"creating the console in Nova."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Notifications impact"},{"line_number":75,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"41cc28b5_08cdc9b1","line":72,"in_reply_to":"fa3cf2ba_0a0df9ee","updated":"2022-11-16 11:36:02.000000000","message":"Hi melwit, in case with password\nit will be sent between novncproxy and ironic,\nthe service network inside the data center, traffic does not go out.\ntoken also is shown to end user.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa19609ba8a96111d4a187c6e7ae442209c99806","unresolved":true,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* https://blueprints.launchpad.net/nova/+spec/ironic-vnc-console  - nova blueprint"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* https://review.opendev.org/c/openstack/ironic/+/860689 - feature mr ironic"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* https://review.opendev.org/c/openstack/nova/+/863177 - feature mr nova"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"078e233f_8f1bbaa1","line":160,"updated":"2022-11-08 16:48:15.000000000","message":"nit: we do not use merge requests in openstack this a gerrit review.","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"9732d5375d50d4539f3e125efdeb2444f2cc7554","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* https://blueprints.launchpad.net/nova/+spec/ironic-vnc-console  - nova blueprint"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* https://review.opendev.org/c/openstack/ironic/+/860689 - feature mr ironic"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* https://review.opendev.org/c/openstack/nova/+/863177 - feature mr nova"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"817b204b_884d4068","line":160,"in_reply_to":"078e233f_8f1bbaa1","updated":"2022-11-15 11:22:58.000000000","message":"Done","commit_id":"397b075c14c7bd5d005219f5b5b92ffb116faa5b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5542d77ace866f511412168658b0058a54d3e299","unresolved":true,"context_lines":[{"line_number":22,"context_line":"experience as compared to serial console."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":25,"context_line":"nodes provisioned by Nova. this spec intents to extend that to"},{"line_number":26,"context_line":"grapical console via the novnc proxy."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":6,"id":"74050d1c_2f892c06","line":25,"range":{"start_line":25,"start_character":27,"end_line":25,"end_character":31},"updated":"2022-11-15 15:20:10.000000000","message":"nit: This","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"062822440a71426c248eea6f03adfb61c18cf270","unresolved":false,"context_lines":[{"line_number":22,"context_line":"experience as compared to serial console."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Horizon\u0027s VNC console is not supported for the ironic"},{"line_number":25,"context_line":"nodes provisioned by Nova. this spec intents to extend that to"},{"line_number":26,"context_line":"grapical console via the novnc proxy."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f070c8d_3b77eccc","line":25,"range":{"start_line":25,"start_character":27,"end_line":25,"end_character":31},"in_reply_to":"74050d1c_2f892c06","updated":"2022-11-16 12:18:16.000000000","message":"Done","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5542d77ace866f511412168658b0058a54d3e299","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":6,"id":"0eeb3482_6bd27c16","line":46,"updated":"2022-11-15 15:20:10.000000000","message":"I\u0027m not 100% sure why we need to store the password if this is already stored on the ironic side.","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b129b1198e29c9bdd3c5b3a6e8403a5e67addc80","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":6,"id":"d6627402_644d1a4a","line":46,"in_reply_to":"0df68dfa_7736fb59","updated":"2022-11-16 12:27:17.000000000","message":"I spoke about this with Kirill on IRC yesterday.\n\nwhat we should be doing is when we get the connection from the client in the proxy before we open the WebSocket stream to the vnc backend we should just call ironic to get the password\n\nthat is what I explained on IRC \nI would proably do it here in _get_connect_info\nhttps://github.com/openstack/nova/blob/2eb358cdcec36fcfe5388ce6982d2961ca949d0a/nova/console/websocketproxy.py#L134-L148\n\nwhich is invoked from new_websocket_client\nhttps://github.com/openstack/nova/blob/2eb358cdcec36fcfe5388ce6982d2961ca949d0a/nova/console/websocketproxy.py#L182\n\ni was expecting the next revsion to nolonger have any refernce to storing the passowrd.","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"f8c6b6a38ae466d2993cc753b86ae230a7d04066","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":6,"id":"43daf4fc_89aa90b9","line":46,"in_reply_to":"0df68dfa_7736fb59","updated":"2022-11-16 12:36:23.000000000","message":"as discussed in #61 \nnew solution is: novnc will ask password from ironic during handshake. So there is no need to store it on Nova side.\nis it up to you?","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"45cc26f82f3ad08f6e251816abb59b59c75a9850","unresolved":true,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":6,"id":"0df68dfa_7736fb59","line":46,"in_reply_to":"0eeb3482_6bd27c16","updated":"2022-11-16 04:41:16.000000000","message":"I\u0027m guessing it\u0027s because when we receive the password from ironic, it\u0027s not actually establishing a connection to the console, it\u0027s just handing back a URL to the user that they can visit to connect to their console via the nova VNC proxy server. So any time a user visits the URL and lands on the proxy server, we need the console password to actually establish the connection to the console.\n\nRelated to the following comments about SSL, TBH why don\u0027t we just embed the password into the console URL we hand to the user, just like we do with the console auth token? The console auth token is essentially a password for consoles that don\u0027t have a password. It doesn\u0027t seem like any additional exposure to handle this password the same way. The vnc console proxy is completely insecure if SSL is not used, regardless.\n\nThen, in the proxy we parse out the password along with the auth token and establish the connection with it.","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"14b6650a72b085bac75f60fd0a92ca9aa45400f3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  ``password`` - password for vnc console. it is stored on ironic side"},{"line_number":44,"context_line":"  ``driver_info`` -\u003e ``drac_vnc_password``. Nova uses this password for"},{"line_number":45,"context_line":"  handshake. ``get_vnc_console`` method will provide it to Nova. End user will"},{"line_number":46,"context_line":"  not see this password."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":49,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."}],"source_content_type":"text/x-rst","patch_set":6,"id":"f2b36b3c_e0819d56","line":46,"in_reply_to":"43daf4fc_89aa90b9","updated":"2022-11-16 12:41:12.000000000","message":"Done","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5542d77ace866f511412168658b0058a54d3e299","unresolved":true,"context_lines":[{"line_number":132,"context_line":"----------"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"* nova-novncproxy: implement rfb auth schemes authvnc.RFBAuthSchemeVNC"},{"line_number":135,"context_line":"  according to rfb protocol. Some codes suporting this new auth scheme."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* nova-compute-ironic: add new method ``get_vnc_console`` to Ironic virt"},{"line_number":138,"context_line":"  driver"}],"source_content_type":"text/x-rst","patch_set":6,"id":"02c06029_8b2f0235","line":135,"range":{"start_line":135,"start_character":40,"end_line":135,"end_character":49},"updated":"2022-11-15 15:20:10.000000000","message":"nit: supporting","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"062822440a71426c248eea6f03adfb61c18cf270","unresolved":false,"context_lines":[{"line_number":132,"context_line":"----------"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"* nova-novncproxy: implement rfb auth schemes authvnc.RFBAuthSchemeVNC"},{"line_number":135,"context_line":"  according to rfb protocol. Some codes suporting this new auth scheme."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* nova-compute-ironic: add new method ``get_vnc_console`` to Ironic virt"},{"line_number":138,"context_line":"  driver"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5ad615cd_94f0f56a","line":135,"range":{"start_line":135,"start_character":40,"end_line":135,"end_character":49},"in_reply_to":"02c06029_8b2f0235","updated":"2022-11-16 12:18:16.000000000","message":"Done","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5542d77ace866f511412168658b0058a54d3e299","unresolved":true,"context_lines":[{"line_number":138,"context_line":"  driver"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"* db: add new field to ConsoleAuthToken table: ``password``. Some codes"},{"line_number":141,"context_line":"  suporting this field. Add migrations."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Dependencies"},{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b46cd91b_ec58a8e5","line":141,"range":{"start_line":141,"start_character":2,"end_line":141,"end_character":11},"updated":"2022-11-15 15:20:10.000000000","message":"nit: supporting","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"062822440a71426c248eea6f03adfb61c18cf270","unresolved":false,"context_lines":[{"line_number":138,"context_line":"  driver"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"* db: add new field to ConsoleAuthToken table: ``password``. Some codes"},{"line_number":141,"context_line":"  suporting this field. Add migrations."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Dependencies"},{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"17af5cc7_c045d286","line":141,"range":{"start_line":141,"start_character":2,"end_line":141,"end_character":11},"in_reply_to":"b46cd91b_ec58a8e5","updated":"2022-11-16 12:18:16.000000000","message":"Done","commit_id":"eb5528c603caeda91b861cb178a61fef49df9e82"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b129b1198e29c9bdd3c5b3a6e8403a5e67addc80","unresolved":true,"context_lines":[{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"New field  ``password`` will be store in the ``instance_system_metadata`` table"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"REST API impact"},{"line_number":67,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"54ec0183_fed71521","line":64,"updated":"2022-11-16 12:27:17.000000000","message":"-1 to storing it in nova at all.\n\nthis is better then modifying the db but i still don\u0027t like storing passwords in the nova db.","commit_id":"02513226f8c06bd47af1e9efba70afa10e18e289"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"6eb1374b36ad120e1fd1aaaae909c93b35023e33","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"New field  ``password`` will be store in the ``instance_system_metadata`` table"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"REST API impact"},{"line_number":67,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"f89f99d0_e373d5d2","line":64,"in_reply_to":"221df98a_6d91640e","updated":"2022-11-16 12:42:17.000000000","message":"Done","commit_id":"02513226f8c06bd47af1e9efba70afa10e18e289"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"e0c009cb4734cd56a5a8b5c088e2a7adbb45b8a7","unresolved":true,"context_lines":[{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"New field  ``password`` will be store in the ``instance_system_metadata`` table"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"REST API impact"},{"line_number":67,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"221df98a_6d91640e","line":64,"in_reply_to":"54ec0183_fed71521","updated":"2022-11-16 12:41:41.000000000","message":"\u003e -1 to storing it in nova at all.\n\u003e \n\u003e this is better then modifying the db but i still don\u0027t like storing passwords in the nova db.","commit_id":"02513226f8c06bd47af1e9efba70afa10e18e289"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4dd4612dae31ab5ae07ed82ae64a1787353462b4","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":43,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"cf7fae6f_d53366aa","line":44,"updated":"2022-11-16 13:12:47.000000000","message":"so i would prefer to have a little more detail as to what these changes will look like.\n\nlooking at the code i can see that adding support for the new auth scheme shoudl be fairly self contained to the nova novnc proxy but it woudl be good to explain the high level plan for what you want to change and where here.","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"ec086866b019718465607e67dca3a4aca45ec5c7","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":43,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"b9f7d172_aaabf896","line":44,"in_reply_to":"0c6b32de_449b4a28","updated":"2022-11-30 09:50:40.000000000","message":"after all discusisions now on nova side will be added support of vnc in ironic driver, which is described in Proposed change. and nothing else. all changes will be on ironic side.","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a49963d783be59ece8b714821dd299a7f65ae93f","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":43,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"63d5ed49_3d2454f3","line":44,"in_reply_to":"287e3b9b_29212223","updated":"2022-11-30 11:54:58.000000000","message":"Done","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"20be799d402f799a46b9d6caf9d84b2666c3e999","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":43,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"0c6b32de_449b4a28","line":44,"in_reply_to":"3f822607_9eb2d81a","updated":"2022-11-28 12:20:28.000000000","message":"ack\n\nthe spec currently as written tells me almost nothing about what you intend to change in nova.\n\nthe intent of a spec is to explain what need to happen and why so that if you were unable to work on the implemenation it contains enough information for someone else too take it over.\n\nyou do not need to describe the line by line or function by function changes.\nbut you should pretent you are givign this to an intern or new dev to work on as there first feature. the spec shoudl serve as docuemnation for the review, implemetnedre and eventual operators that will deploy it to capture the desgin and intent of how the feature should work and be used.\n\ncurrently you have stated that you will add supprot for the get_vnc_console method in the ironic driver. that great but what will that suppport look like.\n\ncan you add a brief description of the ironic api that will be invoked to get the console information.\n\ntehre are also some open questiosn such as in this configuration will there be a need for the nova novnc proxy to be deployed? i assume yes and the nova proxy will just expose the ironic proxy via a web sockect, if not then the spec need to descirbe how this will work without the nova proxy.\n\n\nyou shoudl also state how you will invoke the ironic api.\n\npresumable via the openstack sdk or ironic client python bindings.\n\nyou do not need to provide a link to the changes that enable this api in either but you shoudl call out this  work as a dependcy.\n\n\nin general if the ironic comuntiy sees value in providing a vnc proxy presumable for standalone use and you just want to integrate that with nova i have no real objection to that espcially if it means we do not need to manage passwords so im still supportive of adding this over all but -1 for lack of detail in the spec\n\nin general i expect the overall code change to be small similar to the supprot for the serial console\nhttps://opendev.org/openstack/nova/commit/c9a64996ecc317b2c05d688e0f5d31c37122ca01","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"f05595fae149b9b2373d478a88d79bd089ad5190","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":43,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"287e3b9b_29212223","line":44,"in_reply_to":"b9f7d172_aaabf896","updated":"2022-11-30 09:52:06.000000000","message":"sure i\u0027ll add more description","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"e6837ee8a6161d476522db2eeb8d1c2aec823434","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Changes will be proposed to nova-novncproxy: auth scheme ``rfb.VNC`` will be"},{"line_number":43,"context_line":"  added. ``RFBAuthSchemeVNC`` class will be emplemented."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3f822607_9eb2d81a","line":44,"in_reply_to":"cf7fae6f_d53366aa","updated":"2022-11-28 10:45:49.000000000","message":"Hi, after discussion with ironic community we decided to create proxy on ironic side, which will be responsible also for vnc handshake (the password check will be on ironic side) in that case we don\u0027t need to create any  auth scheme ``rfb.VNC``. For Nova it will be authnone.RFBAuthSchemeNone.","commit_id":"8f7a4d56445dd23400780d7ee29893f8748a806d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"20be799d402f799a46b9d6caf9d84b2666c3e999","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  a ``ctype.ConsoleVNC`` with the required connection information"},{"line_number":39,"context_line":"  (port/ip). Will raise ConsoleTypeUnavailable if vnc console"},{"line_number":40,"context_line":"  is unavailable for the instance"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"25cf6609_7ceec6fd","line":41,"updated":"2022-11-28 12:20:28.000000000","message":"i have one other question regardign schduling.\n\nit might be prudent to add standard tratis to os traits for serial and graphical console support\n\n\nspecificaly a new compute capblity trait for each \nin a new file in https://github.com/openstack/os-traits/tree/master/os_traits/compute/console.py\n\n\nTRAITS \u003d [\n    \u0027serial\u0027,\n    \u0027graphical\u0027,\n    \u0027vnc\u0027,\n    \u0027spice\u0027,\n}\n\n\nthis is more of a nice to have but it would allow you to report which nodes supprot each type and or the protocaol so that you could request it in the flavor in addtion to the custom resouce class to select a host that supprot a gaphical console.\n\n\nthis is not strictly required but without this operators will either need to ensure all ironic nodes have this enabel or they will need to manually confirue custom traits/resouce classes to model this.\n\n\nim not going to require traits to be added for this althogh i think it would be good in general if virt driver reported the consoles they supproted to placement.\ni just wanted to ask had you considerd the schduling impact to this fature and how we will want to advise operators about its use.","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bcc5dd534378c96342a2b5fdcc4233eb1aedee3d","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  a ``ctype.ConsoleVNC`` with the required connection information"},{"line_number":39,"context_line":"  (port/ip). Will raise ConsoleTypeUnavailable if vnc console"},{"line_number":40,"context_line":"  is unavailable for the instance"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"c0130bb1_9eb46888","line":41,"in_reply_to":"25cf6609_7ceec6fd","updated":"2022-12-14 11:45:17.000000000","message":"agreed with Sean about the upgrade problem but maybe not by the traits solution. I\u0027d prefer to have the nova-api service to know about the compute service using ervice.get_minimum_version_all_cells() when we call get_vnc_console() here :\n\nhttps://github.com/openstack/nova/blob/8b4104f9f78d0615720c0ba1e3e8cfced42efcc5/nova/compute/api.py#L4786","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e5dc6c3536aaf74ac98278e7ffdeeeb4f7764aaf","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  a ``ctype.ConsoleVNC`` with the required connection information"},{"line_number":39,"context_line":"  (port/ip). Will raise ConsoleTypeUnavailable if vnc console"},{"line_number":40,"context_line":"  is unavailable for the instance"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"e1751458_9074737c","line":41,"in_reply_to":"9789df7f_2b17fe0e","updated":"2023-01-10 14:39:13.000000000","message":"the trait infomation was to ensure you coudl schdule to an ironic baremental host that supported vnc.\n\nits unlikely that all physical servers in a deployemnt will not only supprot vnc but will be configured to enable it.\n\nso the intent of thave a  compute_console_vnc trait was to allow you to request an ironic host with vnc capablity if you intended to use that.\n\nits not related to upgrades really.","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"6e66be4d59edb64c5233a1488ec184dc781d742f","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  a ``ctype.ConsoleVNC`` with the required connection information"},{"line_number":39,"context_line":"  (port/ip). Will raise ConsoleTypeUnavailable if vnc console"},{"line_number":40,"context_line":"  is unavailable for the instance"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9789df7f_2b17fe0e","line":41,"in_reply_to":"a2e3a112_89318365","updated":"2022-12-20 09:17:30.000000000","message":"Hi, could you please clarify how then should we use this info.\ncause seems that i don\u0027t understand  upgrade problem. Now if ironic does not support vnc we got error like:\"console type unsupported\". This changes will provide a vnc but the behavior will be the same if ironic was not updated. So how ervice.get_minimum_version_all_cells() can expand behavior or where should i provide this info? thanks","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2ff5e8e4dcc7426298179e1609e7a125953fab64","unresolved":true,"context_lines":[{"line_number":38,"context_line":"  a ``ctype.ConsoleVNC`` with the required connection information"},{"line_number":39,"context_line":"  (port/ip). Will raise ConsoleTypeUnavailable if vnc console"},{"line_number":40,"context_line":"  is unavailable for the instance"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"a2e3a112_89318365","line":41,"in_reply_to":"c0130bb1_9eb46888","updated":"2022-12-14 20:58:18.000000000","message":"+1 on that, it will be helpful for upgrades to know if this all work fine or not.","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"7541b876284b034c3ef904e891e76f4013233aad","unresolved":false,"context_lines":[{"line_number":38,"context_line":"  a ``ctype.ConsoleVNC`` with the required connection information"},{"line_number":39,"context_line":"  (port/ip). Will raise ConsoleTypeUnavailable if vnc console"},{"line_number":40,"context_line":"  is unavailable for the instance"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"},{"line_number":43,"context_line":"------------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"41a4d9c3_51b524b0","line":41,"in_reply_to":"e1751458_9074737c","updated":"2023-01-10 19:03:17.000000000","message":"Done","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"20be799d402f799a46b9d6caf9d84b2666c3e999","unresolved":true,"context_lines":[{"line_number":86,"context_line":"Other deployer impact"},{"line_number":87,"context_line":"---------------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"None"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Developer impact"},{"line_number":92,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"69db5aca_be173195","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":4},"updated":"2022-11-28 12:20:28.000000000","message":"this would be a good place to descibe any configuration change required in nova/ironic to compete the integrations.\n\ni.e. the need to use openstack baremetal node console enable --type graphical to enabel the console on a ironic node.","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"693b5e7626156426f081eedcf5b449ecc6a0affd","unresolved":false,"context_lines":[{"line_number":86,"context_line":"Other deployer impact"},{"line_number":87,"context_line":"---------------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"None"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Developer impact"},{"line_number":92,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9eac7639_b9d34d7f","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":4},"in_reply_to":"097abc05_14177d6c","updated":"2022-12-06 14:04:04.000000000","message":"Done","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"611aee14951bcf48c44ec33639018604026231a1","unresolved":true,"context_lines":[{"line_number":86,"context_line":"Other deployer impact"},{"line_number":87,"context_line":"---------------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"None"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Developer impact"},{"line_number":92,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"097abc05_14177d6c","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":4},"in_reply_to":"69db5aca_be173195","updated":"2022-11-30 09:46:41.000000000","message":"Hi\nwe don\u0027t need graphical type\nopenstack baremetal node console enable  is anough. for nova side it will not be any changes in interface\nwe just adding vnc console on ironic side and adding vnc support in nova ironic driver. type graphical will requir after adding new graphical_console_interface","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"20be799d402f799a46b9d6caf9d84b2666c3e999","unresolved":true,"context_lines":[{"line_number":134,"context_line":"Documentation Impact"},{"line_number":135,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"References"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"cbb42a1e_e2bbd4e7","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":4},"updated":"2022-11-28 12:20:28.000000000","message":"you should update\nhttps://docs.openstack.org/nova/latest/admin/remote-console-access.html\nand \nhttps://docs.openstack.org/ironic/latest/admin/console.html\nto document how this can be configured and used.","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"693b5e7626156426f081eedcf5b449ecc6a0affd","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Documentation Impact"},{"line_number":135,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"References"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"c1d06343_9433960e","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":4},"in_reply_to":"1553eac0_5e6f339f","updated":"2022-12-06 14:04:04.000000000","message":"Done","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"aede01aa0f2bccb17643e6aa8249cb3710ef1a98","unresolved":true,"context_lines":[{"line_number":134,"context_line":"Documentation Impact"},{"line_number":135,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"References"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1553eac0_5e6f339f","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":4},"in_reply_to":"c7a49a1f_2b2e5804","updated":"2022-11-29 16:46:07.000000000","message":"i would do them in line.\n\npresumable the ironic one can be used with ironic standalone\n\nthe nova one should be in the final commit of the serise for nova.\n\nbasically the final patch should have the docs and release note","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"e497dec3b5ab2d7aa9a0a30e74a4e1030404c0ae","unresolved":true,"context_lines":[{"line_number":134,"context_line":"Documentation Impact"},{"line_number":135,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"References"},{"line_number":140,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"c7a49a1f_2b2e5804","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":4},"in_reply_to":"cbb42a1e_e2bbd4e7","updated":"2022-11-29 16:28:54.000000000","message":"got it, should i do it only after feature realisation?","commit_id":"a0ef890d397091cf5ed41e4d8909a908583b7ee3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a49963d783be59ece8b714821dd299a7f65ae93f","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Upgrade impact"},{"line_number":132,"context_line":"--------------"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"None"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Implementation"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"f1eb192d_df624890","line":134,"range":{"start_line":131,"start_character":0,"end_line":134,"end_character":4},"updated":"2022-11-30 11:54:58.000000000","message":"im wonderign if there is any upgrade impact.\n\nnew nova and old ironic\nnova will have the function in the driver but ironic will not support the required microversion so nova should reject the request and return a 409 Conflict.\n\nold nova and new ironic the driver will just not implemnte the get console function for vnc and the user should get a 400 bad request.\n\nsince we are not changing any paramaters in the api request ot nova i dont think we need a microversion for this however we likely chould increate the compute service version so we can detect in the api if the compute service has been upgraded.\n\ni would like gmann or some one else too validate my reasoning for why we dont need a microverion for this change.","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":35370,"name":"Kirill","email":"kirill.germanov@gcore.com","username":"kirillgermanov"},"change_message_id":"7541b876284b034c3ef904e891e76f4013233aad","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Upgrade impact"},{"line_number":132,"context_line":"--------------"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"None"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Implementation"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"6a44a7c2_663215b4","line":134,"range":{"start_line":131,"start_character":0,"end_line":134,"end_character":4},"in_reply_to":"063a76dd_201f0253","updated":"2023-01-10 19:03:17.000000000","message":"Done","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2ff5e8e4dcc7426298179e1609e7a125953fab64","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Upgrade impact"},{"line_number":132,"context_line":"--------------"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"None"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Implementation"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"063a76dd_201f0253","line":134,"range":{"start_line":131,"start_character":0,"end_line":134,"end_character":4},"in_reply_to":"f1eb192d_df624890","updated":"2022-12-14 20:58:18.000000000","message":"\u003enew nova and old ironic\n\nAgree, with old ironic nova returning error based on what we got from ironic seems good.\n\n\u003e old nova and new ironic\nThis case still will return what it does today which is 501[1] (which we made consistent for many APIs by changing it from 501/409/403 to 400 and we can change for this API too but its a separate thing)\n\nI agree on API versioning and it does not require microversion change in Nova as no change in Nova API for this. \n\n\n[1] https://github.com/openstack/nova/blob/d7de0c121aa5680f8e836447b111bd5975df306c/nova/api/openstack/common.py#L486","commit_id":"caa4d48ebd5cfde9aa149bad80ef237e8e614a6a"}]}
