Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 5.0.0
current_version = 5.0.1
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<dev>\d+))?
Expand Down
48 changes: 48 additions & 0 deletions .whitesource
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"scanSettings": {
"configMode": "AUTO",
"configExternalURL": "",
"projectToken": "",
"enableLicenseViolations": "true",
"displayLicenseViolations": "true",
"enableIaC": "true",
"baseBranches": []
},
"scanSettingsSAST": {
"enableScan": true,
"scanPullRequests": true,
"incrementalScan": true,
"baseBranches": [],
"snippetSize": 10
},
"checkRunSettings": {
"vulnerableCheckRunConclusionLevel": "failure",
"displayMode": "diff",
"useMendCheckNames": true
},
"checkRunSettingsSAST": {
"checkRunConclusionLevel": "failure",
"severityThreshold": "high"
},
"issueSettings": {
"minSeverityLevel": "LOW",
"issueType": "DEPENDENCY"
},
"issueSettingsSAST": {
"minSeverityLevel": "high",
"issueType": "repo"
},
"remediateSettings": {
"workflowRules": {
"enabled": true
}
},
"imageSettings":{
"imageTracing":{
"enableImageTracingPR": false,
"addRepositoryCoordinate": false,
"addDockerfilePath": false,
"addMendIdentifier": false
}
}
}
2 changes: 1 addition & 1 deletion common/src/main/python/dlpx/virtualization/common/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.0.0
5.0.1
3 changes: 3 additions & 0 deletions docs/docs/References/Glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,9 @@ For example, a MySQL plugin might provide an operation called "stop" which knows
## Provisioning
The process of making a virtual copy of a dataset and making it available for use on a target environment.

## Record Size
Delphix allows plugins to override the default record size for the linked source and virtual source datafiles. If the “recordSizeInKB” parameter is passed, it will be used to override the default record size and set the new record size for the respective dSources and empty VDBs. VDBs with parent will be inheriting the record size from their parent dSource or VDB. If the parameter is not passed, then default 8K record size will be set for the datafiles.

## Replication
Delphix allows end users to replicate data objects between Delphix Engines by creating a replication profile. Data objects that belong to a plugin can also be part of the replication profile. Refer to the [Delphix Engine Documentation](https://cd.delphix.com/docs/latest/) for more details.

Expand Down
28 changes: 28 additions & 0 deletions docs/docs/References/Schemas_and_Autogenerated_Classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,20 @@ Defines properties used to identify [linked sources](Glossary.md#linked-source).
}
```

To set [record size](Glossary.md#record-size) for the datafiles of the linked source, pass the property "recordSizeInKB" in the [LinkedSourceDefinition Schema](#linkedsourcedefinition-schema). The value of the recordSizeInKB property must be an integer and power of 2 ranging from 1 to 16384. It will set the value of record size in KB. If this parameter is not passed, then default 8K record size will be set.
```json
{
"type": "object",
"required": ["name", "port"],
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"port": { "type": "integer" },
"recordSizeInKB": {"type": "integer"}
}
}
```

### LinkedSourceDefinition Class

Autogenerated based on the [LinkedSourceDefinition Schema](#linkedsourcedefinition-schema).
Expand Down Expand Up @@ -164,6 +178,20 @@ Defines properties used to identify [virtual sources](Glossary.md#virtual-source
}
```

