Skip to content

Commit a2a560e

Browse files
author
Marcin Przepiorowski
committed
Release of the v.2.4.14
2 parents e2e002f + 566c605 commit a2a560e

File tree

423 files changed

+29574
-27501
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

423 files changed

+29574
-27501
lines changed

.github/workflows/build.yml

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,34 @@ jobs:
4343
name: cento7build
4444
path: ${{ env.FILENAME }}
4545

46+
docker:
47+
needs: [centos7]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v2
52+
- name: Docker meta
53+
id: meta
54+
uses: docker/metadata-action@v3
55+
with:
56+
images: pioro/dxtoolkit
57+
- name: Set up QEMU
58+
uses: docker/setup-qemu-action@v1
59+
- name: Set up Docker Buildx
60+
uses: docker/setup-buildx-action@v1
61+
- name: Login to DockerHub
62+
uses: docker/login-action@v1
63+
with:
64+
username: ${{ secrets.DOCKERHUB_USERNAME }}
65+
password: ${{ secrets.DOCKERHUB_TOKEN }}
66+
- name: Build and push
67+
id: docker_build
68+
uses: docker/build-push-action@v2
69+
with:
70+
context: docker/
71+
push: true
72+
tags: ${{ steps.meta.outputs.tags }}
73+
4674

4775
ubuntu:
4876
needs: [centos7]
@@ -185,7 +213,7 @@ jobs:
185213

186214
osx:
187215
needs: [centos7]
188-
runs-on: macos-latest
216+
runs-on: macos-10.15
189217

190218
steps:
191219
- name: checkout dxtoolkit code
@@ -213,10 +241,10 @@ jobs:
213241
#brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8ff2935985d6da4f2f463ea2666545e6017c4d54/Formula/perl.rb
214242
brew install pioro/repo/[email protected]
215243
brew install cpanminus
216-
# brew install openssl
244+
brew install openssl@1.1
217245
cpanm Crypt::CBC
218246
cpanm Crypt::Blowfish
219-
export OPENSSL_PREFIX=`brew --prefix openssl`
247+
export OPENSSL_PREFIX=`brew --prefix openssl@1.1`
220248
echo $OPENSSL_PREFIX
221249
export LIBS="-d=$OPENSSL_PREFIX"
222250
cpanm --configure-args=$LIBS Filter::Crypto::Decrypt
@@ -229,17 +257,19 @@ jobs:
229257
cpanm Text::CSV
230258
cpanm LWP::UserAgent
231259
cpanm Net::SSLeay
232-
cpanm IO::Socket::SSL
260+
cpanm Mozilla::CA@20180117
261+
cpanm IO::Socket::[email protected]
233262
cpanm LWP::Protocol::https
234263
cpanm Term::ReadKey
235264
cpanm -f Archive::Zip
265+
cpanm utf8
236266
cpanm PAR::Packer
237267
cpanm List::MoreUtils::PP
238268
239269
- name: Compile
240270
run: |
241271
CELL=`brew --prefix pioro/repo/[email protected]`
242-
OPENLIB=`brew --prefix openssl`
272+
OPENLIB=`brew --prefix openssl@1.1`
243273
CDIR=`pwd`
244274
export PP=${CELL}/bin/pp
245275
export LIBS="-l ${OPENLIB}/lib/libssl.dylib -l ${OPENLIB}/lib/libcrypto.dylib"

.github/workflows/develop.yml

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,35 @@ jobs:
5050
name: cento7build
5151
path: ${{ env.FILENAME }}
5252

53+
docker:
54+
needs: [centos7]
55+
runs-on: ubuntu-latest
56+
steps:
57+
- name: Checkout
58+
uses: actions/checkout@v2
59+
- name: Docker meta
60+
id: meta
61+
uses: docker/metadata-action@v3
62+
with:
63+
images: pioro/dxtoolkit
64+
- name: Set up QEMU
65+
uses: docker/setup-qemu-action@v1
66+
- name: Set up Docker Buildx
67+
uses: docker/setup-buildx-action@v1
68+
- name: Login to DockerHub
69+
uses: docker/login-action@v1
70+
with:
71+
username: ${{ secrets.DOCKERHUB_USERNAME }}
72+
password: ${{ secrets.DOCKERHUB_TOKEN }}
73+
- name: Build and push
74+
id: docker_build
75+
uses: docker/build-push-action@v2
76+
with:
77+
context: docker/
78+
push: true
79+
tags: ${{ steps.meta.outputs.tags }}
80+
81+
5382

