<div dir="ltr">Thanks for the list, Sam. I've left some comments inline...<div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 10, 2015 at 4:19 AM, Sam Betts (sambetts) <span dir="ltr"><<a href="mailto:sambetts@cisco.com" target="_blank">sambetts@cisco.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
So you would end up with a set of commands that look like this:</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>Openstack baremetal [node/driver/chassis] list</div></div></div></blockquote><div><br></div><div>will this command support filtering, similar to our CLI ?</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>Openstack baremetal port list [—node uuid] <— replicate node-port-list </div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<div>Openstack baremetal [node/port/driver] show UUID<span style="font-family:arial,sans-serif;font-size:small;color:rgb(34,34,34)"> </span></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div><span style="font-family:arial,sans-serif;font-size:small;color:rgb(34,34,34)"> </span></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
Openstack baremetal chassis show [—nodes] UUID  <— replicate chassis-node-list </div></div></blockquote><div><br></div><div>this one seems off to me. "show" commands should be displaying the details of the requested object, not listing a summarized set of objects. Instead of "chassis show --nodes UUID", I think the command should be "node list --chassis uuid", which also matches the option to "port list --node uuid".</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>Openstack baremetal [node/chassis/port] create</div>
<div>Openstack baremetal [node/chassis/port] update UUID</div>
<div>Openstack baremetal [node/chassis/port] delete UUID</div></div></div></blockquote><div><br></div><div>all seem good</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<div>
<div>Openstack baremetal [node/chassis] provide UUID</div>
<div>Openstack baremetal [node/chassis] activate UUID</div>
</div>
<div>Openstack baremetal [node/chassis] rebuild UUID</div>
<div>Openstack baremetal [node/chassis] inspect UUID</div>
<div>Openstack baremetal [node/chassis] manage UUID</div>
<div>Openstack baremetal [node/chassis] abort UUID</div>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>Openstack baremetal [node/chassis] boot UUID</div>
<div>Openstack baremetal [node/chassis] shutdown UUID</div>
<div>Openstack baremetal [node/chassis] reboot UUID</div></div></div></blockquote><div><br></div><div>Firstly, I would suggest removing the "chassis" noun here, at least until we sort out how we want to handle grouping within the service. Right now, "chassis" resources do not support any verbs - they can only be created and deleted, and used as a loose logical grouping of nodes.</div><div><br></div><div>Secondly, I would change some of these verbs as follows:</div><div>  s/activate/deploy/ - because the resulting state transitions will show as "deploying", etc</div><div>  s/boot/poweron/ && s/shutdown/poweroff/ - because that is a more accurate description of what will be done, and it moves away from the "nova boot" command, which is completely different.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
Openstack baremetal node maintain [—done] UUID</div></div></blockquote><div><br></div><div>I would rename this option as well, but I'm not sure to what. The action represented by this verb is not a lengthy process (as could be implied by the verb "maintain", like, "go do some maintenance on it"). This is merely the changing of a flag within the state of the resource, which instructs ironic-conductor to leave that node alone without changing any other state, so perhaps a more appropriate verb would be "ignore" or "exclude"... eg, "Openstack baremetal node [exclude|include] UUID"</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">
<div style="color:rgb(0,0,0)"><font face="Calibri,sans-serif" style="font-size:14px">Openstack baremetal node console [—enable, —disable] UUID <—
</font>With no parameters this acts like node-get-console, otherwise acts like node-set-console-mode</div>
<div><font face="Calibri,sans-serif">Openstack baremetal node boot-device [—supported, —PXE, —CDROM, etc] UUID <—</font> 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</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
Openstack baremetal [node/driver] passthru<span style="font-family:arial,sans-serif;font-size:small;color:rgb(34,34,34)"> </span></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
WDYT? I think I’ve covered most of what exists in the Ironic CLI currently. </div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
Sam</div>
<div style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<br>
</div>
<span style="color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt"><span class="">
<span style="font-weight:bold">From: </span>"Haomeng, Wang" <<a href="mailto:wanghaomeng@gmail.com" target="_blank">wanghaomeng@gmail.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
</span><span style="font-weight:bold">Date: </span>Tuesday, 10 November 2015 11:41<div><div class="h5"><br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [Ironic] [OSC] Quick poll: OpenStackClient command for provision action<br>
</div></div></div><div><div class="h5">
<div><br>
</div>
<div>
<div>
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hi Sam,<br>
<br>
</div>
<div>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>
<br>
</div>
<div>The resource/target can be one item in following list:<br>
<br>
</div>
node<br>
</div>
port<br>
</div>
chassis<br>
</div>
driver<br>
...<br>
<br>
</div>
Make sense?<br>
<br>
<br>
<div>
<div>
<div>
<div>
<div>
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Nov 10, 2015 at 7:25 PM, Sam Betts (sambetts) <span dir="ltr">
<<a href="mailto:sambetts@cisco.com" target="_blank">sambetts@cisco.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>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. </div>
<div><br>
</div>
<div>I would much rather see: </div>
<div><br>
</div>
<div>Openstack baremetal provide UUID</div>
<div>Openstack baremetal activate UUID</div>
<div>Openstack baremetal delete UUID</div>
<div>Openstack baremetal rebuild UUID</div>
<div>Openstack baremetal inspect UUID</div>
<div>Openstack baremetal manage UUID</div>
<div>Openstack baremetal abort UUID</div>
<div><br>
</div>
<div>And for power: </div>
<div><br>
</div>
<div>Openstack baremetal boot UUID</div>
<div>Openstack beremetal shutdown UUID</div>
<div>Openstack baremetal reboot UUID</div>
<div><br>
</div>
<div>WDYT? </div>
<div><br>
</div>
<div>Sam</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt">
<span style="font-weight:bold">From: </span>"Haomeng, Wang" <<a href="mailto:wanghaomeng@gmail.com" target="_blank">wanghaomeng@gmail.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday, 10 November 2015 10:49<br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [Ironic] [OSC] Quick poll: OpenStackClient command for provision action<br>
</div>
<div>
<div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">
<div><br>
How about below format?<br>
<br>
#openstack baremetal <resource/target> <action> <uuid><br>
<br>
Example:<br>
<br>
#<span>openstack baremetal provision provide </span><UUID><br>
#openstack baremetal power on/off  <UUID><br>
<br>
</div>
I think it is easy to understand and remember:)<br>
<br>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Nov 10, 2015 at 6:17 PM, Pavlo Shchelokovskyy <span dir="ltr">
<<a href="mailto:pshchelokovskyy@mirantis.com" target="_blank">pshchelokovskyy@mirantis.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>Hi,</div>
I like the last variant by Lucas, and agree we need to ensure the CLI interface is consistent between power and provision commands.
<div><br>
</div>
<div>Best regards,
<div>
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Nov 10, 2015 at 12:00 PM Lucas Alvares Gomes <<a href="mailto:lucasagomes@gmail.com" target="_blank">lucasagomes@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> 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] <a href="http://www.thefreedictionary.com/provision" rel="noreferrer" target="_blank">
http://www.thefreedictionary.com/provision</a><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</div>
<span><font color="#888888">
<div dir="ltr">-- <br>
</div>
<div dir="ltr"><span>Dr. Pavlo Shchelokovskyy</span>
<div>Senior Software Engineer</div>
<div>Mirantis Inc</div>
<div><a>www.mirantis.com</a></div>
</div>
</font></span><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</span></div>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div></div></span>
</div>

<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>