Skip to content

Commit 63f1e8a

Browse files
authored
Merge pull request #315 from jeffngo/merge_3.0.0_master
Merge 'release/3.0.0' into master
2 parents 7f59f75 + 7d95126 commit 63f1e8a

File tree

69 files changed

+1063
-409
lines changed

Some content is hidden

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

69 files changed

+1063
-409
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 2.1.0
2+
current_version = 3.0.0
33
commit = False
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<dev>\d+))?

.dependabot/config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ update_configs:
33
# Keep requirements.txt files up-to-date in each package.
44
- package_manager: "python"
55
directory: "/dvp"
6-
update_schedule: "daily"
6+
update_schedule: "monthly"
77
target_branch: "develop"
88
- package_manager: "python"
99
directory: "/common"
10-
update_schedule: "daily"
10+
update_schedule: "monthly"
1111
target_branch: "develop"
1212
- package_manager: "python"
1313
directory: "/platform"
14-
update_schedule: "daily"
14+
update_schedule: "monthly"
1515
target_branch: "develop"
1616
- package_manager: "python"
1717
directory: "/libs"
18-
update_schedule: "daily"
18+
update_schedule: "monthly"
1919
target_branch: "develop"
2020
- package_manager: "python"
2121
directory: "/tools"
22-
update_schedule: "daily"
22+
update_schedule: "monthly"
2323
target_branch: "develop"

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @ankursarin @fdrozdowski @nhlien93 @crystalplumage
1+
* @ankursarin @nhlien93 @mothslaw

