[libvirt] [tck PATCH v2 07/13] scripts: switch to using luks encryption with QEMU
Laine Stump
laine at laine.org
Sat Jun 2 01:52:50 UTC 2018
On 06/01/2018 09:06 PM, Laine Stump wrote:
> On 05/21/2018 12:46 PM, Daniel P. Berrangé wrote:
>> The ability to use qcow legacy encryption is disabled with QEMU for a
>> long time. Switch to using luks encryption, although this is not yet
>> fully wired up in libvirt so the tests still (temporarily) fail.
>>
>> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> Reviewed-by: Laine Stump <laine at laine.org>
>
> (when applied together with patch 08/13, of course :-)
Actually, when I did a complete build/install and tested this, I found
that libvirt-tck's self-tests are now failing because the <encryption
format='qcow'> element is no longer added to the <disk> in
t/070-domain-builder.t and t/100-storage-vol-builder.t.
If you want to squash that change into this patch, that's fine,
otherwise you can make a separate patch, or if you don't want to I can.
>> ---
>> lib/Sys/Virt/TCK/DomainBuilder.pm | 4 ++--
>> lib/Sys/Virt/TCK/StorageVolBuilder.pm | 18 +++++++++++++-----
>> scripts/qemu/100-disk-encryption.t | 2 ++
>> 3 files changed, 17 insertions(+), 7 deletions(-)
>>
>> diff --git a/lib/Sys/Virt/TCK/DomainBuilder.pm b/lib/Sys/Virt/TCK/DomainBuilder.pm
>> index 83cea15..b6adbd3 100644
>> --- a/lib/Sys/Virt/TCK/DomainBuilder.pm
>> +++ b/lib/Sys/Virt/TCK/DomainBuilder.pm
>> @@ -412,8 +412,8 @@ sub as_xml {
>> $w->emptyTag("target",
>> dev => $disk->{dst},
>> $disk->{bus} ? (bus => $disk->{bus}) : ());
>> - if ($disk->{secret}) {
>> - $w->startTag("encryption", format => "qcow");
>> + if ($disk->{encformat}) {
>> + $w->startTag("encryption", format => $self->{encryption_format});
>> $w->emptyTag("secret", type => "passphrase", uuid => $disk->{secret});
>> $w->endTag("encryption");
>> }
>> diff --git a/lib/Sys/Virt/TCK/StorageVolBuilder.pm b/lib/Sys/Virt/TCK/StorageVolBuilder.pm
>> index 7208f75..ad950ed 100644
>> --- a/lib/Sys/Virt/TCK/StorageVolBuilder.pm
>> +++ b/lib/Sys/Virt/TCK/StorageVolBuilder.pm
>> @@ -60,6 +60,14 @@ sub format {
>> return $self;
>> }
>>
>> +sub encryption_format {
>> + my $self = shift;
>> +
>> + $self->{encformat} = shift;
>> +
>> + return $self;
>> +}
>> +
>> sub secret {
>> my $self = shift;
>>
>> @@ -95,13 +103,13 @@ sub as_xml {
>> $w->dataElement("capacity", $self->{capacity});
>> $w->dataElement("allocation", $self->{allocation});
>>
>> - if ($self->{format} || $self->{secret}) {
>> + if ($self->{format} || $self->{encformat}) {
>> $w->startTag("target");
>> if ($self->{format}) {
>> $w->emptyTag("format", type => $self->{format});
>> }
>> - if ($self->{secret}) {
>> - $w->startTag("encryption", format => "qcow");
>> + if ($self->{encformat}) {
>> + $w->startTag("encryption", format => $self->{encformat});
>> $w->emptyTag("secret", type => "passphrase", uuid => $self->{secret});
>> $w->endTag("encryption");
>> }
>> @@ -114,8 +122,8 @@ sub as_xml {
>> if ($self->{backingFormat}) {
>> $w->emptyTag("format", type => $self->{backingFormat});
>> }
>> - if ($self->{secret}) {
>> - $w->startTag("encryption", format => "qcow");
>> + if ($self->{encformat}) {
>> + $w->startTag("encryption", format => $self->{encformat});
>> $w->emptyTag("secret", type => "passphrase", uuid => $self->{secret});
>> $w->endTag("encryption");
>> }
>> diff --git a/scripts/qemu/100-disk-encryption.t b/scripts/qemu/100-disk-encryption.t
>> index 8a0fd5e..3b1651a 100644
>> --- a/scripts/qemu/100-disk-encryption.t
>> +++ b/scripts/qemu/100-disk-encryption.t
>> @@ -76,6 +76,7 @@ lives_ok(sub { $pool = $conn->create_storage_pool($poolXML) }, "pool created");
>> my $volXML = Sys::Virt::TCK::StorageVolBuilder->new(name => "demo.qcow2")
>> ->capacity(1024*1024*1024)
>> ->format("qcow2")
>> + ->encryption_format("luks")
>> ->secret($secretUUID)
>> ->as_xml();
>>
>> @@ -86,6 +87,7 @@ lives_ok(sub { $vol = $pool->create_volume($volXML) }, "volume created");
>>
>> my $xml = $tck->generic_domain(name => "tck")
>> ->disk(format => { name => "qemu", type => "qcow2" },
>> + encryption_format => "luks",
>> secret => $secretUUID,
>> type => "file",
>> src => $disk,
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
More information about the libvir-list
mailing list