<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:34:29 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>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-17322] Alternative testing wrappers/tools</title>
                <link>https://jira.whamcloud.com/browse/LU-17322</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Scripts like auster and llmount.sh, while useful, are limited in their capabilities. It would be useful a tool which could automatically setup test VMs (via QEMU or otherwise) with various kernel and Lustre versions (or native Linux Lustre client).&lt;/p&gt;

&lt;p&gt;Other possible features could include environment validation, automatically installing Lustre on remote nodes, better LUTF integration, better xfstest integration, run sanity suites in parallel.&lt;/p&gt;

&lt;p&gt;This ticket tracks various patches contributing towards such a tool.&lt;/p&gt;</description>
                <environment></environment>
        <key id="79217">LU-17322</key>
            <summary>Alternative testing wrappers/tools</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="timday">Tim Day</assignee>
                                    <reporter username="timday">Tim Day</reporter>
                        <labels>
                    </labels>
                <created>Tue, 28 Nov 2023 18:16:48 +0000</created>
                <updated>Wed, 13 Dec 2023 12:19:37 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                            <comments>
                            <comment id="394619" author="gerrit" created="Tue, 28 Nov 2023 18:17:57 +0000"  >&lt;p&gt;&quot;Timothy Day &amp;lt;timday@amazon.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53271&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53271&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17322&quot; title=&quot;Alternative testing wrappers/tools&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17322&quot;&gt;LU-17322&lt;/a&gt; auster: move functions to test-framework.sh&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: af899aaeb09524ce9b8feca4bfc79590aec0c10c&lt;/p&gt;</comment>
                            <comment id="394621" author="paf0186" created="Tue, 28 Nov 2023 18:24:54 +0000"  >&lt;p&gt;Tim,&lt;/p&gt;

&lt;p&gt;This sounds like a great idea, but my past experience with a similar effort (never made public) was it ended up with a very large degree of environment and tool dependency/specificity, too much so to be very useful in to most people and hard to maintain except for one environment.&#160; So this ends up being something each group testing Lustre tends to roll for themselves.&#160; Any thoughts on how you&apos;d avoid some of those pitfalls here?&#160; (There may be benefits to working toward this even if the whole thing isn&apos;t useful outside of a specific environment.)&lt;/p&gt;</comment>
                            <comment id="394630" author="JIRAUSER18433" created="Tue, 28 Nov 2023 19:03:19 +0000"  >&lt;p&gt;I think there&apos;s two big goals that testing tools aim to achieve:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Setting up test infrastructure&lt;/li&gt;
	&lt;li&gt;Running tests&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I think the test running code for Lustre is fine. The wrapper I&apos;m writing mimics the auster pretty closely. I think that can largely stay the same (although it could be made easier to use).&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The current tooling doesn&apos;t really help with setting up a test environment. Running everything on a single node isn&apos;t always helpful for testing. My main goal is to have a way to provision nodes automatically - and to deploy software to those nodes automatically. I&apos;m going to write it in such a way that people could write their own node deployment plugins.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;I&apos;m going to start with QEMU. The only additional dependency for that should be QEMU itself, so I think that should work on all of the major distros. I&apos;ll have to test it out, though.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;One major goal of this work is to make it easier to test the upstream client. I want to be able to run a sanity test against the upstream client in QEMU by running one command. Other projects have done something similar:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Used by main bcachefs developer for regression testing: &lt;a href=&quot;https://github.com/koverstreet/ktest&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/koverstreet/ktest&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Linux user-space testing using QEMU: &lt;a href=&quot;https://elinux.org/Ktest&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://elinux.org/Ktest&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Linux kernel-space unit testing using UML or QEMU: &lt;a href=&quot;https://docs.kernel.org/dev-tools/kunit/run_wrapper.html#running-tests-on-qemu&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.kernel.org/dev-tools/kunit/run_wrapper.html#running-tests-on-qemu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="396388" author="gerrit" created="Tue, 12 Dec 2023 05:59:25 +0000"  >&lt;p&gt;&quot;Timothy Day &amp;lt;timday@amazon.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53415&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53415&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17322&quot; title=&quot;Alternative testing wrappers/tools&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17322&quot;&gt;LU-17322&lt;/a&gt; yalt: Yet Another Lustre Tester&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 8a1cfec1d6518382ab0cfdabc327afc2277101aa&lt;/p&gt;</comment>
                            <comment id="396584" author="gerrit" created="Wed, 13 Dec 2023 12:19:37 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/53271/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/53271/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17322&quot; title=&quot;Alternative testing wrappers/tools&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17322&quot;&gt;LU-17322&lt;/a&gt; auster: move functions to test-framework.sh&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 27e1ecb19cef4f04ab56727f2382cf228b368ad2&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i04333:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

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