[libvirt] [PATCH v3 0/5] domainRename API implementation

Michal Privoznik mprivozn at redhat.com
Fri Aug 14 09:00:25 UTC 2015


On 12.08.2015 15:16, Michal Privoznik wrote:
> On 10.08.2015 21:59, Tomas Meszaros wrote:
>> This is an effort to implement domain rename API. Presented patch series
>> consists of the following: virDomainRename API implementation for qemu,
>> implementation of the virsh command domrename and the additional support
>> code.
>>
>> The idea behind this endeavor is to provide convenient and safe way to rename
>> a domain.
>>
>> Instead of the:
>>
>>     virsh dumpxml domain > domain.xml
>>     (change domain name in domain.xml)
>>     virsh undefine domain
>>     virsh define domain.xml
>>
>> user can simply type:
>>
>>     virsh domrename foo bar
>>
>> or call virDomainRename() API and domain "foo" will be renamed to "bar".
>>
>> We currently support only renaming inactive domains without snapshots.
>> Renaming procedure takes care of domain log, config, guest agent path and should
>> be able to recover in case of failure.
>>
>> I've been working on this functionality in collaboration with Michal Privoznik
>> who is my mentor during the GSoC 2015. If you have any questions, ideas
>> or criticism feel free to join the discussion.
>>
>>
>> v2:
>>  - removed guest agent path rename code
>>  - removed rename permission
>>  - added code for emitting undefined+renamed event for the old domain
>>
>> v3:
>>  - removed domain rename permission
>>  - fixed virDomainRename doc comment
>>  - added @flags parameter to the virDomainRename API
>>
>> Tomas Meszaros (5):
>>   Introduce virDomainRename API
>>   virsh: Implement "domrename" command
>>   domain_conf: Introducde virDomainObjListRenameAddNew() &
>>     virDomainObjListRenameRemove()
>>   Introduce new VIR_DOMAIN_EVENT_DEFINED_RENAMED event
>>   qemu: Implement virDomainRename
>>
>>  examples/object-events/event-test.c |   4 +
>>  include/libvirt/libvirt-domain.h    |   6 ++
>>  src/conf/domain_conf.c              |  35 +++++++++
>>  src/conf/domain_conf.h              |   5 ++
>>  src/driver-hypervisor.h             |   6 ++
>>  src/libvirt-domain.c                |  34 +++++++++
>>  src/libvirt_private.syms            |   2 +
>>  src/libvirt_public.syms             |   5 ++
>>  src/qemu/qemu_driver.c              | 145 ++++++++++++++++++++++++++++++++++++
>>  src/remote/remote_driver.c          |   1 +
>>  src/remote/remote_protocol.x        |  18 ++++-
>>  src/remote_protocol-structs         |   8 ++
>>  tools/virsh-domain.c                |  63 +++++++++++++++-
>>  tools/virsh.pod                     |   7 ++
>>  14 files changed, 336 insertions(+), 3 deletions(-)
>>


> ACK series. Although, since this is somewhat controversial topic, I'll
> let others to chime in and express their feelings before pushing.
> 

Since nobody objected, I've pushed these. Good job!

Michal




More information about the libvir-list mailing list