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@redhat.com>
---
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,
--
2.17.0
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
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@redhat.com>
Reviewed-by: Laine Stump <laine@laine.org>
(when applied together with patch 08/13, of course :-)
> ---
> 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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
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@redhat.com>
> Reviewed-by: Laine Stump <laine@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@redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Fri, Jun 01, 2018 at 09:52:50PM -0400, Laine Stump wrote:
> 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@redhat.com>
> > Reviewed-by: Laine Stump <laine@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.
Yes, I'm squash in a suitable change, which showed a flaw below....
>
> >> ---
> >> 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}) {
s/encformat/encryption_format/
> >> + $w->startTag("encryption", format => $self->{encryption_format});
s/self/disk/
> >> $w->emptyTag("secret", type => "passphrase", uuid => $disk->{secret});
> >> $w->endTag("encryption");
> >> }
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.