Skip to content

Commit 38aed44

Browse files
author
Marcin Przepiorowski
committed
v.2.4.16.2
2 parents 7a73893 + 7a1f454 commit 38aed44

File tree

6 files changed

+138
-11
lines changed

6 files changed

+138
-11
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## 2.4.16.2
2+
3+
### Added
4+
5+
- dx_get_osversion - will report an upgrade verification status
6+
- dx_get_appliance - will show UUID and engine type (masking / virtualisation )
7+
18
## 2.4.16.0
29

310
### Added

bin/dx_get_appliance.pl

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@
8484
{'VDBs#', 8},
8585
{'Total Objects', 8},
8686
{'vCpu', 8},
87-
{'vMem [GB]', 9}
87+
{'vMem [GB]', 9},
88+
{'UUID',40},
89+
{'Type',20}
8890
);
8991
} else {
9092
$output->addHeader(
@@ -122,6 +124,8 @@
122124
"",
123125
"",
124126
"",
127+
"",
128+
"",
125129
""
126130
);
127131
} else {
@@ -166,7 +170,9 @@
166170
scalar(@vdb),
167171
scalar(@dsource) + scalar(@vdb),
168172
$system->getvCPU(),
169-
sprintf("%8.2f",$system->getvMem())
173+
sprintf("%8.2f",$system->getvMem()),
174+
$system->getUUID(),
175+
$system->getEngineType()
170176
);
171177
} else {
172178
$output->addLine(
@@ -288,10 +294,10 @@ =head1 EXAMPLES
288294
289295
Display a Delphix Engine details
290296
291-
dx_get_appliance.pl -d dxt1 -details
297+
dx_get_appliance.pl -d dxt1 -details
292298
293-
Appliance Status Version Total (GB) Used (GB) Free (GB) PctUsed(%) dSource# VDBs# Total Ob vCpu vMem [GB]
294-
-------------------- -------- -------- ---------- ---------- ---------- ---------- -------- -------- -------- -------- ---------
295-
dxt1 UP 6.0.11.0 33.42 9.17 24.25 27.44 1 2 3 4 15.88
299+
Appliance Status Version Total (GB) Used (GB) Free (GB) PctUsed(%) dSource# VDBs# Total Ob vCpu vMem [GB] UUID
300+
-------------------- -------- -------- ---------- ---------- ---------- ---------- -------- -------- -------- -------- --------- ----------------------------------------
301+
dxt1 UP 6.0.12.1 21.80 7.62 14.18 34.96 1 0 1 2 8.00 564d754d-eb0f-bb3e-15a2-f45c08d0ae24
296302
297303
=cut

bin/dx_get_osversions.pl

Lines changed: 56 additions & 4 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,17 +69,32 @@
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},
7784
{'to', 15},
7885
{'step', 30},
7986
{'status', 15},
87+
{'severity', 15},
8088
{'Start test date', 30}
8189
);
90+
} elsif (defined($report)) {
91+
$output->addHeader(
92+
{'engine name', 35},
93+
{'to', 15},
94+
{'title', 30},
95+
{'status', 15},
96+
{'severity', 15}
97+
);
8298
} else {
8399
$output->addHeader(
84100
{'engine name', 35},
@@ -109,7 +125,7 @@
109125

110126

111127
my $version_obj = new Version_obj($engine_obj, $debug);
112-
if (defined($report)) {
128+
if (defined($steps)) {
113129
$version_obj->loadVerfication();
114130

115131
for my $repref (@{$version_obj->getReportList()}) {
@@ -129,10 +145,35 @@
129145
$verified_version,
130146
'',
131147
'',
148+
'',
132149
''
133150
);
134151
$version_obj->getReportSteps($repref, $output);
135152
}
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+
}
136177

137178
} else {
138179
for my $oshash (@{$version_obj->getOSversions()}) {
@@ -163,7 +204,7 @@
163204
=head1 SYNOPSIS
164205
165206
dx_get_osversions [-engine|d <delphix identifier> | -all ]
166-
[-report]
207+
[-steps | -report ]
167208
[-target targetversion]
168209
[-format csv|json]
169210
[-help|? ] [ -debug ]
@@ -200,6 +241,9 @@ =head1 OPTIONS
200241
=item B<-report>
201242
Print a verification report of the upgrade check
202243
244+
=item B<-steps>
245+
Print a verification steps of the upgrade check
246+
203247
204248
=item B<-target targetversion>
205249
Limit a verification report output to a target version specified by targetversion
@@ -230,7 +274,7 @@ =head1 EXAMPLE
230274
53sys 5.3.3.0 CURRENTLY_RUNNING 2019-04-12 12:05:47 IST
231275
232276
233-
dx_get_osversions -d myenginesys -report -target 6.0.10.1
277+
dx_get_osversions -d myenginesys -steps -target 6.0.10.1
234278
235279
engine name from to step status Start test date
236280
----------------------------------- --------------- --------------- ------------------------------ --------------- ------------------------------
@@ -248,4 +292,12 @@ =head1 EXAMPLE
248292
SnapdirsVisibilityCheck SUCCESS 2022-02-02 12:46:21 GMT
249293
250294
295+
dx_get_osversions -d mask -report -target 6.0.15.0
296+
297+
engine name to title status severity
298+
----------------------------------- --------------- ------------------------------ --------------- ---------------
299+
mask 6.0.15.0
300+
Legacy algorithms are being re ACTIVE WARNING
301+
Legacy algorithms are being re ACTIVE WARNING
302+
251303
=cut

lib/System_obj.pm

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,6 +567,17 @@ sub getLDAPServers
567567
return \@retarray;
568568
}
569569

570+
# Procedure getEngineType
571+
# parameters: none
572+
# return a engine type - masking / virtualization
573+
574+
sub getEngineType
575+
{
576+
my $self = shift;
577+
logger($self->{_debug}, "Entering System_obj::getEngineType",1);
578+
my $vMem = $self->{_system}->{engineType};
579+
return $vMem;
580+
}
570581

571582

572583
1;

lib/Toolkit_helpers.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use File::Spec;
2929

3030
use lib '../lib';
3131

32-
our $version = '2.4.16.1';
32+
our $version = '2.4.16.2';
3333

3434
my $tz = new Date::Manip::TZ;
3535
my $dt = new Date::Manip::Date;

lib/Version_obj.pm

Lines changed: 51 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;
@@ -229,14 +272,22 @@ sub getReportSteps {
229272
my $report_dict = $self->{_verification}->{$reportref}->{report};
230273
my @ordered_by_date = sort { $a->{startTimestamp} cmp $b->{startTimestamp} } @{$report_dict->{checkReport}};
231274
my $start_time;
275+
my $severity;
232276
for my $step (@ordered_by_date) {
277+
if (scalar(@{$step->{notifications}}) > 0) {
278+
$severity = (@{$step->{notifications}}[-1])->{severity};
279+
} else {
280+
$severity = "";
281+
}
282+
233283
$start_time = Toolkit_helpers::convert_from_utc ($step->{startTimestamp}, $self->{_dlpxObject}->getTimezone(), 1);
234284
$output->addLine(
235285
'',
236286
'',
237287
'',
238288
$step->{className},
239289
$step->{runStatus},
290+
$severity,
240291
$start_time
241292
)
242293
};

0 commit comments

Comments
 (0)