.github/workflows/publish-docs.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ jobs:
3333
run: |
3434
CURRENT_BRANCH_VAR=${GITHUB_REF#refs/heads/}
3535
echo "Current branch: $CURRENT_BRANCH_VAR"
36-
# Set CURRENT_BRANCH environment variable to the current branch name.
37-
echo "::set-env name=CURRENT_BRANCH::$(echo $CURRENT_BRANCH_VAR)"
36+
# Set CURRENT_BRANCH environment variable to the current branch name. Refrain from using 'set-env' as
37+
# GitHub has identified the command as a moderate security vulnerability.
38+
echo "CURRENT_BRANCH=$(echo $CURRENT_BRANCH_VAR)" >> $GITHUB_ENV
3839
- name: Display all remote branches
3940
working-directory: ${{ matrix.package }}
4041
run: |
@@ -46,8 +47,9 @@ jobs:
4647
# Get only docs branches, extract the "docs/x.y.z" part, sort them in descending order, and get the first one.
4748
LATEST_DOCS_BRANCH_VAR=$(git branch -r | grep -e ".*\/*docs\/[0-9].[0-9].[0-9]" | sed -n "s/.*\/*\(docs\/[0-9].[0-9].[0-9]\).*/\1/p" | sort -r | head -n 1)
4849
echo "Latest docs branch: $LATEST_DOCS_BRANCH_VAR"
49-
# Set the LATEST_DOCS_BRANCH environment variable.
50-
echo "::set-env name=LATEST_DOCS_BRANCH::$(echo $LATEST_DOCS_BRANCH_VAR)"
50+
# Set the LATEST_DOCS_BRANCH environment variable. Refrain from using 'set-env' as GitHub has identified the
51+
# command as a moderate security vulnerability.
52+
echo "LATEST_DOCS_BRANCH=$(echo $LATEST_DOCS_BRANCH_VAR)" >> $GITHUB_ENV
5153
- name: Check that the current branch is the latest docs branch, fail otherwise
5254
working-directory: ${{ matrix.package }}
5355
run: |

README-dev.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,17 +125,17 @@ To run blackbox tests, follow these steps:
125125
2. Navigate to the app-gate directory and start tests using `git blackbox`. For the guide on which test suite to use,
126126
see the next sections.
127127
128-
At a minimum, each pull request should pass `appdata_python_samples` and `appdata_sanity` tests with a direct or staged plugin.
128+
At a minimum, each pull request should pass `appdata_python_samples` and `appdata_basic` tests with a direct or staged plugin.
129129
See the section below for the description of each test suite.
130130
131131
#### Blackbox tests targeting wrappers (mostly Delphix Engine workflows)
132132
* appdata_python_samples (sample plugins from the app-gate):
133133
`git blackbox -s appdata_python_samples --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`,
134-
* appdata_sanity with a direct Python plugin on CentOS 7.3: `git blackbox -s appdata_sanity -c APPDATA_PYTHON_DIRECT_CENTOS73 -a --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`,
135-
* appdata_sanity with a staged Python plugin on CentOS 7.3: `git blackbox -s appdata_sanity -c APPDATA_PYTHON_STAGED_CENTOS73 -a --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`.
134+
* appdata_basic with a direct Python plugin on CentOS 7.3: `git blackbox -s appdata_basic -c APPDATA_PYTHON_DIRECT_CENTOS73 -a --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`,
135+
* appdata_basic with a staged Python plugin on CentOS 7.3: `git blackbox -s appdata_basic -c APPDATA_PYTHON_STAGED_CENTOS73 -a --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`.
136136
137137
#### Blackbox tests targeting the CLI (~80% CLI tests)
138138
* virtualization_sdk (installs and tests a direct Python plugin on Ubuntu 18):
139139
`git blackbox -s virtualization_sdk -c APPDATA_SDK_UBUNTU18_DIRECT_CENTOS73 --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`,
140140
* virtualization_sdk (installs and tests a staged Python plugin on Ubuntu 18):
141-
`git blackbox -s virtualization_sdk -c APPDATA_SDK_UBUNTU18_STAGED_CENTOS73 --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`.
141+
`git blackbox -s virtualization_sdk -c APPDATA_SDK_UBUNTU18_STAGED_CENTOS73 --extra-params="-p virt-sdk-repo=https://github.com/<username>/virtualization-sdk.git -p virt-sdk-branch=my-feature"`.

common/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
PYTHON_SRC = 'src/main/python'
55

66
install_requires = [
7-
"dvp-api == 1.3.0",
7+
"dvp-api == 1.4.0",
88
]
99

1010
with open(os.path.join(PYTHON_SRC, 'dlpx/virtualization/common/VERSION')) as version_file:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.0
1+
3.0.0

docs/docs/Best_Practices/.pages

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ arrange:
66
- Sensitive_Data.md
77
- Unicode_Data.md
88
- Working_with_Powershell.md
9+
- Scratch_Paths.md
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#Scratch Paths
2+
3+
A scratch path is a directory reserved for plugin use on each remote host. This is intended for uses such as:
4+
5+
- Storage of small amounts of persistent data
6+
- A place to mount VDB data
7+
- Temporary logs for debugging (Be careful that you don't use too much space though!)
8+
9+
The location of this scratch area is given by the `scratch_path` property on the [RemoteHost](/References/Classes/#remotehost) object.
10+
11+
12+
Things to note about the scratch path:
13+
14+
- No guarantees are made about where the path is located on the system.
15+
- No guarantees are made about how much space might be available in this directory. It is strongly advised that you use only a small amount of disk space here.
16+
- The directory will be owned by the "primary user" associated with the remote host. This might be a completely different user from the one that is associated with a particular dsource or VDB.
17+
- If you need to store dSource- or VDB-specific data, it is highly recommended that you create a separate subdirectory for each dSource/VDB inside this scratch area. It's also recommended to name this subdirectory using the GUID of the dSource/VDB, so that you avoid accidental name collisions.
18+
- The Delphix Engine will not do any cleanup for you, so be sure to delete anything you're no longer using. For example, any VDB-specific information must be deleted in your [unconfigure](/References/Plugin_Operations/#virtual-source-unconfigure) operation (and dSource data gets deleted in your [stopStaging](/References/Plugin_Operations/#staged-linked-source-stop-staging) operation.)
19+
- Do not store any [sensitive information](Sensitive_Data.md) here!

docs/docs/Building_Your_First_Plugin/Data_Ingestion.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ quite limiting.
2121

2222
For our first plugin, we will be using the more flexible [staging](/References/Glossary.md#staged-linkingsyncing) strategy. With this strategy, the Delphix Engine uses NFS for Unix environments (or iSCSI on Windows environments) to mount storage onto a [staging environment](/References/Glossary.md#staging-environment). Our plugin will then be in full control of how to get data from the source environment onto this storage mount.
2323

24-
With the staging strategy, there are two types of syncs: sync and resync. A `sync` is used to ingestion incremental changes while a `resync` is used to re-ingest all the data for the dSource. For databases, this could mean re-ingesting from a full database backup to reset the dSource. A `sync` and a `resync` execute the same plugin operations and are differentiated by a boolean flag in the [snapshot_parameters](/References/Classes.md#snapshotparametersdefinition) argument passed into [linked.pre_snapshot](/References/Plugin_Operations.md#staged-linked-source-pre-snapshot) and [linked.post_snapshot](/References/Plugin_Operations.md#staged-linked-source-post-snapshot).
24+
With the staging strategy, there are two types of syncs: sync and resync. A `sync` is used to ingest incremental changes while a `resync` is used to re-ingest all the data for the dSource. For databases, this could mean re-ingesting from a full database backup to reset the dSource. A `sync` and a `resync` will execute the same plugin operations. To differentiate a `sync` from a `resync`, simply add a boolean property (i.e. `resync`) in the plugin's [snapshot parameters definition](References/Schemas_and_Autogenerated_Classes.md#snapshotparametersdefinition-schema). Once `sync` or `resync` is selected, the property will be passed into [linked.pre_snapshot](/References/Plugin_Operations.md#staged-linked-source-pre-snapshot) and [linked.post_snapshot](/References/Plugin_Operations.md#staged-linked-source-post-snapshot) as a [snapshot parameter](/References/Glossary.md#snapshot-parameters).
2525

2626
A regular `sync` is the default and is executed as part of policy driven syncs. A `resync` is only executed during initial ingestion or if the Delphix user manually starts one. The customer can manually trigger a `resync` via the UI by selecting the dSource, going to more options and selecting **Resynchronize dSource**. ![Screenshot](images/Resync.png)
2727

@@ -168,7 +168,7 @@ Next, we'll add a new function:
168168

169169
```python
170170
@plugin.linked.pre_snapshot()
171-
def copy_data_from_source(staged_source, repository, source_config, snapshot_parameters):
171+
def copy_data_from_source(staged_source, repository, source_config, optional_snapshot_parameters):
172172
stage_mount_path = staged_source.mount.mount_path
173173
data_location = "{}@{}:{}".format(staged_source.parameters.username,
174174
staged_source.parameters.source_address,
@@ -249,7 +249,7 @@ In fact, the default implementation that was generated by `dvp init` will work j
249249
def linked_post_snapshot(staged_source,
250250
repository,
251251
source_config,
252-
snapshot_parameters):
252+
optional_snapshot_parameters):
253253
return SnapshotDefinition()
254254
```
255255

0 commit comments

Comments
 (0)