<!-- 
RSS generated by JIRA (9.4.5#940005-sha1:e3094934eac4fd8653cf39da58f39364fb9cc7c1) at Sat Feb 10 06:00:19 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Akraino JIRA</title>
    <link>https://jira.akraino.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.5</version>
        <build-number>940005</build-number>
        <build-date>11-04-2023</build-date>
    </build-info>


<item>
            <title>[ICN-481] metal3 provisioning fails for nvme devices</title>
                <link>https://jira.akraino.org/browse/ICN-481</link>
                <project id="10400" key="ICN">Integrated Cloud Native NFV</project>
                    <description>&lt;p&gt;As found in a specific deploy, if the root device of the provisioned node is not /dev/sda, provisioning fails.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="11584">ICN-481</key>
            <summary>metal3 provisioning fails for nvme devices</summary>
                <type id="10004" iconUrl="https://jira.akraino.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.akraino.org/images/icons/priorities/medium.svg">Medium</priority>
                        <status id="10001" iconUrl="https://jira.akraino.org/" description="">Done</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="todd.malsbary">Todd Malsbary</assignee>
                                    <reporter username="todd.malsbary">Todd Malsbary</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Oct 2020 20:05:20 +0000</created>
                <updated>Thu, 17 Dec 2020 00:54:14 +0000</updated>
                            <resolved>Mon, 16 Nov 2020 21:11:43 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="11488" author="JIRAUSER11028" created="Mon, 16 Nov 2020 21:11:39 +0000"  >&lt;p&gt;&lt;a href=&quot;https://gerrit.akraino.org/r/c/icn/+/3893&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.akraino.org/r/c/icn/+/3893&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="11468" author="JIRAUSER11028" created="Thu, 15 Oct 2020 21:04:21 +0000"  >&lt;p&gt;Proof of concept is at &lt;a href=&quot;https://github.com/malsbat/icn/tree/upgrade-baremetal-operator.&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/malsbat/icn/tree/upgrade-baremetal-operator&lt;/a&gt;, using an unofficial baremetal-operator image.&#160; The integratedcloudnative/baremetal-operator image needs to be built from the&#160;capm3-v0.3.2 tag of the upstream repo.&lt;/p&gt;</comment>
                            <comment id="11467" author="JIRAUSER11028" created="Fri, 9 Oct 2020 20:08:31 +0000"  >&lt;p&gt;From &lt;a href=&quot;https://github.com/metal3-io/baremetal-operator/blob/master/docs/api.md&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/metal3-io/baremetal-operator/blob/master/docs/api.md&lt;/a&gt;:&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;hardwareProfile&quot;&gt;&lt;/a&gt;hardwareProfile&lt;/h4&gt;

&lt;p&gt;&lt;b&gt;This field is deprecated. See rootDeviceHints instead.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The name of the hardware profile to use. The following are the current supported&#160;hardwareProfile&#160;settings and their corresponding root devices.&lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;hardwareProfile&lt;/b&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;&lt;b&gt;Root Device&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;unknown&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;/dev/sda&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;libvirt&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;/dev/vda&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;dell&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;HCTL: 0:0:0:0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;dell-raid&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;HCTL: 0:2:0:0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;openstack&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;/dev/vdb&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt;&#160;These are subject to change.&lt;/p&gt;

&lt;p&gt;This table is located in baremetal-operator/pkg/hardware/profile.go:&lt;br/&gt;
 &#160;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        profiles[DefaultProfileName] = Profile{
               Name: DefaultProfileName,
               RootDeviceHints: RootDeviceHints{
                       DeviceName: &lt;span class=&quot;code-quote&quot;&gt;&quot;/dev/sda&quot;&lt;/span&gt;,
               },
               RootGB:  10,
               LocalGB: 50,
               CPUArch: &lt;span class=&quot;code-quote&quot;&gt;&quot;x86_64&quot;&lt;/span&gt;,
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The code that makes the choice is in baremetal-operator/pkg/provisioner/ironic/ironic.go:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        hwProf, err := hardware.GetProfile(p.host.HardwareProfile())
        ...
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; _, ok := ironicNode.Properties[&lt;span class=&quot;code-quote&quot;&gt;&quot;root_device&quot;&lt;/span&gt;]; !ok {
               op = nodes.AddOp
               p.log.Info(&lt;span class=&quot;code-quote&quot;&gt;&quot;adding root_device&quot;&lt;/span&gt;)
        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
               op = nodes.ReplaceOp
               p.log.Info(&lt;span class=&quot;code-quote&quot;&gt;&quot;updating root_device&quot;&lt;/span&gt;)
        }
        hints := map[string]string{}
        &lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt; {
        &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; hwProf.RootDeviceHints.DeviceName != &quot;&quot;:
               hints[&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;] = hwProf.RootDeviceHints.DeviceName
        &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; hwProf.RootDeviceHints.HCTL != &quot;&quot;:
               hints[&lt;span class=&quot;code-quote&quot;&gt;&quot;hctl&quot;&lt;/span&gt;] = hwProf.RootDeviceHints.HCTL
        }
        p.log.Info(&lt;span class=&quot;code-quote&quot;&gt;&quot;using root device&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;hints&quot;&lt;/span&gt;, hints)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Now, let&apos;s take a look at the BareMetalHost:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;# kubectl -n metal3 get bmh
NAME&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;STATUS&#160;&#160;&#160;PROVISIONING STATUS&#160;&#160;&#160;CONSUMER&#160;&#160;&#160;BMC&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;HARDWARE PROFILE&#160;&#160;&#160;ONLINE&#160;&#160;&#160;ERROR
pod11-node2&#160;&#160;&#160;OK&#160;&#160;&#160;&#160;&#160;&#160;&#160;provisioned&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ipmi:&lt;span class=&quot;code-comment&quot;&gt;//10.10.110.12&#160;&#160;&#160;unknown&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The profile is confirmed in the logs from the baremetal-operator:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;{&lt;span class=&quot;code-quote&quot;&gt;&quot;level&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;info&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;ts&quot;&lt;/span&gt;:1602018807.7891486,&lt;span class=&quot;code-quote&quot;&gt;&quot;logger&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;baremetalhost_ironic&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;msg&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;adding root_device&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;host&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;pod11-node2&quot;&lt;/span&gt;}{&lt;span class=&quot;code-quote&quot;&gt;&quot;level&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;info&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;ts&quot;&lt;/span&gt;:1602018807.7891557,&lt;span class=&quot;code-quote&quot;&gt;&quot;logger&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;baremetalhost_ironic&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;msg&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;using root device&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;host&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;pod11-node2&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;hints&quot;&lt;/span&gt;:{&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;:&lt;span class=&quot;code-quote&quot;&gt;&quot;/dev/sda&quot;&lt;/span&gt;}}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10105" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i004v8:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>