<html><body><p>So I don't know the intricacies of the baremetal APIs, but hopefully I can shed some light on best practices.<br><br>Do try to reuse the existing actions (<a href="http://docs.openstack.org/developer/python-openstackclient/commands.html#actions">http://docs.openstack.org/developer/python-openstackclient/commands.html#actions</a>)<br>Do use "create", "delete", "set", "show" and "list" for basic CRUD.<br>Do try to have natural opposites - like issue/revoke, resume/suspend, add/remove.<br><br><br>So looking at the list below, I'd say:<br>  Don't use "update" - use "set". <br><br>What's the point of "inspect"? Can you use "show"? If it's a HEAD call, how about "check"?<br><br>What's "manage" does it update a resource? Can you use "set" instead?<br><br>What are the natural opposites between provide/activate/abort/boot/shutdown?<br><br>reboot and rebuild seem good<br><br>/rant<br><br>Steve<br><br><img width="16" height="16" src="cid:1__=8FBBF46ADFDC8F838f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for "Sam Betts (sambetts)" ---2015/11/10 07:20:54 AM---So you would end up with a set of commands that lo"><font color="#424282">"Sam Betts (sambetts)" ---2015/11/10 07:20:54 AM---So you would end up with a set of commands that look like this: Openstack baremetal [node/driver/cha</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">"Sam Betts (sambetts)" <sambetts@cisco.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">"OpenStack Development Mailing List (not for usage questions)" <openstack-dev@lists.openstack.org></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">2015/11/10 07:20 AM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [openstack-dev] [Ironic] [OSC] Quick poll: OpenStackClient command for provision action</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><font face="Calibri">So you would end up with a set of commands that look like this:</font><br><br><font face="Calibri">Openstack baremetal [node/driver/chassis] list</font><br><font face="Calibri">Openstack baremetal port list [—node uuid] <— replicate node-port-list </font><br><br><font face="Calibri">Openstack baremetal [node/port/driver] show UUID</font><br><font face="Calibri">Openstack baremetal chassis show [—nodes] UUID  <— replicate chassis-node-list </font><br><br><font face="Calibri">Openstack baremetal [node/chassis/port] create</font><br><font face="Calibri">Openstack baremetal [node/chassis/port] update UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis/port] delete UUID</font><br><br><font face="Calibri">Openstack baremetal [node/chassis] provide UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] activate UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] rebuild UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] inspect UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] manage UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] abort UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] boot UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] shutdown UUID</font><br><font face="Calibri">Openstack baremetal [node/chassis] reboot UUID</font><br><br><font face="Calibri">Openstack baremetal node maintain [—done] UUID</font><br><font face="Calibri">Openstack baremetal node console [—enable, —disable] UUID <— </font><font size="4">With no parameters this acts like node-get-console, otherwise acts like node-set-console-mode</font><br><font size="4" face="Calibri">Openstack baremetal node boot-device [—supported, —PXE, —CDROM, etc] UUID <—</font><font size="4"> With no parameters this acts like node-get-boot-device, —supported makes it act like node-get-supported-boot-devices, and with a type of boot device passed in it’ll act like node-set-boot-device</font><br><br><font face="Calibri">Openstack baremetal [node/driver] passthru</font><br><br><font face="Calibri">WDYT? I think I’ve covered most of what exists in the Ironic CLI currently. </font><br><br><font face="Calibri">Sam</font><br><br><b><font face="Calibri">From: </font></b><font face="Calibri">"Haomeng, Wang" <</font><a href="mailto:wanghaomeng@gmail.com"><u><font color="#0000FF" face="Calibri">wanghaomeng@gmail.com</font></u></a><font face="Calibri">></font><b><font face="Calibri"><br>Reply-To: </font></b><font face="Calibri">"OpenStack Development Mailing List (not for usage questions)" <</font><a href="mailto:openstack-dev@lists.openstack.org"><u><font color="#0000FF" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><font face="Calibri">></font><b><font face="Calibri"><br>Date: </font></b><font face="Calibri">Tuesday, 10 November 2015 11:41</font><b><font face="Calibri"><br>To: </font></b><font face="Calibri">"OpenStack Development Mailing List (not for usage questions)" <</font><a href="mailto:openstack-dev@lists.openstack.org"><u><font color="#0000FF" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><font face="Calibri">></font><b><font face="Calibri"><br>Subject: </font></b><font face="Calibri">Re: [openstack-dev] [Ironic] [OSC] Quick poll: OpenStackClient command for provision action</font><br><br><font face="Calibri">Hi Sam,<br></font><br><font face="Calibri">Yes, I understand your format is:<br><br>#openstack baremetal <action> <uuid> <br><br>so these can cover all 'node' operations however if we want to cover support port/chassis/driver and more ironic resources, so how about below proposal?<br><br>#openstack baremetal <resource/target> <action> <uuid> <br></font><br><font face="Calibri">The resource/target can be one item in following list:<br></font><br><font face="Calibri">node</font><br><font face="Calibri">port</font><br><font face="Calibri">chassis</font><br><font face="Calibri">driver<br>...<br></font><br><font face="Calibri">Make sense?<br><br></font><br><br><br><font face="Calibri">On Tue, Nov 10, 2015 at 7:25 PM, Sam Betts (sambetts) <</font><a href="mailto:sambetts@cisco.com" target="_blank"><u><font color="#0000FF" face="Calibri">sambetts@cisco.com</font></u></a><font face="Calibri">> wrote:</font><ul><font face="Calibri">Openstack baremetal provision provide or —provide Just doesn’t feel right to me, it feels like I am typing more that I need to and it feels like I’m telling it to do the same action twice. </font><br><br><font face="Calibri">I would much rather see: </font><br><br><font face="Calibri">Openstack baremetal provide UUID</font><br><font face="Calibri">Openstack baremetal activate UUID</font><br><font face="Calibri">Openstack baremetal delete UUID</font><br><font face="Calibri">Openstack baremetal rebuild UUID</font><br><font face="Calibri">Openstack baremetal inspect UUID</font><br><font face="Calibri">Openstack baremetal manage UUID</font><br><font face="Calibri">Openstack baremetal abort UUID</font><br><br><font face="Calibri">And for power: </font><br><br><font face="Calibri">Openstack baremetal boot UUID</font><br><font face="Calibri">Openstack beremetal shutdown UUID</font><br><font face="Calibri">Openstack baremetal reboot UUID</font><br><br><font face="Calibri">WDYT? </font><br><br><font face="Calibri">Sam</font><br><br><b><font face="Calibri">From: </font></b><font face="Calibri">"Haomeng, Wang" <</font><a href="mailto:wanghaomeng@gmail.com" target="_blank"><u><font color="#0000FF" face="Calibri">wanghaomeng@gmail.com</font></u></a><font face="Calibri">></font><b><font face="Calibri"><br>Reply-To: </font></b><font face="Calibri">"OpenStack Development Mailing List (not for usage questions)" <</font><a href="mailto:openstack-dev@lists.openstack.org" target="_blank"><u><font color="#0000FF" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><font face="Calibri">></font><b><font face="Calibri"><br>Date: </font></b><font face="Calibri">Tuesday, 10 November 2015 10:49</font><b><font face="Calibri"><br>To: </font></b><font face="Calibri">"OpenStack Development Mailing List (not for usage questions)" <</font><a href="mailto:openstack-dev@lists.openstack.org" target="_blank"><u><font color="#0000FF" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><font face="Calibri">></font><b><font face="Calibri"><br>Subject: </font></b><font face="Calibri">Re: [openstack-dev] [Ironic] [OSC] Quick poll: OpenStackClient command for provision action</font><br><br><font face="Calibri"><br>How about below format?<br><br>#openstack baremetal <resource/target> <action> <uuid><br><br>Example:<br><br>#openstack baremetal provision provide <UUID><br>#openstack baremetal power on/off  <UUID><br></font><br><font face="Calibri">I think it is easy to understand and remember:)<br></font><br><br><br><font face="Calibri">On Tue, Nov 10, 2015 at 6:17 PM, Pavlo Shchelokovskyy <</font><a href="mailto:pshchelokovskyy@mirantis.com" target="_blank"><u><font color="#0000FF" face="Calibri">pshchelokovskyy@mirantis.com</font></u></a><font face="Calibri">> wrote:</font><br><font face="Calibri">Hi,</font><br><font face="Calibri">I like the last variant by Lucas, and agree we need to ensure the CLI interface is consistent between power and provision commands. </font><br><br><font face="Calibri">Best regards, </font><br><font face="Calibri"><br></font><br><font face="Calibri">On Tue, Nov 10, 2015 at 12:00 PM Lucas Alvares Gomes <</font><a href="mailto:lucasagomes@gmail.com" target="_blank"><u><font color="#0000FF" face="Calibri">lucasagomes@gmail.com</font></u></a><font face="Calibri">> wrote:</font><ul><font face="Calibri">> It's still not 100% consistent, "power" is a noun, "provision" is a verb.<br>> Not sure it matters, though, adding OSC folks so that they can weigh in.<br>><br><br>"provision" can also be a noun [1]. But since the OSC syntax suggest<br>having a verb we could have something like:<br><br>$ openstack baremetal set power --on | --off <UUID><br>$ openstack baremetal set provision --provide | --active | ... <UUID><br><br>[1] </font><a href="http://www.thefreedictionary.com/provision" target="_blank"><u><font color="#0000FF" face="Calibri">http://www.thefreedictionary.com/provision</font></u></a><font face="Calibri"><br><br>__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe: </font><a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank"><u><font color="#0000FF" face="Calibri">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</font></u></a><u><font color="#0000FF" face="Calibri"><br></font></u><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><u><font color="#0000FF" face="Calibri">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></u></a></ul><font color="#888888" face="Calibri">-- </font><br><font color="#888888" face="Calibri">Dr. Pavlo Shchelokovskyy </font><br><font color="#888888" face="Calibri">Senior Software Engineer</font><br><font color="#888888" face="Calibri">Mirantis Inc</font><br><font color="#888888" face="Calibri">www.mirantis.com</font><br><font face="Calibri"><br>__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe: </font><a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank"><u><font color="#0000FF" face="Calibri">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</font></u></a><u><font color="#0000FF" face="Calibri"><br></font></u><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><u><font color="#0000FF" face="Calibri">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></u></a><font face="Calibri"><br></font><br><br><font face="Calibri"><br>__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe: </font><a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank"><u><font color="#0000FF" face="Calibri">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</font></u></a><u><font color="#0000FF" face="Calibri"><br></font></u><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><u><font color="#0000FF" face="Calibri">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></u></a><font face="Calibri"><br></font></ul><tt>__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br></tt><tt><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></tt><tt><br></tt><br><br><BR>
</body></html>