<html><body><p>Hi Mike,<br><br>Since right now, we have also support bay-update (node_count)<br><br>I am thinking the following case:<br><br>1>  baymodel-create have default flavor, and extra labels specify the(other node flavors) requirements,<br><br>if (other node flavors) count <= bay(node_count), the extra nodes would be created use default flavor<br><br>if (other node flavors) count  > bay(node_count), it should pop error, since it not quite clear why flavor to use <br>    <br>2> magnum bay-update k8sbay replace node_count < existed node_count,  it should be OK. same as old behavior <br>     if node_count > existed node_count, all new nodes would use default flavor_id, (if not, we need to find what's the better policy to handle that)<br><br>Refer: <a href="https://github.com/openstack/magnum/blob/master/doc/source/dev/quickstart.rst">https://github.com/openstack/magnum/blob/master/doc/source/dev/quickstart.rst</a><br><br><br><br><br><br>What do you think ?  <br><br><br><br>Thanks<br><br><br>Best Wishes,<br>--------------------------------------------------------------------------------<br>Kai Qiang Wu (Î⿪ǿ  Kennan£©<br>IBM China System and Technology Lab, Beijing<br><br>E-mail: wkqwu@cn.ibm.com<br>Tel: 86-10-82451647<br>Address: Building 28(Ring Building), ZhongGuanCun Software Park,  <br>         No.8 Dong Bei Wang West Road, Haidian District Beijing P.R.China 100193<br>--------------------------------------------------------------------------------<br>Follow your heart. You are miracle! <br><br><img width="16" height="16" src="cid:1__=8FBBF531DFA0C4068f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for "Ma, Wen-Tao (Mike, HP Servers-PSC-BJ)" ---27/04/2016 03:10:16 pm---Hi Hong bin, Thanks very much. It"><font color="#424282">"Ma, Wen-Tao (Mike, HP Servers-PSC-BJ)" ---27/04/2016 03:10:16 pm---Hi Hong bin, Thanks very much. It's good suggestion, I think it is a good way by using labels for ex</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">"Ma, Wen-Tao (Mike, HP Servers-PSC-BJ)" <wentao.ma@hpe.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">"openstack-dev@lists.openstack.org" <openstack-dev@lists.openstack.org></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">27/04/2016 03:10 pm</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [openstack-dev] [Magnum] Magnum supports 2 Nova flavor to provision minion nodes</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><font face="Calibri">Hi Hong bin,</font><br><font face="Calibri">Thanks very much. It¡¯s good suggestion, I think it is a good way by using labels for extra flavors. But I notice that there is not the ¨Cnode-count parameter in baymodel.</font><br><font face="Calibri">So I think it doesn¡¯t need specify minion-flavor-0 counts by ¨Cnode-count. We can specify all of the flavor id and count ratio in the labels. It will check the minion node count with this ratio of labels when creating magnum bay that specified total minion node count . If the node-count in baycreate doesn¡¯t match with the flavor ratio, it will return the ratio match error message.   If there is not the </font><font size="2" color="#313131" face="Arial">multi-</font><font face="Calibri">flavor-ratio key in lables, it will just use  minion-flavor-0  to create 10 minion nodes.</font><br><font face="Calibri">$ magnum baymodel-create --name k8sbaymodel --flavor-id minion-flavor-0  --labels </font><font size="2" color="#313131" face="Arial">multi-</font><font face="Calibri">flavor-ratio=minion-flavor-0:3,minions-flavor-1:5,minion-flavor-2:2</font><br><font face="Calibri">$</font><a name="OLE_LINK17"></a><a name="OLE_LINK18"></a><a name="OLE_LINK41"></a><a name="OLE_LINK44"></a><font face="Calibri">  magnum bay-create --name k8sbay --baymodel k8sbaymodel --node-count 10</font><br><font face="Calibri">Do you think about it? </font><br><font face="Calibri"> </font><br><font face="Calibri">> -----Original Message-----</font><br><font face="Calibri">> From: Ma, Wen-Tao (Mike, HP Servers-PSC-BJ) [</font><a href="mailto:wentao.ma@hpe.com"><u><font color="#0563C1" face="Calibri">mailto:wentao.ma@hpe.com</font></u></a><font face="Calibri">]</font><br><font face="Calibri">> Sent: April-26-16 3:01 AM</font><br><font face="Calibri">> To: </font><a href="mailto:openstack-dev@lists.openstack.org"><u><font color="#0563C1" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><br><font face="Calibri">> Subject: Re: [openstack-dev] [Magnum] Magnum supports 2 Nova flavor to</font><br><font face="Calibri">> provision minion nodes</font><br><font face="Calibri">> </font><br><font face="Calibri">> Hi Hongbin, Ricardo</font><br><font face="Calibri">> This is mike, I am working with Gary now.</font><br><font face="Calibri">> Thanks for Ricardo's good suggestion. I have tried the "map/index"</font><br><font face="Calibri">> method ,  we can use it to passed the minion_flavor_map and the index</font><br><font face="Calibri">> into the minion cluster stack. It does work well.</font><br><font face="Calibri">> I think we can update magnum baymodel-create to set the N minion</font><br><font face="Calibri">> flavors in the minion_flavor_map and assign minion counts for each</font><br><font face="Calibri">> flavor.</font><br><font face="Calibri">> For example :</font><br><font face="Calibri">> magnum baymodel-create --name k8s-bay-model  --flavor-id minion-flavor-</font><br><font face="Calibri">> 0:3,minion-flavor-1:5, minion-flavor-2:2. It will create 3 types flavor</font><br><font face="Calibri"> </font><br><font face="Calibri">The suggested approach seems to break the existing behaviour. I think it is better to support this feature in a backward-compatible way. How about using labels:</font><br><font face="Calibri"> </font><br><font face="Calibri">$ magnum baymodel-create --name k8sbaymodel --flavor-id minion-flavor-0 --node-count 3 --labels extra-flavor-ids=minions-flavor-1:5,minion-flavor-2:2</font><br><font face="Calibri"> </font><br><font face="Calibri">> minion node and total minion nodes  count is 10. The magnum baymode.py</font><br><font face="Calibri">> will parse  this  dictionary and pass them to the heat template</font><br><font face="Calibri">> parameters minion_flavor_map, minion_flavor_count_map. Then the heat</font><br><font face="Calibri">> stack will work well.</font><br><font face="Calibri">> </font><br><font face="Calibri">> kubecluster-fedora-ironic.yaml</font><br><font face="Calibri">> parameters:</font><br><font face="Calibri">>   minion_flavor_map:</font><br><font face="Calibri">>     type: json</font><br><font face="Calibri">>     default:</font><br><font face="Calibri">>       '0': minion-flavor-0</font><br><font face="Calibri">>       '1': minion-flavor-1</font><br><font face="Calibri">>       '2': minion-flavor-2</font><br><font face="Calibri">> </font><br><font face="Calibri">>   minion_flavor_count_map:</font><br><font face="Calibri">>     type: json</font><br><font face="Calibri">>     default:</font><br><font face="Calibri">>       '0': 3</font><br><font face="Calibri">>       '1': 5</font><br><font face="Calibri">>       '2': 2</font><br><font face="Calibri">> </font><br><font face="Calibri">> resources:</font><br><font face="Calibri">> kube_minions_flavors:</font><br><font face="Calibri">>     type: OS::Heat::ResourceGroup</font><br><font face="Calibri">>     properties:</font><br><font face="Calibri">>       count: { get_param: minion_flavors_counts }</font><br><font face="Calibri">>       resource_def:</font><br><font face="Calibri">>         type: kubecluster-minion-fedora-ironic.yaml</font><br><font face="Calibri">>         properties:</font><br><font face="Calibri">>           minion_flavor_map: {get_param: minion_flavor_map}</font><br><font face="Calibri">>           minion_flavor_count_map: {get_param: minion_flavor_count_map}</font><br><font face="Calibri">>           minion_flavor_index: '%index%'</font><br><font face="Calibri">> </font><br><font face="Calibri">> How do you think about this interface in magnum baymodel to support N</font><br><font face="Calibri">> falvor to provision minion nodes? Do you have any comments about this</font><br><font face="Calibri">> design for this feature?</font><br><font face="Calibri">> </font><br><font face="Calibri">> Thanks && Regards</font><br><font face="Calibri">> Mike Ma</font><br><font face="Calibri">> HP Servers Core Platform Software China Email </font><a href="mailto:wentao.ma@hpe.com"><u><font color="#0563C1" face="Calibri">wentao.ma@hpe.com</font></u></a><br><font face="Calibri">> </font><br><font face="Calibri">> -----Original Message-----</font><br><font face="Calibri">> From: Duan, Li-Gong (Gary, HPServers-Core-OE-PSC)</font><br><font face="Calibri">> Sent: Monday, April 25, 2016 3:37 PM</font><br><font face="Calibri">> To: OpenStack Development Mailing List (not for usage questions)</font><br><font face="Calibri">> <</font><a href="mailto:openstack-dev@lists.openstack.org"><u><font color="#0563C1" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><font face="Calibri">></font><br><font face="Calibri">> Cc: Ma, Wen-Tao (Mike, HP Servers-PSC-BJ) <</font><a href="mailto:wentao.ma@hpe.com"><u><font color="#0563C1" face="Calibri">wentao.ma@hpe.com</font></u></a><font face="Calibri">></font><br><font face="Calibri">> Subject: RE: [openstack-dev] [Magnum] Magnum supports 2 Nova flavor to</font><br><font face="Calibri">> provision minion nodes</font><br><font face="Calibri">> </font><br><font face="Calibri">> Hi Ricardo,</font><br><font face="Calibri">> </font><br><font face="Calibri">> This is really good suggestion. I'd like to see whether we can use</font><br><font face="Calibri">> "foreach"/"repeat" in ResourceGroup in Heat.</font><br><font face="Calibri">> </font><br><font face="Calibri">> Regards,</font><br><font face="Calibri">> Gary Duan</font><br><font face="Calibri">> </font><br><font face="Calibri">> -----Original Message-----</font><br><font face="Calibri">> From: Ricardo Rocha [</font><a href="mailto:rocha.porto@gmail.com"><u><font color="#0563C1" face="Calibri">mailto:rocha.porto@gmail.com</font></u></a><font face="Calibri">]</font><br><font face="Calibri">> Sent: Thursday, April 21, 2016 3:49 AM</font><br><font face="Calibri">> To: OpenStack Development Mailing List (not for usage questions)</font><br><font face="Calibri">> <</font><a href="mailto:openstack-dev@lists.openstack.org"><u><font color="#0563C1" face="Calibri">openstack-dev@lists.openstack.org</font></u></a><font face="Calibri">></font><br><font face="Calibri">> Subject: Re: [openstack-dev] [Magnum] Magnum supports 2 Nova flavor to</font><br><font face="Calibri">> provision minion nodes</font><br><font face="Calibri">> </font><br><font face="Calibri">> Hi Hongbin.</font><br><font face="Calibri">> </font><br><font face="Calibri">> On Wed, Apr 20, 2016 at 8:13 PM, Hongbin Lu <</font><a href="mailto:hongbin.lu@huawei.com"><u><font color="#0563C1" face="Calibri">hongbin.lu@huawei.com</font></u></a><font face="Calibri">></font><br><font face="Calibri">> wrote:</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > From: Duan, Li-Gong (Gary, HPServers-Core-OE-PSC)</font><br><font face="Calibri">> > [</font><a href="mailto:li-gong.duan@hpe.com"><u><font color="#0563C1" face="Calibri">mailto:li-gong.duan@hpe.com</font></u></a><font face="Calibri">]</font><br><font face="Calibri">> > Sent: April-20-16 3:39 AM</font><br><font face="Calibri">> > To: OpenStack Development Mailing List (not for usage questions)</font><br><font face="Calibri">> > Subject: [openstack-dev] [Magnum] Magnum supports 2 Nova flavor to</font><br><font face="Calibri">> > provision minion nodes</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > Hi Folks,</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > We are considering whether Magnum can supports 2 Nova flavors to</font><br><font face="Calibri">> > provision Kubernetes and other COE minion nodes.</font><br><font face="Calibri">> ></font><br><font face="Calibri">> > This requirement comes from the below use cases:</font><br><font face="Calibri">> ></font><br><font face="Calibri">> > -          There are 2 kind of baremetal machines in customer site:</font><br><font face="Calibri">> one is</font><br><font face="Calibri">> > legacy machines which doesn?t support UEFI secure boot and others are</font><br><font face="Calibri">> > new machines which support UEFI secure boot. User want to use Magnum</font><br><font face="Calibri">> > to provisions a Magnum bay of Kubernetes from these 2 kind of</font><br><font face="Calibri">> > baremetal machines and for the machines supporting secure boot, user</font><br><font face="Calibri">> > wants to use UEFI secure boot to boot them up. And 2 Kubernetes</font><br><font face="Calibri">> > label(secure-booted and</font><br><font face="Calibri">> > non-secure-booted) are created and User can deploy their</font><br><font face="Calibri">> > data-senstive/cirtical workload/containers/pods on the baremetal</font><br><font face="Calibri">> > machines which are secure-booted.</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > This requirement requires Magnum to supports 2 Nova flavors(one is</font><br><font face="Calibri">> > ?extra_spec: secure_boot=True? and the other doesn?t specify it)</font><br><font face="Calibri">> based</font><br><font face="Calibri">> > on the Ironic</font><br><font face="Calibri">> > feature(</font><a href="https://specs.openstack.org/openstack/ironic-"><u><font color="#0563C1" face="Calibri">https://specs.openstack.org/openstack/ironic-</font></u></a><br><font face="Calibri">> specs/specs/kilo-</font><br><font face="Calibri">> > implemented/uefi-secure-boot.html</font><br><font face="Calibri">> > ).</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > Could you kindly give me some comments on these requirement or</font><br><font face="Calibri">> whether</font><br><font face="Calibri">> > it is reasonable from your point? If you agree, we can write design</font><br><font face="Calibri">> > spec and implement this feature?</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > I think the requirement is reasonable, but I would like to solve the</font><br><font face="Calibri">> > problem in a generic way. In particular, there could be another user</font><br><font face="Calibri">> > who might ask for N nova flavors to provision COE nodes in the future.</font><br><font face="Calibri">> > A challenge to support N groups of Nova instances is how to express</font><br><font face="Calibri">> > arbitrary number of resource groups (with different flavors) in a</font><br><font face="Calibri">> Heat</font><br><font face="Calibri">> > template (Magnum uses Heat template to provision COE clusters). Heat</font><br><font face="Calibri">> > doesn?t seem to support the logic of looping from 1 to N. There could</font><br><font face="Calibri">> > be other challenges/complexities along the way. If the proposed</font><br><font face="Calibri">> design</font><br><font face="Calibri">> > can address all the challenges and the implementation is clean, I am</font><br><font face="Calibri">> > OK to add support for this feature. Thoughts from others?</font><br><font face="Calibri">> </font><br><font face="Calibri">> This looks similar to the way we looked at passing a list of</font><br><font face="Calibri">> availability zones. Mathieu asked and got a good answer:</font><br><font face="Calibri">> </font><a href="http://lists.openstack.org/pipermail/openstack-dev/2016-"><u><font color="#0563C1" face="Calibri">http://lists.openstack.org/pipermail/openstack-dev/2016-</font></u></a><br><font face="Calibri">> March/088175.html</font><br><font face="Calibri">> </font><br><font face="Calibri">> Something similar can probably be used to pass multiple flavors? Just</font><br><font face="Calibri">> in case it helps.</font><br><font face="Calibri">> </font><br><font face="Calibri">> Cheers,</font><br><font face="Calibri">>   Ricardo</font><br><font face="Calibri">> </font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> > Regards,</font><br><font face="Calibri">> ></font><br><font face="Calibri">> > Gary</font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ></font><br><font face="Calibri">> ______________________________________________________________________</font><br><font face="Calibri">> > ____ OpenStack Development Mailing List (not for usage questions)</font><br><font face="Calibri">> > Unsubscribe:</font><br><font face="Calibri">> > </font><a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"><u><font color="#0563C1" face="Calibri">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</font></u></a><br><font face="Calibri">> > </font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"><u><font color="#0563C1" face="Calibri">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></u></a><br><font face="Calibri">> ></font><br><font face="Calibri">> </font><br><font face="Calibri">> _______________________________________________________________________</font><br><font face="Calibri">> ___</font><br><font face="Calibri">> OpenStack Development Mailing List (not for usage questions)</font><br><font face="Calibri">> Unsubscribe: OpenStack-dev-</font><br><font face="Calibri">> </font><a href="mailto:request@lists.openstack.org?subject:unsubscribe"><u><font color="#0563C1" face="Calibri">request@lists.openstack.org?subject:unsubscribe</font></u></a><br><font face="Calibri">> </font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"><u><font color="#0563C1" face="Calibri">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></u></a><br><font face="Calibri">> </font><br><font face="Calibri">> _______________________________________________________________________</font><br><font face="Calibri">> ___</font><br><font face="Calibri">> OpenStack Development Mailing List (not for usage questions)</font><br><font face="Calibri">> Unsubscribe: OpenStack-dev-</font><br><font face="Calibri">> </font><a href="mailto:request@lists.openstack.org?subject:unsubscribe"><u><font color="#0563C1" face="Calibri">request@lists.openstack.org?subject:unsubscribe</font></u></a><br><font face="Calibri">> </font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"><u><font color="#0563C1" face="Calibri">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</font></u></a><br><font face="Calibri"> </font><br><font face="Calibri">------------------------------</font><br><font face="Calibri"> </font><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>