5483
ubuntu:
5584
needs: [centos7]
@@ -215,7 +244,7 @@ jobs:
215244

216245
osx:
217246
needs: [centos7]
218-
runs-on: macos-latest
247+
runs-on: macos-10.15
219248

220249
steps:
221250
- name: checkout dxtoolkit code
@@ -243,10 +272,10 @@ jobs:
243272
#brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8ff2935985d6da4f2f463ea2666545e6017c4d54/Formula/perl.rb
244273
brew install pioro/repo/[email protected]
245274
brew install cpanminus
246-
# brew install openssl
275+
brew install openssl@1.1
247276
cpanm Crypt::CBC
248277
cpanm Crypt::Blowfish
249-
export OPENSSL_PREFIX=`brew --prefix openssl`
278+
export OPENSSL_PREFIX=`brew --prefix openssl@1.1`
250279
echo $OPENSSL_PREFIX
251280
export LIBS="-d=$OPENSSL_PREFIX"
252281
cpanm --configure-args=$LIBS Filter::Crypto::Decrypt
@@ -271,7 +300,7 @@ jobs:
271300
- name: Compile
272301
run: |
273302
CELL=`brew --prefix pioro/repo/[email protected]`
274-
OPENLIB=`brew --prefix openssl`
303+
OPENLIB=`brew --prefix openssl@1.1`
275304
CDIR=`pwd`
276305
export PP=${CELL}/bin/pp
277306
export LIBS="-l ${OPENLIB}/lib/libssl.dylib -l ${OPENLIB}/lib/libcrypto.dylib"

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
## 2.4.14
2+
3+
### Added
4+
5+
- support for 6.0.11 engine
6+
- dx_ctl_engine_upgrade - action apply allows to select upgrade type - deferred or full
7+
- dx_ctl_engine_upgrade - action delete allows to delete old OS
8+
- dx_get_db_env new flag to speed up a command output for engines with many snapshots - dx_get_db_env -snappervdb
9+
- new filter based on repository name ( ORACLE_HOME, MS SQL instance, etc) added to dx_get_db_env and dx_ctl_db
10+
11+
### Changed
12+
- dx_ctl_engine_upgrade apply action fixed - it monitors now a whole upgrade process, including engine reboot
13+
- [fix for #195](https://github.com/delphix/dxtoolkit/issues/195) - this was generic issue with snapshot paging
14+
- [fix for #193](https://github.com/delphix/dxtoolkit/issues/193) - dx_get_env creates different envtype than what dx_create_env expects
15+
- fix for backup metadata in dx_get_db_env
16+
- fix for printing hierarchy in dx_get_hierarchy for objects with same reference across 2 engines
17+
18+
119
## 2.4.13
220

321
### Added

README.md

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## What is it
44

5-
Dxtoolkit is a set of scripts, which are delivered by Delphix professional services team.
5+
Dxtoolkit is a set of scripts, which are delivered by Delphix professional services team.
66
Dxtoolkit scripts look and feel like UNIX executables, following the typical conventions of using flags for arguments. Dxtoolkit is written in Perl, but no knowledge of Perl is required unless you want to extend it. In fact, no programming experience whatsoever is required to use the dxtoolkit.
77

88
## What's new
@@ -12,21 +12,24 @@ Please check a [change log](https://github.com/delphix/dxtoolkit/blob/master/CHA
1212
## How to get started
1313
### Compiled version
1414

15-
**Prerequisites**
16-
* OpenSSL 1.0 library is required for Solaris Sparc, Solaris x64, Red Hat 6 and Red Hat 7
17-
* OpenSSL 0.98 library is required for Red Hat 5
18-
19-
If you don't have required version of OpenSSL library download a version with -openssl- in name, where
20-
those libraries are embbeded.
21-
22-
Download a compiled version of DxToolkit for required platform from a [releases page](https://github.com/delphix/dxtoolkit/releases).
15+
Download a compiled version of DxToolkit for required platform from a [releases page](https://github.com/delphix/dxtoolkit/releases).
2316
Create a configuration file *dxtools.conf* based on dxtools.conf.example or a Wiki page.
2417

2518
Check a [documentation](https://github.com/delphix/dxtoolkit/wiki) for more details
2619

27-
### Known issues
2820

29-
There is no script dx_syslog on Windows and AIX due to lack of support of Log::Syslog::Fast Perl module
21+
### Docker image
22+
23+
Run dxtoolkit using a docker image:
24+
1. Create configuration file *dxtools.conf* based on dxtools.conf.example or a Wiki page.
25+
2. Run a docker image with the following parameters:
26+
* path redirection: `-v /path/to/your/configfile:/config`
27+
* image name: `pioro/dxtoolkit:develop`
28+
* `dxtoolkit_command dxtoolkit_command_params`
29+
30+
31+
ex: `docker run -v /configdir:/config pioro/dxtoolkit:latest dx_get_appliance -d myengine`
32+
3033

3134
### Source version
3235

@@ -48,6 +51,30 @@ Perl version 5.16 or higher
4851
- Term::ReadKey
4952
- Log::Syslog::Fast
5053

54+
55+
### Known issues
56+
57+
There is no script dx_syslog on Windows and AIX due to lack of support of Log::Syslog::Fast Perl module
58+
59+
60+
### Support matrix
61+
62+
New releases of dxtoolkit are tested with Delphix Engines, which are in primary or extended support.
63+
Ex. 2.4.14 release was tested with version 5.3.9 and 6.0.X engines.
64+
65+
Dxtoolkit is designed to support many versions of Delphix Engines, although if a new version is released after dxtoolkit release
66+
it may stop working due to API changes. To mitigate this issue until next dxtoolkit version will be release, please add
67+
-dever parameter to your commands with the following values:
68+
69+
|parameter|Delphix Engine version|API version|
70+
| :--- | :---: | :--- |
71+
| -dever 6.0.11| Delphix Engine 6.0.11 | API 1.11.11|
72+
| -dever 6.0| Delphix Engine 6.0 | API 1.11.00|
73+
| -dever 5.3| Delphix Engine 5.3 | API 1.10.00|
74+
| -dever 5.2| Delphix Engine 5.2 | API 1.9.00|
75+
76+
77+
5178
## <a id="contribute"></a>Contribute
5279

5380
1. Fork the project.

bin/dx_ctl_bookmarks.pl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110

111111
if (lc $action eq 'create') {
112112

113-
my $db_list = Toolkit_helpers::get_dblist_from_filter(undef, $group, undef, $dbname, $db, $groups, undef, undef, undef, undef, undef, undef, $debug);
113+
my $db_list = Toolkit_helpers::get_dblist_from_filter(undef, $group, undef, $dbname, $db, $groups, undef, undef, undef, undef, undef, undef, undef, $debug);
114114

115115
if (! defined($db_list)) {
116116
print "There is no DB selected to process on $engine . Please check filter definitions. \n";

bin/dx_ctl_db.pl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
'envname=s' => \(my $envname),
5555
'instancename=s' => \(my $instancename),
5656
'olderthan=s' => \(my $creationtime),
57+
'reponame=s' => \(my $repositoryname),
5758
'restore=s' => \(my $restore),
5859
'debug:n' => \(my $debug),
5960
'all' => (\my $all),
@@ -134,7 +135,7 @@
134135
$zulutime = Toolkit_helpers::convert_to_utc($creationtime, $engine_obj->getTimezone(), undef, 1);
135136
}
136137

137-
my $db_list = Toolkit_helpers::get_dblist_from_filter($type, $group, $host, $dbname, $databases, $groups, $envname, $dsource, undef, $instance, $instancename, $zulutime, $debug);
138+
my $db_list = Toolkit_helpers::get_dblist_from_filter($type, $group, $host, $dbname, $databases, $groups, $envname, $dsource, undef, $instance, $instancename, $zulutime, $repositoryname, $debug);
138139
if (! defined($db_list)) {
139140
print "There is no DB selected to process on $engine . Please check filter definitions. \n";
140141
$ret = $ret + 1;
@@ -352,7 +353,7 @@ =head1 SYNOPSIS
352353
353354
dx_ctl_db [ -engine|d <delphix identifier> | -all ] [ -configfile file ]
354355
[ -group group_name | -name db_name | -host host_name | -type dsource|vdb | -instancename instname | -olderthan date | -dsource dsource_name | -envname env_name]
355-
[-instance inst_no]
356+
[-instance inst_no][-reponame repository_name]
356357
<-action start|stop|enable|disable>
357358
[-restore filename]
358359
[-force false|onfailure|only]
@@ -415,6 +416,9 @@ =head2 Filters
415416
=item B<-olderthan>
416417
Date - Filter based on objects older than given date
417418
419+
=item B<-reponame repository_name>
420+
Filter using repository_name ( Oracle Home, MS SQL instance, etc)
421+
418422
=back
419423
420424
=head3 Instance option

bin/dx_ctl_dbhooks.pl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@
153153
## skip hidden
154154
next if $dbname =~ /^\./;
155155
my $dir1 = File::Spec->catfile($dirg,$dbname);
156-
my $db_list = Toolkit_helpers::get_dblist_from_filter(undef, $groupname, undef, $dbname, $databases, $groups, undef, undef, undef, undef, undef, undef, $debug);
156+
my $db_list = Toolkit_helpers::get_dblist_from_filter(undef, $groupname, undef, $dbname, $databases, $groups, undef, undef, undef, undef, undef, undef, undef, $debug);
157157

158158
if (!defined($db_list)) {
159159
print "Database $dbname not found\n";
@@ -200,7 +200,7 @@
200200
closedir($DIRG);
201201
} else {
202202
Toolkit_helpers::check_filer_options (1, $type, $group, $host, $dbname, undef);
203-
my $db_list = Toolkit_helpers::get_dblist_from_filter($type, $group, $host, $dbname, $databases, $groups, undef, undef, undef, undef, undef, undef, $debug);
203+
my $db_list = Toolkit_helpers::get_dblist_from_filter($type, $group, $host, $dbname, $databases, $groups, undef, undef, undef, undef, undef, undef, undef, $debug);
204204
if (! defined($db_list)) {
205205
print "There is no DB selected to process on $engine . Please check filter definitions. \n";
206206
$ret = $ret + 1;

bin/dx_ctl_dsource.pl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
'action=s' => \(my $action),
5454
'group=s' => \(my $group),
5555
'creategroup' => \(my $creategroup),
56+
'reponame=s' => \(my $repositoryname),
5657
'sourceinst=s' => \(my $sourceinst),
5758
'sourceenv=s' => \(my $sourceenv),
5859
'stageinst=s' => \(my $stageinst),
@@ -226,7 +227,7 @@
226227
if ((lc $action eq 'detach') || (lc $action eq 'update')) {
227228
my $databases = new Databases($engine_obj,$debug);
228229

229-
my $source_ref = Toolkit_helpers::get_dblist_from_filter(undef, $group, undef, $dsourcename, $databases, $groups, undef, undef, undef, undef, undef, undef, $debug);
230+
my $source_ref = Toolkit_helpers::get_dblist_from_filter(undef, $group, undef, $dsourcename, $databases, $groups, undef, undef, undef, undef, undef, undef, $repositoryname, $debug);
230231

231232
if (!defined($source_ref)) {
232233
print "Source database not found.\n";
@@ -281,7 +282,7 @@
281282
} elsif ($action eq 'attach') {
282283
my $databases = new Databases($engine_obj,$debug);
283284

284-
my $source_ref = Toolkit_helpers::get_dblist_from_filter(undef, $group, undef, $dsourcename, $databases, $groups, undef, undef, undef, undef, undef, undef, $debug);
285+
my $source_ref = Toolkit_helpers::get_dblist_from_filter(undef, $group, undef, $dsourcename, $databases, $groups, undef, undef, undef, undef, undef, undef, $repositoryname, $debug);
285286

286287
if (!defined($source_ref)) {
287288
print "Source database not found.\n";

0 commit comments

Comments
 (0)