mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
docs: hvsupport: Add support for deprecating hypervisor implementations
Allow expressing that a hypervisor implementation was deleted by adding a end-version when the implementation was removed to our hypervisor support matrix. This patch hacks the perl script that generates the support matrix to support comments like: .domainQemuAttach = qemuDomainQemuAttach, /* 0.8.3 (deprecated: 5.5.0) */ Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
parent
2545f61e95
commit
fd14dfec88
@ -234,10 +234,11 @@ foreach my $src (@srcs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if ($line =~ m!\s*\.(\w+)\s*=\s*(\w+)\s*,?\s*(?:/\*\s*(\d+\.\d+\.\d+)\s*\*/\s*)?$!) {
|
if ($line =~ m!\s*\.(\w+)\s*=\s*(\w+)\s*,?\s*(?:/\*\s*(\d+\.\d+\.\d+)\s*(?:\(deprecated:\s*(\d+\.\d+\.\d+)\))?\s*\*/\s*)?$!) {
|
||||||
my $api = $1;
|
my $api = $1;
|
||||||
my $meth = $2;
|
my $meth = $2;
|
||||||
my $vers = $3;
|
my $vers = $3;
|
||||||
|
my $depre = $4;
|
||||||
|
|
||||||
next if $api eq "no" || $api eq "name";
|
next if $api eq "no" || $api eq "name";
|
||||||
|
|
||||||
@ -251,12 +252,16 @@ foreach my $src (@srcs) {
|
|||||||
die "Found unexpected method $api in $ingrp\n";
|
die "Found unexpected method $api in $ingrp\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$groups{$ingrp}->{drivers}->{$impl}->{$api} = $vers;
|
$groups{$ingrp}->{drivers}->{$impl}->{$api} = {};
|
||||||
|
$groups{$ingrp}->{drivers}->{$impl}->{$api}->{vers} = $vers;
|
||||||
|
$groups{$ingrp}->{drivers}->{$impl}->{$api}->{depre} = $depre;
|
||||||
if ($api eq "domainMigratePrepare" ||
|
if ($api eq "domainMigratePrepare" ||
|
||||||
$api eq "domainMigratePrepare2" ||
|
$api eq "domainMigratePrepare2" ||
|
||||||
$api eq "domainMigratePrepare3") {
|
$api eq "domainMigratePrepare3") {
|
||||||
$groups{$ingrp}->{drivers}->{$impl}->{"domainMigrate"} = $vers
|
if (!$groups{$ingrp}->{drivers}->{$impl}->{"domainMigrate"}) {
|
||||||
unless $groups{$ingrp}->{drivers}->{$impl}->{"domainMigrate"};
|
$groups{$ingrp}->{drivers}->{$impl}->{"domainMigrate"} = {};
|
||||||
|
$groups{$ingrp}->{drivers}->{$impl}->{"domainMigrate"}->{vers} = $vers;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} elsif ($line =~ /}/) {
|
} elsif ($line =~ /}/) {
|
||||||
@ -280,7 +285,7 @@ $groups{virHypervisorDriver}->{apis}->{"domainMigrate"} = "virDomainMigrate";
|
|||||||
my $openAuthVers = (0 * 1000 * 1000) + (4 * 1000) + 0;
|
my $openAuthVers = (0 * 1000 * 1000) + (4 * 1000) + 0;
|
||||||
|
|
||||||
foreach my $drv (keys %{$groups{"virHypervisorDriver"}->{drivers}}) {
|
foreach my $drv (keys %{$groups{"virHypervisorDriver"}->{drivers}}) {
|
||||||
my $openVersStr = $groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpen"};
|
my $openVersStr = $groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpen"}->{vers};
|
||||||
my $openVers;
|
my $openVers;
|
||||||
if ($openVersStr =~ /(\d+)\.(\d+)\.(\d+)/) {
|
if ($openVersStr =~ /(\d+)\.(\d+)\.(\d+)/) {
|
||||||
$openVers = ($1 * 1000 * 1000) + ($2 * 1000) + $3;
|
$openVers = ($1 * 1000 * 1000) + ($2 * 1000) + $3;
|
||||||
@ -290,14 +295,16 @@ foreach my $drv (keys %{$groups{"virHypervisorDriver"}->{drivers}}) {
|
|||||||
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenReadOnly"} =
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenReadOnly"} =
|
||||||
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpen"};
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpen"};
|
||||||
|
|
||||||
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenAuth"} = {};
|
||||||
|
|
||||||
# virConnectOpenAuth is always 0.4.0 if the driver existed
|
# virConnectOpenAuth is always 0.4.0 if the driver existed
|
||||||
# before this time, otherwise it matches the version of
|
# before this time, otherwise it matches the version of
|
||||||
# the driver's virConnectOpen entry
|
# the driver's virConnectOpen entry
|
||||||
if ($openVersStr eq "Y" ||
|
if ($openVersStr eq "Y" ||
|
||||||
$openVers >= $openAuthVers) {
|
$openVers >= $openAuthVers) {
|
||||||
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenAuth"} = $openVersStr;
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenAuth"}->{vers} = $openVersStr;
|
||||||
} else {
|
} else {
|
||||||
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenAuth"} = "0.4.0";
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"connectOpenAuth"}->{vers} = "0.4.0";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -309,21 +316,23 @@ $groups{virHypervisorDriver}->{apis}->{"domainCreateLinux"} = "virDomainCreateLi
|
|||||||
my $createAPIVers = (0 * 1000 * 1000) + (0 * 1000) + 3;
|
my $createAPIVers = (0 * 1000 * 1000) + (0 * 1000) + 3;
|
||||||
|
|
||||||
foreach my $drv (keys %{$groups{"virHypervisorDriver"}->{drivers}}) {
|
foreach my $drv (keys %{$groups{"virHypervisorDriver"}->{drivers}}) {
|
||||||
my $createVersStr = $groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateXML"};
|
my $createVersStr = $groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateXML"}->{vers};
|
||||||
next unless defined $createVersStr;
|
next unless defined $createVersStr;
|
||||||
my $createVers;
|
my $createVers;
|
||||||
if ($createVersStr =~ /(\d+)\.(\d+)\.(\d+)/) {
|
if ($createVersStr =~ /(\d+)\.(\d+)\.(\d+)/) {
|
||||||
$createVers = ($1 * 1000 * 1000) + ($2 * 1000) + $3;
|
$createVers = ($1 * 1000 * 1000) + ($2 * 1000) + $3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateLinux"} = {};
|
||||||
|
|
||||||
# virCreateLinux is always 0.0.3 if the driver existed
|
# virCreateLinux is always 0.0.3 if the driver existed
|
||||||
# before this time, otherwise it matches the version of
|
# before this time, otherwise it matches the version of
|
||||||
# the driver's virCreateXML entry
|
# the driver's virCreateXML entry
|
||||||
if ($createVersStr eq "Y" ||
|
if ($createVersStr eq "Y" ||
|
||||||
$createVers >= $createAPIVers) {
|
$createVers >= $createAPIVers) {
|
||||||
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateLinux"} = $createVersStr;
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateLinux"}->{vers} = $createVersStr;
|
||||||
} else {
|
} else {
|
||||||
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateLinux"} = "0.0.3";
|
$groups{"virHypervisorDriver"}->{drivers}->{$drv}->{"domainCreateLinux"}->{vers} = "0.0.3";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -342,7 +351,9 @@ print <<EOF;
|
|||||||
<p>
|
<p>
|
||||||
This page documents which <a href="html/">libvirt calls</a> work on
|
This page documents which <a href="html/">libvirt calls</a> work on
|
||||||
which libvirt drivers / hypervisors, and which version the API appeared
|
which libvirt drivers / hypervisors, and which version the API appeared
|
||||||
in.
|
in. If a hypervisor driver deprecated the API, the version when it
|
||||||
|
was removed is also mentioned (highlighted in
|
||||||
|
<span class="deprecatedhv">dark red</span>).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
@ -395,11 +406,16 @@ EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
foreach my $drv (sort {$a cmp $b } keys %{$groups{$grp}->{drivers}}) {
|
foreach my $drv (sort {$a cmp $b } keys %{$groups{$grp}->{drivers}}) {
|
||||||
|
print "<td>";
|
||||||
if (exists $groups{$grp}->{drivers}->{$drv}->{$field}) {
|
if (exists $groups{$grp}->{drivers}->{$drv}->{$field}) {
|
||||||
print "<td>", $groups{$grp}->{drivers}->{$drv}->{$field}, "</td>\n";
|
if ($groups{$grp}->{drivers}->{$drv}->{$field}->{vers}) {
|
||||||
} else {
|
print $groups{$grp}->{drivers}->{$drv}->{$field}->{vers};
|
||||||
print "<td></td>\n";
|
}
|
||||||
|
if ($groups{$grp}->{drivers}->{$drv}->{$field}->{depre}) {
|
||||||
|
print " - <span class=\"deprecatedhv\">", $groups{$grp}->{drivers}->{$drv}->{$field}->{depre}, "</span>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
print "</td>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
|
@ -581,3 +581,7 @@ td.enumvalue {
|
|||||||
#advancedsearch label {
|
#advancedsearch label {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.deprecatedhv {
|
||||||
|
color: darkred;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user