<div dir="ltr">Hi Ed,<div>Could you share the correct usage for UpdateService?</div><div>Or please tell me where I can find the answer.</div><div><br></div><div>Thanks for your support.</div><div><br></div><div>BRs,</div><div>Henbin.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">Henbin Chang <<a href="mailto:henbinchang@gmail.com">henbinchang@gmail.com</a>> 於 2018年8月22日 週三 上午10:30寫道:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Ed,<div>Thanks for your response.</div><div><br></div><div>I tried to send POST request but got "Method Not Allowed".</div><div><br></div><div>curl -k -H "Content-Type: application/json" -X POST -d '{"data": ["10.99.240.105", "s2600wf-20180118092748.all.tar"]}' <a href="https://root:0penBmc@10.99.241.36:883/redfish/v1/UpdateService" target="_blank">https://root:0penBmc@10.99.241.36:883/redfish/v1/UpdateService</a><br></div><div><br></div><div>Please help correct if any typo.</div><div><br></div><div>Thanks.</div><div><br></div><div>BRs,</div><div>Henbin.</div><br><div class="gmail_quote"><div dir="ltr">Tanous, Ed <<a href="mailto:ed.tanous@intel.com" target="_blank">ed.tanous@intel.com</a>> 於 2018年8月21日 週二 下午11:07寫道:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-7926038133573238008m_1672218689135872985WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Yes, it should work, although it’s relatively new, so it’s possible there are bugs or corner cases we haven’t hit yet. If you find new issues, it would be great
if you could file them against the bmcweb project.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">To use the endpoint, it should just be a matter of sending a POST request to the update URL containing the tarred image with the manifest in the body. It works
very similarly to the existing update endpoints, it just meets the Redfish specifications.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">One thing to watch out for is payload size. Bmcweb imposes appropriate payload limits, but if you’re reverse proxying the server behind nginx, you might have
nginx payload limits imposed and that’ll need to be updated.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">-Ed<u></u><u></u></span></p>
<p class="MsoNormal"><a name="m_-7926038133573238008_m_1672218689135872985__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></a></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><a name="m_-7926038133573238008_m_1672218689135872985______replyseparator"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Henbin Chang [mailto:<a href="mailto:henbinchang@gmail.com" target="_blank">henbinchang@gmail.com</a>]
<br>
<b>Sent:</b> Tuesday, August 21, 2018 1:02 AM<br>
<b>To:</b> Tanous, Ed <<a href="mailto:ed.tanous@intel.com" target="_blank">ed.tanous@intel.com</a>>; OpenBMC Maillist <<a href="mailto:openbmc@lists.ozlabs.org" target="_blank">openbmc@lists.ozlabs.org</a>><br>
<b>Subject:</b> UpdateService in Redfish<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi Ed,<u></u><u></u></p>
<div>
<p class="MsoNormal">I search the below commit in the bmcweb REPO.<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">commit acb7cfb4b571bd2045b1d269625ba054806a466d<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Author: Jennifer Lee <<a href="mailto:jennifer1.lee@intel.com" target="_blank">jennifer1.lee@intel.com</a>><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Date: Thu Jun 7 16:08:15 2018 -0700<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"> Implement POST for redfish UpdateService<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"> - POST an image file to /redfish/v1/UpdateServer uri will upload the<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> image and activate it<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> - Modified SoftwareInventoryCollection to list items with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> xyz.openbmc_project.Software.Activation/Activation property as<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> "xyz.openbmc_project.Software.Activation.Activations.Active"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> - SoftwareInventory <a href="http://odata.id" target="_blank">odata.id</a> is identified with DBus generated uuid<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">May I know if BMC FW can be updated through UpdateService in Redfish? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">If yes, could you share how to use it?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Besides that, I add some debug message in the redfish-core/lib/update_service.hpp but output nothing <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Could you give some suggestion? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">...<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">private:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> void doGet(crow::Response &res, const crow::Request &req,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> const std::vector<std::string> ¶ms) override {<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> std::cout << "Henbin=" << __FILE__<< ": "<<__LINE__ << "\n";<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> BMCWEB_LOG_INFO << "Henbin=" << __FILE__<< ": "<<__LINE__ << "\n";<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> res.jsonValue = Node::json;<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> res.end();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> }<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">...<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">BRs,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Henbin.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote></div></div>
</blockquote></div>