[Libvirt-cim] [PATCH] [TEST] Fixing the run() fn of vxml.py
Deepti B Kalakeri
deeptik at linux.vnet.ibm.com
Thu Mar 19 04:25:37 UTC 2009
Kaitlin Rupert wrote:
>> @@ -164,12 +164,29 @@
>> else:
>> name = param
>>
>> + # We need to copy the xml files to remote machine for
>> + # successful execution of the ssh remote commands like
>> net-createa via virsh, + # otherwise the remote execution of
>> the command fails when the + # file is not locally present on
>> the remote machine.
>> + if vcmd == 'define' or vcmd == 'create' or vcmd ==
>> 'net-create' or \
>> + vcmd == 'pool-create':
>> + s, o = utils.copy_remote(ip, name, remote=name)
>> + if s != 0:
>> + logger.error("Failed to copy the tempxml file to
>> execute '%s'"\
>> + " cmd on '%s'", vcmd, ip)
>> + return 0
>> +
>
> You're doing this copy every time run() is called, which isn't
> necessary for actions that are taking place on the local system.
>
> Instead, it would be better to copy the key once. In main.py, if the
> user specifies --target_url, then call copy_remote().
Copying the files is required when we are planning to initiate the test
execution on the remote machine from the local machine.
target_url is used for remote migration as of now.
But otherwise also for cases like the following to run commands like
define/net-create via *ssh* we would need the temp files to be present
on the remote machines.
This is what I realized when I executed some ssh commands manually like
the one below:
From Machine ABC:
ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i
/root/.ssh/id_rsa root at machinexyz "virsh -c qemu:///system net-create
/tmp/tmpPnWJnU"
CIM_NS=root/virt CIM_USER=root CIM_PASS=<xyzpasswd> ./runtests
libvirt-cim -i <xyzhost> -c -v KVM -g ElementConforms
>
> However, the problem with copy_remote() is that it doesn't do
> anyCopying the files is required when we are planning to run the tests
> checking to see if the id_rsa file exists on the remote system. So if
> a file exists, it is replaced by the testsuite. Also, we don't really
> need to copy the private key itself, we need to write the public key
> to the target's authorized_keys file.
>
Do you mean that copying the ssh_ids.pub key to authorized file will
solve the problem ?
If yes, then we already have copied the ssh_ids.pub manually to
authorized file on the remote machine.
Also, the changes are wrt to executing the commands like virsh define ,
virsh net-create , virsh pool-create and are conditionally executed only
for these cases.
Please let me know if I am missing something ?
> I think something like setup_ssh_keys() is needed to do a proper key
> exchange between the source and target systems.
>
> Also, there's a long standing bug that needs to be fixed here.. I'll
> follow up with a patch.
>
I have not yet verified your patch yet if it will solve the issue which
I mentioned above.
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list