Skip to content

Commit 8dd9f82

Browse files
author
Marcin Przepiorowski
committed
Merge branch 'resolved' into develop
2 parents 0818cab + 0d464d1 commit 8dd9f82

File tree

2 files changed

+84
-2
lines changed

2 files changed

+84
-2
lines changed

bin/dx_get_osversions.pl

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
'help|?' => \(my $help),
4646
'd|engine=s' => \(my $dx_host),
4747
'format=s' => \(my $format),
48+
'steps' => \(my $steps),
4849
'report' => \(my $report),
4950
'target=s' => \(my $target),
5051
'debug:i' => \(my $debug),
@@ -68,9 +69,15 @@
6869
}
6970

7071

72+
if (defined($steps) && defined($report)) {
73+
print "Options -report and -steps are mutually exclusive \n";
74+
pod2usage(-verbose => 1, -input=>\*DATA);
75+
exit (1);
76+
}
77+
7178
my $output = new Formater();
7279

73-
if (defined($report)) {
80+
if (defined($steps)) {
7481
$output->addHeader(
7582
{'engine name', 35},
7683
{'from', 15},
@@ -80,6 +87,14 @@
8087
{'severity', 15},
8188
{'Start test date', 30}
8289
);
90+
} elsif (defined($report)) {
91+
$output->addHeader(
92+
{'engine name', 35},
93+
{'to', 15},
94+
{'title', 30},
95+
{'status', 15},
96+
{'severity', 15}
97+
);
8398
} else {
8499
$output->addHeader(
85100
{'engine name', 35},
@@ -110,7 +125,7 @@
110125

111126

112127
my $version_obj = new Version_obj($engine_obj, $debug);
113-
if (defined($report)) {
128+
if (defined($steps)) {
114129
$version_obj->loadVerfication();
115130

116131
for my $repref (@{$version_obj->getReportList()}) {
@@ -135,6 +150,30 @@
135150
);
136151
$version_obj->getReportSteps($repref, $output);
137152
}
153+
} elsif ( defined($report) ) {
154+
$version_obj->loadVerfication();
155+
156+
for my $oshash (@{$version_obj->getOSversions()}) {
157+
my $tover = $version_obj->getOSName($oshash);
158+
if (defined($target)) {
159+
if ($target ne $tover) {
160+
$ret = 1;
161+
next;
162+
} else {
163+
# target found
164+
$ret = 0;
165+
}
166+
}
167+
$output->addLine(
168+
$engine,
169+
$tover,
170+
'',
171+
'',
172+
''
173+
);
174+
$version_obj->loadUpgradeReport($oshash);
175+
$version_obj->getReportResults($oshash, $output)
176+
}
138177

139178
} else {
140179
for my $oshash (@{$version_obj->getOSversions()}) {

lib/Version_obj.pm

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,13 @@ sub new {
4141
my %versions;
4242
my %osmap;
4343
my %verification;
44+
my %reports;
4445
my $self = {
4546
_versions => \%versions,
4647
_name_map => \%osmap,
4748
_verification => \%verification,
4849
_dlpxObject => $dlpxObject,
50+
_reports => \%reports,
4951
_debug => $debug
5052
};
5153

@@ -79,6 +81,29 @@ sub loadOSversions {
7981

8082
}
8183

84+
85+
# Procedure loadUpgradeReport
86+
# parameters:
87+
# - oshash - reference to OS
88+
# Load upgrade checks
89+
90+
sub loadUpgradeReport {
91+
my $self = shift;
92+
my $oshash = shift;
93+
94+
logger($self->{_debug}, "Entering Version_obj::loadUpgradeReport",1);
95+
my $operation = "resources/json/delphix/system/version/" . $oshash . "/listUpgradeCheckResults";
96+
my ($result,$result_fmt, $retcode) = $self->{_dlpxObject}->getJSONResult($operation);
97+
if (defined($result->{status}) && ($result->{status} eq 'OK')) {
98+
$self->{_reports}->{$oshash} = $result->{"result"};
99+
} else {
100+
print "No data returned for $operation. Try to increase timeout \n";
101+
}
102+
}
103+
104+
105+
106+
82107
# Procedure getOSversions
83108
# parameters:
84109
# Return list of loaded
@@ -219,6 +244,24 @@ sub getReportVersions {
219244

220245
}
221246

247+
sub getReportResults {
248+
my $self = shift;
249+
my $oshash = shift;
250+
my $output = shift;
251+
252+
for my $entry (@{$self->{_reports}->{$oshash}}) {
253+
$output->addLine(
254+
'',
255+
'',
256+
$entry->{title},
257+
$entry->{status},
258+
$entry->{severity}
259+
);
260+
261+
}
262+
263+
}
264+
222265

223266
sub getReportSteps {
224267
my $self = shift;

0 commit comments

Comments
 (0)