To set [record size](Glossary.md#record-size) for the datafiles of the empty VDB, pass the property "recordSizeInKB" in the [VirtualSourceDefinition Schema](#virtualsourcedefinition-schema). The value of the recordSizeInKB property must be an integer and power of 2 ranging from 1 to 16384. It will set the value of record size in KB. If this parameter is not passed, then default 8K record size will be set. VDB with parent source will inherit the record size value from its parent dSource or VDB.
```json
{
"type": "object",
"required": ["name", "port"],
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"port": { "type": "integer" },
"recordSizeInKB": {"type": "integer"}
}
}
```

### VirtualSourceDefinition Class

Autogenerated based on the [VirtualSourceDefinition Schema](#virtualsourcedefinition-schema).
Expand Down
2 changes: 2 additions & 0 deletions docs/docs/References/Version_Compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

| vSDK Version | Earliest Supported DE Version | Latest Supported DE Version |
|------------------------------------------|:-----------------------------:|:-----------------------------------------------------------------:|
| [5.0.1](../Release_Notes/5.0.1/5.0.1.md) | 2025.2.0.0 | [Latest Release](https://cd.delphix.com/docs/latest/new-features) |
| [5.0.0](../Release_Notes/5.0.0/5.0.0.md) | 29.0.0.0 | [Latest Release](https://cd.delphix.com/docs/latest/new-features) |
| [4.1.0](../Release_Notes/4.1.0/4.1.0.md) | 12.0.0.0 | [Latest Release](https://cd.delphix.com/docs/latest/new-features) |
| [4.0.5](../Release_Notes/4.0.5/4.0.5.md) | 6.0.16.0 | [Latest Release](https://cd.delphix.com/docs/latest/new-features) |
Expand All @@ -19,6 +20,7 @@

| vSDK Version | Python Version |
|------------------------------------------|:--------------:|
| [5.0.1](../Release_Notes/5.0.1/5.0.1.md) | 3.11 |
| [5.0.0](../Release_Notes/5.0.0/5.0.0.md) | 3.11 |
| [4.1.0](../Release_Notes/4.1.0/4.1.0.md) | 3.8 |
| [4.0.5](../Release_Notes/4.0.5/4.0.5.md) | 3.8 |
Expand Down
1 change: 1 addition & 0 deletions docs/docs/Release_Notes/.pages
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
arrange:
- 5.0.1
- 5.0.0
- 4.1.0
- 4.0.5
Expand Down
11 changes: 11 additions & 0 deletions docs/docs/Release_Notes/5.0.1/5.0.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Release - v5.0.1

To install or upgrade the SDK, refer to instructions [here](../../Getting_Started.md#installation).

## New & Improved

* Enhanced schema validation to set [record size](../../References/Glossary.md#record-size).

## Breaking Changes

* No breaking changes in this release!
4 changes: 2 additions & 2 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
site_name: Delphix Virtualization SDK 5.0.0
site_name: Delphix Virtualization SDK 5.0.1

repo_name: Delphix Virtualization SDK
repo_url: https://github.com/delphix/virtualization-sdk/
Expand All @@ -20,7 +20,7 @@ theme:
- content.code.copy
- content.code.annotate

copyright: Copyright &copy; 2024 Delphix Corp.
copyright: Copyright &copy; 2025 Delphix Corp.

extra:
analytics:
Expand Down
2 changes: 1 addition & 1 deletion dvp/src/main/python/dlpx/virtualization/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.0.0
5.0.1
2 changes: 1 addition & 1 deletion libs/src/main/python/dlpx/virtualization/libs/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.0.0
5.0.1
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.0.0
5.0.1
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.0.0
5.0.1
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,15 @@
"required": ["nameField", "identityFields"],
"nameField": { "type": "string" },
"identityFields": { "type": "array", "minItems": 1, "items": { "type": "string" } }
},
"recordSizeObject": {
"type": "object",
"properties": {
"properties": {
"properties": {
"recordSizeInKB" : {"properties": {"type": {"enum" : ["integer"]}}}}
}
}
}
},
"type": "object",
Expand Down Expand Up @@ -200,10 +209,24 @@
]
},
"virtualSourceDefinition": {
"$ref": "#/definitions/jsonSchema"
"allOf": [
{
"$ref": "#/definitions/jsonSchema"
},
{
"$ref": "#/definitions/recordSizeObject"
}
]
},
"linkedSourceDefinition": {
"$ref": "#/definitions/jsonSchema"
"allOf": [
{
"$ref": "#/definitions/jsonSchema"
},
{
"$ref": "#/definitions/recordSizeObject"
}
]
},
"snapshotDefinition": {
"$ref": "#/definitions/jsonSchema"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from dlpx.virtualization._internal import package_util

DVP_VERSION = '5.0.0'
DVP_VERSION = '5.0.1'
DVP_API_VERSION = '1.9.0'


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -356,3 +356,56 @@ def test_bad_type_in_array(schema_file):
message = err_info.value.message
assert ("'strings' is not valid under any of the given schemas"
in message)

@staticmethod
@pytest.mark.parametrize('linked_source_definition',
[{
'type': 'object',
'additionalProperties': False,
'properties': {
'recordSizeInKB': {
'type': 'string'
}
}
}])
def test_bad_recordSizeInKB_type_string(schema_file):
with pytest.raises(exceptions.SchemaValidationError) as err_info:
validator = SchemaValidator(schema_file, const.PLUGIN_SCHEMA)
validator.validate()

message = err_info.value.message
assert "'string' is not one of ['integer']" in message

@staticmethod
@pytest.mark.parametrize('virtual_source_definition',
[{
'type': 'object',
'additionalProperties': False,
'properties': {
'recordSizeInKB': {
'type': 'array'
}
}
}])
def test_bad_recordSizeInKB_type_array_virtual(schema_file):
with pytest.raises(exceptions.SchemaValidationError) as err_info:
validator = SchemaValidator(schema_file, const.PLUGIN_SCHEMA)
validator.validate()

message = err_info.value.message
assert "'array' is not one of ['integer']" in message

@staticmethod
@pytest.mark.parametrize('virtual_source_definition',
[{
'type': 'object',
'additionalProperties': False,
'properties': {
'recordSizeInKB': {
'type': 'integer'
}
}
}])
def test_recordSizeInKB_type_virtual(schema_file):
validator = SchemaValidator(schema_file, const.PLUGIN_SCHEMA)
validator.validate()
Loading