)]}'
{"specs/liberty/deploy-agent-logging.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"44d9952a37698e91bfe13158d530969426c24e2b","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The IPA API gets a new REST resource::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    /v1/logs"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"which supports the GET method and returns the following::"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_2744a372","line":53,"updated":"2015-03-30 08:48:27.000000000","message":"I guess this should include node UUID. also I\u0027d prefer 2 separate calls to get 2 files:\n\n /v1/nodes/\u003cUUID\u003e/logs/dmesg\n /v1/nodes/\u003cUUID\u003e/logs/journal\n\nthen you won\u0027t need gzip+base64","commit_id":"a71fcbae1393f4dd0fa9ee6c69d646188626f293"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"9801d56a6f095ee69692e838ee561ad797d1097d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The IPA API gets a new REST resource::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    /v1/logs"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"which supports the GET method and returns the following::"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_fbcf187d","line":53,"in_reply_to":"da9b358b_2744a372","updated":"2015-04-01 09:26:43.000000000","message":"This is IPA API and not Ironic API, so I don\u0027t think \"nodes/\u003cUUID\u003e\" is necessary.\n\nThis API is issued only once for an IPA when a deploy finishes and logs shouldn\u0027t be very large, so I\u0027m thinking just removing gzipping is fine.","commit_id":"a71fcbae1393f4dd0fa9ee6c69d646188626f293"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"ab300aa78f28a13049e3cdba7323705ce4e9386b","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The IPA API gets a new REST resource::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    /v1/logs"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"which supports the GET method and returns the following::"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baa041b7_e51a3017","line":53,"in_reply_to":"da9b358b_9b7dacb3","updated":"2015-04-02 09:05:00.000000000","message":"I\u0027ve pushed a new patchset as you have suggested.\n\nI think the logs should go to Ironic logfiles, rather than DB or something else.  I\u0027ve made that point clear in the new patchset.","commit_id":"a71fcbae1393f4dd0fa9ee6c69d646188626f293"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"39abbe8f73533031c5208ca3f84b2bbfab2cd4e6","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The IPA API gets a new REST resource::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    /v1/logs"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"which supports the GET method and returns the following::"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_9b7dacb3","line":53,"in_reply_to":"da9b358b_fbcf187d","updated":"2015-04-01 09:36:00.000000000","message":"oh sorry. I still think it should be 2 endpoints just to avoid base64-in-JSON.\n\nAnd my next question is how these logs are going to be used by Ironic? Or is it just for directly contacting IPA ramdisk by an operator?","commit_id":"a71fcbae1393f4dd0fa9ee6c69d646188626f293"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"a86f6f04e1eb40ca260ea026ad4a59d8112f28a6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Create new REST resources on the IPA that gives agent logs.  On the"},{"line_number":29,"context_line":"Ironic side, the agent deploy code obtains the agent logs using the"},{"line_number":30,"context_line":"REST resource when a deploy is finished.  The obtained logs are"},{"line_number":31,"context_line":"written to Ironic logs."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_6f9d81bb","line":29,"updated":"2015-04-09 00:41:39.000000000","message":"Post cleaning (and soon zapping) steps would be another good time to collect logs.","commit_id":"f95aea47aa6bb9514f958b46c999b950abe4e8d4"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"e0da36ca04997ba104e58705b4933de52fa4745a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Create new REST resources on the IPA that gives agent logs.  On the"},{"line_number":29,"context_line":"Ironic side, the agent deploy code obtains the agent logs using the"},{"line_number":30,"context_line":"REST resource when a deploy is finished.  The obtained logs are"},{"line_number":31,"context_line":"written to Ironic logs."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_120f3a89","line":29,"in_reply_to":"9aa53dc9_6f9d81bb","updated":"2015-04-09 02:43:09.000000000","message":"Yes, cleaning logs should be collected too.\nI\u0027ll update the spec.","commit_id":"f95aea47aa6bb9514f958b46c999b950abe4e8d4"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"a86f6f04e1eb40ca260ea026ad4a59d8112f28a6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"------------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Log data can be pushed from IPAs to Ironic.  Or, this feature can be"},{"line_number":37,"context_line":"woven into the heartbeat logic."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"These approaches are better for online troubleshooting and have better"},{"line_number":40,"context_line":"chance of getting log data when agents become unresponsive."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_ef6ab1b2","line":37,"updated":"2015-04-09 00:41:39.000000000","message":"I think the heartbeat is a reasonable alternative. If you don\u0027t power off your nodes running IPA between deploys (we don\u0027t), having automated log collection not just during deploy would be great. Otherwise, you\u0027ll be collecting possibly days or weeks of information from IPA after the deploy is done. You may, want to do this in conjunction with an API endpoint, so you can force a log dump right before you power off the node (though in reality, so much of the Ironic/API interaction is heartbeat driven that the log diff you\u0027d be collecting would be non-existent in most cases).","commit_id":"f95aea47aa6bb9514f958b46c999b950abe4e8d4"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"faf4cbfbf653c5f8c836c7ee7a0a90c4b4434f45","unresolved":false,"context_lines":[{"line_number":34,"context_line":"------------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Log data can be pushed from IPAs to Ironic.  Or, this feature can be"},{"line_number":37,"context_line":"woven into the heartbeat logic."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"These approaches are better for online troubleshooting and have better"},{"line_number":40,"context_line":"chance of getting log data when agents become unresponsive."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_144dcbc3","line":37,"in_reply_to":"9aa53dc9_72f0c667","updated":"2015-04-09 16:42:06.000000000","message":"That\u0027s how it is today, but there is another spec for long running ramdisks: https://review.openstack.org/#/c/102405/, and is how we\u0027ve been running the agent in production for the past year or so. It saves a boot cycle when the tenant boots a node, and makes fleet management much easier.","commit_id":"f95aea47aa6bb9514f958b46c999b950abe4e8d4"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"e0da36ca04997ba104e58705b4933de52fa4745a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"------------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Log data can be pushed from IPAs to Ironic.  Or, this feature can be"},{"line_number":37,"context_line":"woven into the heartbeat logic."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"These approaches are better for online troubleshooting and have better"},{"line_number":40,"context_line":"chance of getting log data when agents become unresponsive."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa53dc9_72f0c667","line":37,"in_reply_to":"9aa53dc9_ef6ab1b2","updated":"2015-04-09 02:43:09.000000000","message":"In my understanding, IPA finishes when a deploy/cleaning is done.  So there\u0027s no such information as long as days or weeks on IPA.\n\nAm I missing something?","commit_id":"f95aea47aa6bb9514f958b46c999b950abe4e8d4"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"e9d8df52e059b1f1b5f48f90d26379a507404da5","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Create a new REST resource on the IPA that gives agent logs. On the"},{"line_number":14,"context_line":"Ironic side, let agent drivers collect agent logs using the new REST"},{"line_number":15,"context_line":"resource."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dac4157f_5b175c51","line":16,"updated":"2015-04-21 05:37:50.000000000","message":"L13-16 need an update.","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2dc31f83c7e0eab83825639ffb99bda816358e06","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Create a new REST resource on the IPA that gives agent logs. On the"},{"line_number":14,"context_line":"Ironic side, let agent drivers collect agent logs using the new REST"},{"line_number":15,"context_line":"resource."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab921fb_ec50a10c","line":16,"in_reply_to":"dac4157f_5b175c51","updated":"2015-04-24 09:03:17.000000000","message":"Done","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"058f265d6d456588df16c4c465fb665883e7d985","unresolved":false,"context_lines":[{"line_number":55,"context_line":"An IPA API heartbeat message will look like::"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    {\u0027agent_url\u0027: ...,"},{"line_number":58,"context_line":"     \u0027dmesg\u0027: ...,"},{"line_number":59,"context_line":"     \u0027agent\u0027: ...}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"RPC API impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aaa499b_c31b4472","line":58,"updated":"2015-04-15 14:43:34.000000000","message":"How about \u0027logs\u0027: {\u0027dmesg\u0027: .., \u0027agent\u0027: ..}? \u0027agent\u0027 looks extremely ambiguous right now.","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2dc31f83c7e0eab83825639ffb99bda816358e06","unresolved":false,"context_lines":[{"line_number":55,"context_line":"An IPA API heartbeat message will look like::"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    {\u0027agent_url\u0027: ...,"},{"line_number":58,"context_line":"     \u0027dmesg\u0027: ...,"},{"line_number":59,"context_line":"     \u0027agent\u0027: ...}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"RPC API impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab921fb_cc571d01","line":58,"in_reply_to":"7aaa499b_c31b4472","updated":"2015-04-24 09:03:17.000000000","message":"Done","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"9a8522973d4854a66a15919f5645141097867b53","unresolved":false,"context_lines":[{"line_number":101,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":104,"context_line":"more information."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Developer impact"},{"line_number":107,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aaa499b_e8850aad","line":104,"updated":"2015-04-15 10:03:19.000000000","message":"It seems like it\u0027s something that we should allow operators to disable/enable. Not everyone wants to spend network bandwidth transferring logs around. One should not care about the logs unless the Node fails to deploy or something and even then he could just SSH into IPA and check the logs itself. In fact that\u0027s what I do when troubleshooting IPA, see[1]\n\nWhat about we have a switch to disable this feature? And this information (whether send the logs or not) can be passed from the Ironic service to IPA when it first check in (lookup)[2].\n\n[1] https://review.openstack.org/#/c/172932/\n\n[2] https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/agent.py#L279-L286","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"8a95744f09f352d3da715f7d327879f867560891","unresolved":false,"context_lines":[{"line_number":101,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":104,"context_line":"more information."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Developer impact"},{"line_number":107,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dac4157f_4890e795","line":104,"in_reply_to":"7aaa499b_a8f7f757","updated":"2015-04-19 07:15:16.000000000","message":"+1","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2dc31f83c7e0eab83825639ffb99bda816358e06","unresolved":false,"context_lines":[{"line_number":101,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":104,"context_line":"more information."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Developer impact"},{"line_number":107,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab921fb_f944de74","line":104,"in_reply_to":"7aaa499b_a8f7f757","updated":"2015-04-24 09:03:17.000000000","message":"Well, as you unconditionally get Ironic logs, I thought unconditionally adding IPA logs was fine.\n\nBut due to popular demand, IPA logging is now conditional. :)","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"058f265d6d456588df16c4c465fb665883e7d985","unresolved":false,"context_lines":[{"line_number":101,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":104,"context_line":"more information."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Developer impact"},{"line_number":107,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aaa499b_a8f7f757","line":104,"in_reply_to":"7aaa499b_e8850aad","updated":"2015-04-15 14:43:34.000000000","message":"Agreed. We\u0027re doing something similar for the metrics spec, sending over a lot of configs from the the conductor. I can break that bit out so both spec implementations can depend on it.\n\nhttps://review.openstack.org/#/c/119981/15/ironic_python_agent/agent.py#L313-318","commit_id":"94afb3b35e721cd4c440ac3e303acb37945059e5"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"60845def0b0563db00625a273cb694cde653a7b7","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Proposed change"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Add new fields to the IPA heartbeat JSON and incrementally send logs"},{"line_number":28,"context_line":"with heartbeat messages.  Change the IPA to initialize its loglevel"},{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab921fb_608b1169","line":26,"updated":"2015-04-26 16:42:19.000000000","message":"maybe \"State Machine Impact\" is needed.","commit_id":"a16b3ed21681c1165ee19e8512a5a2a2a97d7e8d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"9584bbac1bdeab397fb9ccc2fb8623e6aaf5289b","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":111,"context_line":"more information."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_c2bef7fe","line":108,"updated":"2015-04-30 11:43:19.000000000","message":"why can\u0027t we have one more kernel parameter?","commit_id":"4c32e8fe9adf5e21767b50212ba0f275a418081b"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"0db130c776b84196238ca0011271b76dd0ba1367","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":111,"context_line":"more information."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_d3cc8037","line":108,"in_reply_to":"3acd31a7_c2bef7fe","updated":"2015-04-30 15:48:36.000000000","message":"The comments on patchset 3 said this would be conditional. Please update the spec.","commit_id":"4c32e8fe9adf5e21767b50212ba0f275a418081b"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"bf568e462db825a485482272639bc0ab8205207a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"Other deployer impact"},{"line_number":106,"context_line":"---------------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"The proposed feature will be unconditionally enabled."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":111,"context_line":"more information."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3acd31a7_71547220","line":108,"in_reply_to":"3acd31a7_d3cc8037","updated":"2015-05-01 07:26:04.000000000","message":"Done","commit_id":"4c32e8fe9adf5e21767b50212ba0f275a418081b"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"c9dfadf9d9fc7592d2edbc4fdb02f279d6b2c230","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_36123d0a","line":32,"updated":"2015-05-19 13:03:16.000000000","message":"Not sure that it is good. There is a separate db table for node\u0027s logs proposed, maybe we should use it https://review.openstack.org/#/c/164586/","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"7511c4160dc9c0f69c1815df0bfe192a3ca0afb5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_4e419237","line":32,"in_reply_to":"7a016987_36123d0a","updated":"2015-05-20 00:03:36.000000000","message":"Are you attending the Summit?  Can we have some time to discuss?","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"7d1062d63e7fc61584106917602dbf6fed21e036","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_db6194aa","line":32,"in_reply_to":"7a016987_36123d0a","updated":"2015-05-21 21:56:19.000000000","message":"Currently all the deployment logs go to the ironic logs, so I\u0027ve just followed that.\nI\u0027m happy to update this spec when the abovementioned spec is merged.","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"7c1ae257b6272952f7320a5b2faccc88455665b9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_eaec742b","line":32,"in_reply_to":"7a016987_36123d0a","updated":"2015-05-22 02:42:25.000000000","message":"I really disagree these should be in the DB. Storing it in the DB is really non-scalable. These will be shipped the whole time; in that spec, they\u0027re only being stored when the operator specifically requests them. This is for *all* IPA based deploys (and even between deploys).","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"30b9abd84855db9ac4340e03997d8771ad2d84ee","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_786970f8","line":32,"in_reply_to":"7a016987_eaec742b","updated":"2015-05-22 18:14:02.000000000","message":"+1 I agree entirely that logs don\u0027t go in the DB.\n\nI\u0027d suggest Ironic actually emit the logs in real time; this way operators with existing log management can search IPA logs the same as they would Ironic logs. This leads to the question/problem of which conductor would emit them, and having to find them.\n\nAll solutions are not awesome, but I see storing IPA logs in a database as a major scalability issue at 1000+ agents.","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"9e4dbeb4cb3563ab49e2f913f460027043c637d8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from the ipa-loglevel agent parameter."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_8299567b","line":32,"in_reply_to":"7a016987_eaec742b","updated":"2015-05-22 18:36:50.000000000","message":"After thinking a bit more, there are two issues in Yuriy\u0027s idea.\n\n1. This spec deal with deploy logs.  The other spec deals with instance logs.  Althogh they may share the same hardware, basically they are unrelated.\n\n2. What will be the lifecycle of the console logs (not this spec)? Where they are stored or when they are deleted?  That\u0027ll be difficult to handle if we mix up these two kinds of logs.","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"30b9abd84855db9ac4340e03997d8771ad2d84ee","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Create new REST resources on the IPA that gives agent logs.  On the"},{"line_number":43,"context_line":"Ironic side, the agent deploy code obtains the agent logs using the"},{"line_number":44,"context_line":"REST resource when a deploy is finished."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Data model impact"},{"line_number":48,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_3846587b","line":45,"updated":"2015-05-22 18:14:02.000000000","message":"Other alternatives are customizing the ramdisk (either downstream on a one-off basis or adding upstream support to configure it) to permit shipping off the logs via syslog. I know this isn\u0027t ideal because IPA can run under multiple ramdisks, but it seems much better than storing these in the Ironic DB.","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"9e4dbeb4cb3563ab49e2f913f460027043c637d8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Create new REST resources on the IPA that gives agent logs.  On the"},{"line_number":43,"context_line":"Ironic side, the agent deploy code obtains the agent logs using the"},{"line_number":44,"context_line":"REST resource when a deploy is finished."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Data model impact"},{"line_number":48,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_8271560e","line":45,"in_reply_to":"7a016987_3846587b","updated":"2015-05-22 18:36:50.000000000","message":"Why do we want to setup syslog for IPA networks as we already have IPA communication channels?\n\nPlease note I\u0027m not proposing to store logs into the DB.","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"30b9abd84855db9ac4340e03997d8771ad2d84ee","unresolved":false,"context_lines":[{"line_number":102,"context_line":"Performance Impact"},{"line_number":103,"context_line":"------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"None"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Other deployer impact"},{"line_number":108,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_f85c404c","line":105,"updated":"2015-05-22 18:14:02.000000000","message":"What about the performance impact of ballooning the size of the database by storing massive amounts of IPA logs?","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"9e4dbeb4cb3563ab49e2f913f460027043c637d8","unresolved":false,"context_lines":[{"line_number":102,"context_line":"Performance Impact"},{"line_number":103,"context_line":"------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"None"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Other deployer impact"},{"line_number":108,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_62989a1c","line":105,"in_reply_to":"7a016987_f85c404c","updated":"2015-05-22 18:36:50.000000000","message":"Again, I\u0027m not proposing to store logs in the DB.","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"30b9abd84855db9ac4340e03997d8771ad2d84ee","unresolved":false,"context_lines":[{"line_number":130,"context_line":"  \u003ciwamoto\u003e"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Other contributors:"},{"line_number":133,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Work Items"},{"line_number":136,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_98342cfc","line":133,"updated":"2015-05-22 18:14:02.000000000","message":"this should likely be removed","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"f9abfbb19e2400de6284b7f60a24d32f6de103d2","unresolved":false,"context_lines":[{"line_number":130,"context_line":"  \u003ciwamoto\u003e"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Other contributors:"},{"line_number":133,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Work Items"},{"line_number":136,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a016987_ce5a7bf2","line":133,"in_reply_to":"7a016987_98342cfc","updated":"2015-05-27 09:54:48.000000000","message":"Done","commit_id":"ff28b4ade5c0cb4c0aa692df197f0ab76939ed07"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"de6c433f5576c7a37fa3941b0ed4c867eaea0f7e","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Documentation Impact"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"None"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a016987_af3fc4b2","line":165,"updated":"2015-05-29 21:25:33.000000000","message":"Documentation should be updated so users know how to enable and retrieve the logs.","commit_id":"34a4b1eba08263a759c5d711b146f3c2b0a8c98e"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"068cd52384464e8ec5099f4f99eb269af8a2914a","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Documentation Impact"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"None"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a016987_b9338061","line":165,"in_reply_to":"7a016987_af3fc4b2","updated":"2015-06-01 01:44:32.000000000","message":"Done.  Thanks.","commit_id":"34a4b1eba08263a759c5d711b146f3c2b0a8c98e"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"1c953bd90b33736cf1a7fbf02c322d91f5601c9e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true.  Agent logs will be"},{"line_number":34,"context_line":"logged at the INFO level, while dmesg will be logged at the DEBUG"},{"line_number":35,"context_line":"level."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Alternatives"},{"line_number":38,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_182c8c49","line":35,"updated":"2015-06-01 21:46:40.000000000","message":"It would be cool to be able to log this to a separate file.","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2c6ad63cd978b8c5cf3bb57ad6d9d4d763cda353","unresolved":false,"context_lines":[{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when the config variable is true.  Agent logs will be"},{"line_number":34,"context_line":"logged at the INFO level, while dmesg will be logged at the DEBUG"},{"line_number":35,"context_line":"level."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Alternatives"},{"line_number":38,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_cb3a8ecd","line":35,"in_reply_to":"5afe65bd_182c8c49","updated":"2015-06-05 09:37:05.000000000","message":"I agree, but there are several things to consider (log file naming, oslo.log interaction, etc).\n\n\"Let\u0027s do that later, maybe...\"","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"5b1e6cfacd6e7621c3febb6f0ae45fab85228b5b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"REST API impact"},{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The Ironic API\u0027s drivers\u0027 vendor_passthru/lookup will have a new"},{"line_number":63,"context_line":"logging_enabled attribute."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If the logging_enabled attribute is true, an IPA API heartbeat message"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_d8c954ae","line":62,"updated":"2015-06-01 21:59:16.000000000","message":"this wording is not clear to me -- is this changing the POST /v1/driver/agent/vendor_passthru?method\u003dlookup call in some way? If so, how? Is it changing the parameters, or the body, or the return?","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2c6ad63cd978b8c5cf3bb57ad6d9d4d763cda353","unresolved":false,"context_lines":[{"line_number":59,"context_line":"REST API impact"},{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The Ironic API\u0027s drivers\u0027 vendor_passthru/lookup will have a new"},{"line_number":63,"context_line":"logging_enabled attribute."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If the logging_enabled attribute is true, an IPA API heartbeat message"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3afb71cf_659f5260","line":62,"in_reply_to":"5afe65bd_d8c954ae","updated":"2015-06-05 09:37:05.000000000","message":"Done","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"1c953bd90b33736cf1a7fbf02c322d91f5601c9e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The Ironic API\u0027s drivers\u0027 vendor_passthru/lookup will have a new"},{"line_number":63,"context_line":"logging_enabled attribute."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If the logging_enabled attribute is true, an IPA API heartbeat message"},{"line_number":66,"context_line":"will look like::"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_b82a182b","line":63,"updated":"2015-06-01 21:46:40.000000000","message":"Is this in the request or response body? What does this look like?","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2c6ad63cd978b8c5cf3bb57ad6d9d4d763cda353","unresolved":false,"context_lines":[{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The Ironic API\u0027s drivers\u0027 vendor_passthru/lookup will have a new"},{"line_number":63,"context_line":"logging_enabled attribute."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If the logging_enabled attribute is true, an IPA API heartbeat message"},{"line_number":66,"context_line":"will look like::"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3afb71cf_25883a22","line":63,"in_reply_to":"5afe65bd_b82a182b","updated":"2015-06-05 09:37:05.000000000","message":"Done","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"50d351376ad0737ef8b8039ff1ebfc0e7694237f","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Anyone on the IPA network might be eavesdropping agent logs and kernel"},{"line_number":96,"context_line":"messages.  This shouldn\u0027t cause any security impact as the network is"},{"line_number":97,"context_line":"supposed to be a trusted network."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Other end user impact"},{"line_number":100,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa32b979_644e50c3","line":97,"updated":"2015-06-14 10:23:21.000000000","message":"Toshihiro, it is possible to use Ironic to deploy instances without using DHCP or TFTP. It is possible to securely boot the IPA ramdisk using out-of-band (virtual media) channel and thus, we should work towards providing encryption of the IPA \u003c-\u003e Ironic\u0027s API channel as well.","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"5b1e6cfacd6e7621c3febb6f0ae45fab85228b5b","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Anyone on the IPA network might be eavesdropping agent logs and kernel"},{"line_number":96,"context_line":"messages.  This shouldn\u0027t cause any security impact as the network is"},{"line_number":97,"context_line":"supposed to be a trusted network."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Other end user impact"},{"line_number":100,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_58c4443f","line":97,"updated":"2015-06-01 21:59:16.000000000","message":"also, ironic-api can use HTTPS, so if configured that way, IPA can POST the logs over a secure session.\n\n(to note, IPA\u0027s API itself is not yet HTTPS-capable, so the encryption is only one way, but it is the way you\u0027re mentioning here)","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2c6ad63cd978b8c5cf3bb57ad6d9d4d763cda353","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Anyone on the IPA network might be eavesdropping agent logs and kernel"},{"line_number":96,"context_line":"messages.  This shouldn\u0027t cause any security impact as the network is"},{"line_number":97,"context_line":"supposed to be a trusted network."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Other end user impact"},{"line_number":100,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3afb71cf_059ade14","line":97,"in_reply_to":"5afe65bd_58c4443f","updated":"2015-06-05 09:37:05.000000000","message":"As DHCP and tftp aren\u0027t encrypted, no untrusted machine should be connected to a deploy network.  So, I don\u0027t think it\u0027s necessary to use https for log encryption.","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"1c953bd90b33736cf1a7fbf02c322d91f5601c9e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Performance Impact"},{"line_number":110,"context_line":"------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"None"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Other deployer impact"},{"line_number":115,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_185ecce9","line":112,"updated":"2015-06-01 21:46:40.000000000","message":"Still seems like a *huge* POST body. I\u0027d love to see the performance impact here.","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"5b1e6cfacd6e7621c3febb6f0ae45fab85228b5b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Performance Impact"},{"line_number":110,"context_line":"------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"None"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Other deployer impact"},{"line_number":115,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_d8e6f4e7","line":112,"updated":"2015-06-01 21:59:16.000000000","message":"hrm. I\u0027m fairly sure there\u0027s going to be a performance hit when writing large blobs to ironic-conductor\u0027s log file.\n\nWhat happens when a dozen deploys finish at once and all post several-MB dmesg outputs at the same time?","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2c6ad63cd978b8c5cf3bb57ad6d9d4d763cda353","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Performance Impact"},{"line_number":110,"context_line":"------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"None"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Other deployer impact"},{"line_number":115,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_eb5e6a75","line":112,"in_reply_to":"5afe65bd_d8e6f4e7","updated":"2015-06-05 09:37:05.000000000","message":"Done.\n\nA few MBs is much smaller than deploy/service images, but there may well be performance hit.","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"5b1e6cfacd6e7621c3febb6f0ae45fab85228b5b","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":122,"context_line":"more information using the new ipa-loglevel agent parameter."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"},{"line_number":125,"context_line":"----------------"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5afe65bd_b85e9874","line":123,"updated":"2015-06-01 21:59:16.000000000","message":"I think this is going to make log files much harder to parse. Either:\n\n- dmesg output needs to have all control chars (eg, newlines) escaped \nor\n- we need to log each dmesg line separately to preserve ironic\u0027s log formatting\n\neither way, this is going to be much harder to read / reason about, as the logs from ironic-conductor will be interspersed with logs from several other services","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"2c6ad63cd978b8c5cf3bb57ad6d9d4d763cda353","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":122,"context_line":"more information using the new ipa-loglevel agent parameter."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"},{"line_number":125,"context_line":"----------------"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3afb71cf_50aad271","line":123,"in_reply_to":"5afe65bd_b85e9874","updated":"2015-06-05 09:37:05.000000000","message":"Dmesg can be very handy to check if devices are correctly recognised by a deploy kernel.  But yes, it is quite verbose and can disrupt normal operations.\n\nI\u0027ve changed the spec to make dmesg logging optional.","commit_id":"164b26a20e0b60a2ee7deff4997f7ba3df64e967"},{"author":{"_account_id":7005,"name":"Mark Silence","email":"madasi@gmail.com","username":"madasi"},"change_message_id":"d0289c336115d87a367283f9c8ca1c5eaecc90df","unresolved":false,"context_lines":[{"line_number":34,"context_line":"prefixed to distinguish agent logs and dmesgs from ordinary logs."},{"line_number":35,"context_line":"Agent logs will be logged at the INFO level, while dmesg will be"},{"line_number":36,"context_line":"logged at the DEBUG level."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_091e5b63","line":37,"updated":"2015-06-06 00:49:15.000000000","message":"I have concerns with having selectable loglevel on the agent but overwriting the log level of the messages when they are added to the Ironic logs. Are the original log levels being preserved in the log message in some way? If not, this will make Errors and Warnings much easier to miss. It also provides weird mixing where you could have DEBUG off on the ironic logs but still be getting DEBUG level logs from the agent included at the INFO level.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"744161b3b49ac707e7fdb787688420b5cd2ea336","unresolved":false,"context_lines":[{"line_number":34,"context_line":"prefixed to distinguish agent logs and dmesgs from ordinary logs."},{"line_number":35,"context_line":"Agent logs will be logged at the INFO level, while dmesg will be"},{"line_number":36,"context_line":"logged at the DEBUG level."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_eeaf3328","line":37,"in_reply_to":"3afb71cf_091e5b63","updated":"2015-06-09 09:54:35.000000000","message":"An IPA log will look like:\n\n2015-01-01 12:34:56.789 INFO IPA log node dead-beef: 2015-01-01 12:34:55.123 WARNING foobar\n\nI think this format is good enough as you will need to distinguish IPA logs from other logs anyway, or you can search for ERROR or WARNING for the entire log.\n\nOr, should I parse logs and set loglevel accordingly?  It\u0027s certainly doable but I don\u0027t see compelling reason for that.\n\nAlso, for the latter part of your concern, this spec will introduce the ipa-loglevel parameter.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":7005,"name":"Mark Silence","email":"madasi@gmail.com","username":"madasi"},"change_message_id":"5f803f789e14fc6108334681245fe2710d5acf5b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"prefixed to distinguish agent logs and dmesgs from ordinary logs."},{"line_number":35,"context_line":"Agent logs will be logged at the INFO level, while dmesg will be"},{"line_number":36,"context_line":"logged at the DEBUG level."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_7b5d2746","line":37,"in_reply_to":"3afb71cf_eeaf3328","updated":"2015-06-09 18:17:54.000000000","message":"That will probably be sufficient for log searching since it does preserve the original log level.\n\nI saw that there was a new ip-loglevel parameter, but it didn\u0027t appear to be passed in the response message that was shown so I wasn\u0027t sure how it was being implemented.\n\nOverall, it sounds like my concerns are addressed nicely.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"520d6af42b98cde98d8a8bc7b4a666a5e8652bf1","unresolved":false,"context_lines":[{"line_number":115,"context_line":"------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"As dmesgs can be large, dmesg logging can consume network or disk"},{"line_number":118,"context_line":"bandwitdh when enabled."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_d41ee80a","line":118,"updated":"2015-06-10 22:41:48.000000000","message":"Nit: bandwitdh -\u003e bandwidth\n\nThis can also cause CPU load; that\u0027s a large JSON blob to deserialize. I\u0027m also concerned about the logging thread eating up resources, but I haven\u0027t looked at oslo.log deeply enough to know if that\u0027s valid.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"409d71ccfb58413b4207e626bad43bee160fa4c5","unresolved":false,"context_lines":[{"line_number":115,"context_line":"------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"As dmesgs can be large, dmesg logging can consume network or disk"},{"line_number":118,"context_line":"bandwitdh when enabled."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_5b4339af","line":118,"in_reply_to":"3afb71cf_d41ee80a","updated":"2015-06-11 08:53:06.000000000","message":"I ran some tests and json decoding bandwidth was \u003e100Mbytes/sec wrt. CPU usage.  But I\u0027m going to update the description anyway.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"520d6af42b98cde98d8a8bc7b4a666a5e8652bf1","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    [agent]"},{"line_number":129,"context_line":"    logging_enabled \u003d agent"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Deployers can explicitly turn off agent logging or add \"dmesg\" to there."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":134,"context_line":"more information using the new ipa-loglevel agent parameter."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_94ebd0db","line":131,"updated":"2015-06-10 22:41:48.000000000","message":"I tend to think that this is a poor default. I believe this is going to crush performance at any real scale, and should not be enabled by default.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"409d71ccfb58413b4207e626bad43bee160fa4c5","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    [agent]"},{"line_number":129,"context_line":"    logging_enabled \u003d agent"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Deployers can explicitly turn off agent logging or add \"dmesg\" to there."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":134,"context_line":"more information using the new ipa-loglevel agent parameter."}],"source_content_type":"text/x-rst","patch_set":11,"id":"3afb71cf_a64e9438","line":131,"in_reply_to":"3afb71cf_94ebd0db","updated":"2015-06-11 08:53:06.000000000","message":"With the default, IPAs\u0027 loglevel is WARNING and those logs are logged at INFO level on Ironic logs, which should be a few lines per deployment unless something bad is happening.  I think IPA logs should be recorded by default to prevent operators from scratching their heads when Ironic breaks.","commit_id":"2220fc491e7f400356807ceec83f993a9018d0fe"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"02051c665a8f776d1f3b21e29a44ea312217af49","unresolved":false,"context_lines":[{"line_number":31,"context_line":"On the Ironic side, a new config variable logging_enabled is added to"},{"line_number":32,"context_line":"the agent section.  The obtained logs from agents are written to"},{"line_number":33,"context_line":"Ironic logs when specified in the config variable.  Log lines will be"},{"line_number":34,"context_line":"prefixed to distinguish agent logs and dmesgs from ordinary logs."},{"line_number":35,"context_line":"Agent logs will be logged at the INFO level, while dmesg will be"},{"line_number":36,"context_line":"logged at the DEBUG level."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_e4590090","line":34,"updated":"2015-06-14 10:23:07.000000000","message":"Prefixed how? Please provide an example -- I still object to this approach, and do not think we can \"just do it later\". If done poorly, this will make it impossible to parse logs.","commit_id":"4fc8077d995147bb4ba8fc0b48c928a3e8a056b8"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"02051c665a8f776d1f3b21e29a44ea312217af49","unresolved":false,"context_lines":[{"line_number":34,"context_line":"prefixed to distinguish agent logs and dmesgs from ordinary logs."},{"line_number":35,"context_line":"Agent logs will be logged at the INFO level, while dmesg will be"},{"line_number":36,"context_line":"logged at the DEBUG level."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_045f4473","line":37,"updated":"2015-06-14 10:23:07.000000000","message":"What about selectively logging only some of the time? Eg, only save the log for failed deploys, or enable toggling the logging on or off for specific Nodes (maybe those that are having problems).","commit_id":"4fc8077d995147bb4ba8fc0b48c928a3e8a056b8"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"02051c665a8f776d1f3b21e29a44ea312217af49","unresolved":false,"context_lines":[{"line_number":82,"context_line":"RPC API impact"},{"line_number":83,"context_line":"--------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"None"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Driver API impact"},{"line_number":88,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_a4545854","line":85,"updated":"2015-06-14 10:23:07.000000000","message":"You propose to pass the new logs over the RPC API to the conductor. If these are large, they will affect the RPC bus.","commit_id":"4fc8077d995147bb4ba8fc0b48c928a3e8a056b8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"76ee91bbfafa08a5914c7d921e621f2db3ee8120","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    [agent]"},{"line_number":129,"context_line":"    logging_enabled \u003d agent"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Deployers can explicitly turn off agent logging or add \"dmesg\" to there."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":134,"context_line":"more information using the new ipa-loglevel agent parameter."}],"source_content_type":"text/x-rst","patch_set":12,"id":"3afb71cf_67c3ec8b","line":131,"updated":"2015-06-11 13:59:36.000000000","message":"I still disagree with this being the default. Many people run OpenStack at DEBUG level (because it\u0027s impossible to find out what went wrong otherwise). Maybe it\u0027s fine, but I\u0027d like to talk with others about it first. Will do that today and revisit this.\n\nAlso would like a note on how to disable this config. \"disabled\"? None?","commit_id":"4fc8077d995147bb4ba8fc0b48c928a3e8a056b8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f0934d24151d0f3b18dc46f20f7939c77d759407","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    [agent]"},{"line_number":129,"context_line":"    logging_enabled \u003d agent"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Deployers can explicitly turn off agent logging or add \"dmesg\" to there."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Deployers may choose to increase log verbosity on IPAs in order to get"},{"line_number":134,"context_line":"more information using the new ipa-loglevel agent parameter."}],"source_content_type":"text/x-rst","patch_set":12,"id":"3afb71cf_cd29a18b","line":131,"updated":"2015-06-11 14:33:26.000000000","message":"If you\u0027re worried with amount of data that is sent over network, we can combine this setting with the current log level. So if log level \u003e\u003d WARNING, do not sent logging_enabled to IPA. If log level \u003d INFO, send agent or nothing depending on this option. If log level \u003d DEBUG, send this option.","commit_id":"4fc8077d995147bb4ba8fc0b48c928a3e8a056b8"}]}
