[libvirt] [PATCH 1/2] virsh: Add options for several commands which change domain config

Osier Yang jyang at redhat.com
Tue Jun 21 09:07:43 UTC 2011


On 06/21/2011 04:55 PM, Michal Privoznik wrote:
> On 21.06.2011 07:37, Osier Yang wrote:
>> All of the following 7 commands just provide one option (--persistent)
>> for user to specify how to affect the domain:
>>      attach-device
>>      detach-device
>>      attach-disk
>>      detach-disk
>>      attach-interface
>>      detach-interface
>>      update-device
>>
>> However, All of the APIs the above 7 commands use: virDomainAttachDeviceFlags,
>> virDomainDetachDeviceFlags, and virDomainUpdateDeviceFlags support following
>> 3 flags:
>>      VIR_DOMAIN_AFFECT_CURRENT
>>      VIR_DOMAIN_AFFECT_CONFIG
>>      VIR_DOMAIN_AFFECT_LIVE
>>
>> This patch add two new options (--live, --current), and changes
>> "--persistent" into "--config", just as other similar commands,

> I am not fully convinced about this. I mean - it would be nice to have
> unified options names for these commands, but I am afraid we can't
> change them.

That's what I'm worried about too, changing "--persistent" into
"--config" may affect already existed scripts based on virsh. But 
considering the unification, it might be better to change it.

Or perhaps we can just leave "--persistent" unchanged, but it
might be quite confused for user.

>> e.g. "schedinfo", "vcpupin".
>>
>> And since the APIs are designed as: If no flag is specified, behaviour
>> is different depending on hypervisor, so virsh shouldn't do things like:
>>
>>      if (virDomainIsActive(dom) == 1)
>>          flags |= VIR_DOMAIN_AFFECT_LIVE;
>>
>> This patch removes codes like this, leave the determination for underly
>> hypervisor driver.
>> ---
>>   tools/virsh.c |  242 ++++++++++++++++++++++++++++++++++++++++++---------------
>>   1 files changed, 178 insertions(+), 64 deletions(-)
>>
>> diff --git a/tools/virsh.c b/tools/virsh.c
>> index abc4614..4cd2e1a 100644
>> --- a/tools/virsh.c
>> +++ b/tools/virsh.c
>> @@ -9738,7 +9738,9 @@ static const vshCmdInfo info_attach_device[] = {
>>   static const vshCmdOptDef opts_attach_device[] = {
>>       {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
>>       {"file",   VSH_OT_DATA, VSH_OFLAG_REQ, N_("XML file")},
>> -    {"persistent", VSH_OT_BOOL, 0, N_("persist device attachment")},
>> +    {"config", VSH_OT_BOOL, 0, N_("affect next boot")},
>> +    {"live", VSH_OT_BOOL, 0, N_("affect running domain")},
>> +    {"current", VSH_OT_BOOL, 0, N_("affect current domain")},
> Maybe it's a bit early morning for me, but I didn't get this
> description. We are always affecting current domain :) I would append
> 'status' word, resulting in "affect current domain status". This makes
> it clear for me. And maybe change description for 'vcpupin' command as
> well. But that could be a follow up patch.

These descriptions used widely in the codes, agree it's a bit confused.

>
> Otherwise looking good.
>
> Michal




More information about the libvir-list mailing list