On Thu, Oct 04, 2012 at 05:58:03PM +0200, Jiri Pirko wrote:
I'm scarred of this :)
I'll apply this over the weekend after I give this some testing.
Ok :). If you have any objections, let me know.
One more thing, I gave it a little thought over the weekend and
maybe it would be nice to rename the <machineconfig provisioned="true">
to something like <machinerequires> or <machinerequirements>.
I know we originally agreed on <machineconfig template="true">. I tried
to use it, but it didn't actually capture the purpose. And we already
have one thing associated with "templates" in there (template functions).
Thanks!
Thu, Oct 04, 2012 at 02:23:59PM CEST, rpazdera(a)redhat.com wrote:
>This patch series introduces full provisioning support to LNST.
>
>It allows you to create a pool of machines at the controler and then
>create tests that can provision machines from that pool and run tests
>on them instead of supplying their own configuration for machines.
>
>This idea is useful, because it separates the hardware configuration
>from the recipe, so you don't need to rely on any specific hardware
>details other than that are important for your test.
>
>To use provisioning, all you need to do is set the 'provisioned' parameter
>of the <machineconfig> that you want to have provisioned. It is vital to
>point out, that mixing of provisioned machines with your own machineconfigs
>is not supported at the moment (and probably will never be). You can chose
>either to provision the whole setup or none of it.
>
>Here is an example of provisioned machine's config:
>
> <machineconfig provisioned="true">
> <netdevices>
> <netdevice network="ttnet" phys_id="1"
type="eth"/>
> <netdevice network="ttnet" phys_id="2"/>
> </netdevices>
> </machineconfig>
>
>This machineconfig indicates, that it wants a machine that has two interfaces
>plugged into the same network and at least one needs to be of type ethernet.
>
> You can specify even more information about the machine, such as,
> * hostname (do this when you want a specific machine from the pool)
> * libvirt_domain
> * device hwaddr
> * device type
> More of these parameters will probably be added in the future.
>
>LNST will take this config, find a suitable provisioner machine and run your
>test there.
>
>The pool of machines is a set of directories (can be configured in the
>lnst.conf file) with a machineconfig per file.
>
>For instance this is a machine from my pool fedora16-clone.xml:
> <machineconfig>
> <info hostname="192.168.122.10"
libvirt_domain="Fedora16-clone"
> rootpass="redhat"/>
> <netdevices>
> <netdevice network="tnet" phys_id="1"
type="eth" hwaddr="52:54:00:e4:75:16"/>
> <netdevice network="tnet" phys_id="2"
type="eth" hwaddr="52:54:00:91:01:9c"/>
> <netdevice network="tnet" phys_id="3"
type="eth" hwaddr="52:54:00:94:b7:32"/>
> <netdevice network="tnet" phys_id="4"
type="eth" hwaddr="52:54:00:f3:a1:b4"/>
> </netdevices>
> </machineconfig>
>
>
>I will write some more detailed documentation and how to to the wiki next
>week.
>
>I hope I didn't break anything, if so, please let me know and I'll fix it
>as soon as I can :).
>
>Cheers,
>
>Radek
>
>Radek Pazdera (7):
> XmlProcessing: Normalize paths in XmlDomTreeInit
> XmlProcessing: Adding possition info to DOM root
> XmlProcessing: Adding default handler to XmlParser
> NetTestSlave: Adding method for turning of ifaces
> MachinePool: Adding provisioning support
> NetTestController: Adding support for provisioning
> NetTestParse: Adding support for provisioning
>
> Common/XmlProcessing.py | 16 +-
> NetTest/MachinePool.py | 488 +++++++++++++++++++++++++++++++++++++++++-
> NetTest/NetTestController.py | 31 +++
> NetTest/NetTestParse.py | 153 +++++++++++++-
> NetTest/NetTestSlave.py | 9 +
> 5 files changed, 680 insertions(+), 17 deletions(-)
>
>--
>1.7.7.6
>
>_______________________________________________
>LNST-developers mailing list
>LNST-developers(a)lists.fedorahosted.org
>https://lists.fedorahosted.org/mailman/listinfo/lnst-developers