Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
172 commits
Select commit Hold shift + click to select a range
c012eab
Initial push
skdelphix Feb 11, 2019
4e7fdb9
Add initial References
ankursarin Feb 12, 2019
973395e
Add first pages to the First Plugin section
mothslaw Feb 12, 2019
c4ac2c0
Add ingestion page
mothslaw Feb 13, 2019
71e23da
Add decorators and standardize Schemas and Autogenerated Classes
ankursarin Feb 14, 2019
3412fbc
Add info on provisioning
mothslaw Feb 15, 2019
4b8d18d
Add Decorators and update documentation
ankursarin Feb 19, 2019
12f5f5b
JSON schemas
mothslaw Feb 20, 2019
15538fe
Add Intro Section
mothslaw Feb 20, 2019
29b6f0f
Move schema, references, autogenerated classes sections
ankursarin Feb 21, 2019
03f0dd8
Standardize json highlighting
ankursarin Feb 21, 2019
72f3f4b
Finished Schemas and Autogenerated Classes
ankursarin Feb 21, 2019
8dd6d41
Fixed some inconsistencies in the References
ankursarin Feb 21, 2019
a5a66c5
Add JSON schema summaries
mothslaw Feb 21, 2019
5bd1274
Add info about sensitive data
mothslaw Feb 21, 2019
d54f2d4
Add partial info on versioning
mothslaw Feb 22, 2019
703d39a
Add logging reference page
mothslaw Feb 26, 2019
62710cf
Remove site/ from the repository since it contains the build
ankursarin Feb 27, 2019
0c87c9d
All Plugin Operations done
ankursarin Mar 1, 2019
24e2a3e
Update decorators to new naming scheme
ankursarin Mar 1, 2019
de4c3d9
Add all classes
ankursarin Mar 3, 2019
6f15a38
Update imports for Plugin Operations
ankursarin Mar 3, 2019
4c3ab5e
Standardize arguments for plugin operations
ankursarin Mar 3, 2019
9061036
Add sample workflows
ankursarin Mar 6, 2019
54dc2d3
Fix legend
ankursarin Mar 6, 2019
2206b7d
Add first draft of Getting Started and CLI reference docs
Mar 14, 2019
677bd81
Update discovery
mothslaw Mar 15, 2019
cec368b
Add images for all workflows
ankursarin Mar 18, 2019
2105a98
Add Delphix Libraries
ankursarin Mar 18, 2019
c02c9e0
Make Reference pages consistent
ankursarin Mar 18, 2019
4322d75
Make Reference pages consistent (remove dlpx)
ankursarin Mar 18, 2019
d67fdba
Update Workflows based on feedback
ankursarin Mar 18, 2019
0233acc
nits
ankursarin Mar 19, 2019
73e060d
nits
ankursarin Mar 19, 2019
d9d2a7b
Stephen's comments
ankursarin Mar 19, 2019
50d34de
Update minor wording and layout in CLI docs
Mar 19, 2019
e554ab7
updated welcome page per Stephen
jas-sumal Mar 20, 2019
a7f6f6d
Few minor edits to the page.
jas-sumal Mar 20, 2019
f5f8d4f
Editing overview page.
jas-sumal Mar 20, 2019
c75baa3
Editing Initial_Setup page.
jas-sumal Mar 20, 2019
0029560
Edited Discovery page.
jas-sumal Mar 20, 2019
8274933
Add optional/required plugin operations
ankursarin Mar 20, 2019
158cfe5
Edited Data_Ingestion page
jas-sumal Mar 20, 2019
9119897
Switch Plugin Operation Columns, highlight
ankursarin Mar 20, 2019
0a63341
Fixed numbering issue
jas-sumal Mar 20, 2019
5e2fbf0
Added page for managing scripts for remote execution
Mar 21, 2019
0984b85
Edits to data Ingestion and Provisioning pages.
jas-sumal Mar 21, 2019
3ec86e1
Fixing numbering issue.
jas-sumal Mar 21, 2019
8598e89
Indicate required vs optionsal plugin operations
ankursarin Mar 21, 2019
baf9063
editing docs mMerge branch 'master' of gitlab.delphix.com:docs/virt-s…
jas-sumal Mar 21, 2019
0cea639
Edits to best practices section.
jas-sumal Mar 21, 2019
7820506
Add full example to managing scripts section and a common issue to Ge…
Mar 21, 2019
66f98dc
Fixed note.
jas-sumal Mar 21, 2019
3c27e91
edits. Merge branch 'master' of gitlab.delphix.com:docs/virt-sdk-docs
jas-sumal Mar 21, 2019
d3f2c1c
Update .hooksconfig
Mar 21, 2019
125a0b6
Fix examples and change note types
Mar 22, 2019
b5b2a06
Update copyright to 2019
Mar 22, 2019
a3bf3d4
Add Feature Flag instructions
ankursarin Mar 22, 2019
358b0ef
Update required vs optional plugin operations
ankursarin Mar 22, 2019
d095bfe
Fix some admonitions, copy edits
ankursarin Mar 22, 2019
5f87a49
Modify logging documents to change the old naming format to new format
shk08915 Mar 22, 2019
b2a8a78
Update logging with examples
ankursarin Mar 22, 2019
f4196ca
Update Sensitive Data to be consistent with run_bash
ankursarin Mar 22, 2019
7f41bc1
Fix a broken link in plugin operations
ankursarin Mar 22, 2019
d528ae0
Update code samples after getting intro plugin fully working
mothslaw Mar 22, 2019
5a90d71
Add survey links, edit pages for consistency
ankursarin Mar 24, 2019
275481d
Make "Survey" links
ankursarin Mar 25, 2019
8f9bad4
Fix command in inital setup and add to script execution
Mar 25, 2019
4a0e35c
Add reference for the plugin config file
Mar 25, 2019
de99845
initial plugin code changes
mothslaw Mar 26, 2019
c0bc4e2
Update for Python naming conventions
ankursarin Mar 26, 2019
fe1b136
Fix import in Discovery
ankursarin Mar 26, 2019
61ea92a
Change description of `log_info` writes to `info.log` and `info.log` …
shk08915 Mar 26, 2019
c1ea625
Move warnings about argument names
mothslaw Mar 27, 2019
4c878b3
Update Virtual Source Enable Workflow to include Status
ankursarin Mar 29, 2019
0a75278
Fix VirtualSourceEnable workflow
ankursarin Mar 31, 2019
3ab069d
Fix Mount class attributes
ankursarin Apr 1, 2019
92ec7af
Change the word Toolkit to Plugin to match the new standard.
shk08915 Apr 2, 2019
943be1c
Changing colors to new UX color scheme used in other docs
skdelphix Apr 3, 2019
30ea4c3
Added gitignore and modified build.sh
skdelphix Apr 3, 2019
d1025c2
Fix Virtual Source Status parameters
ankursarin Apr 3, 2019
8a6ee8e
Fix linked.status() decorator
ankursarin Apr 4, 2019
fc9fbbf
Fixing some basic typos/mistakes
Apr 4, 2019
a09d503
Update VirtualSource to add the mounts attribute
ankursarin Apr 8, 2019
e9b4fea
Remove TODOs, copy edits
ankursarin Apr 9, 2019
f02c824
Updated logging page
Apr 9, 2019
73249be
Fix broken links on Welcome page
ankursarin Apr 18, 2019
bdb62bc
Adding .md extension to links on index.md to fix directory routing in S3
skdelphix Apr 18, 2019
8b64fde
Fix Data Ingestion link
ankursarin Apr 18, 2019
2228259
Fix broken links
ankursarin Apr 28, 2019
9acdc7c
Update Logging format for plugin logs
shk08915 Apr 30, 2019
c6c995c
Update Logging format for plugin logs
shk08915 Apr 30, 2019
4987973
Update examples for logging
shk08915 Apr 30, 2019
72a7c43
PYT-434 "Basic Usage" and "Enable the Delphix Engine Feature Flag" su…
May 7, 2019
c62bea0
Add Java requirement to Getting Started page
May 7, 2019
4edacc7
Run_bash does not explain clearly how to send the arguments to the co…
shk08915 May 14, 2019
5179e7b
Initial draft of Release Notes
ankursarin May 20, 2019
27caecf
Update 0.4.0 release notes
ankursarin May 20, 2019
f07f24d
Address comments for the release notes
ankursarin May 20, 2019
8e78843
PYT-480 Add documentation for dvp download-logs
jeffngo May 20, 2019
66f1962
PYT-417 need to add snapshot_parameters to the docs for staged pre an…
nhlien93 May 20, 2019
d970580
PYT-505 Fix all doc links to use the same format and fix any broken l…
nhlien93 May 23, 2019
390a15b
Completed Release Notes and all related changes
ankursarin May 23, 2019
714d841
Remove white spaces in Release notes
nhlien93 May 23, 2019
6820f8f
Add code sharing documentation
May 23, 2019
85a19f9
Docs editing for beta
ankursarin May 24, 2019
e278243
Fix beta typos
ankursarin May 24, 2019
fe11f00
Edits for Beta
ankursarin May 24, 2019
34a7fde
Update code sharing
May 24, 2019
820d6fd
Change PyPI link to point to dvp project
May 24, 2019
d88c163
Change Release Note titles
ankursarin May 24, 2019
6ae3eda
Add upgrade instructions to the release notes
ankursarin May 24, 2019
9107de6
doc changes to include run_expect reponse
shk08915 Jun 11, 2019
e019a3b
PYT-432 Add Powershell exit code section
shk08915 Jun 19, 2019
570bf50
PYT-636 Fix Documentation for PYT-536 and PYT-537
shk08915 Jul 11, 2019
e3ef6fd
Update Getting Started for GA
Jul 17, 2019
02d620f
fix indentation issue in logging examples
shk08915 Jul 18, 2019
33403da
PYT-15 GA: Update the "your first plugin" docs to match GA code.
mothslaw Jul 19, 2019
9ad3a8c
Fix inconsistencies in Code Sharing
Jul 19, 2019
72f1db7
PYT-638 Write Documentation on limitations of swagger generated classes
nhlien93 Jul 19, 2019
ebd5e5a
PYT-658 GA: Update the docs with manuals on how to write config files…
jeffngo Jul 24, 2019
d483957
PYT-602 Document details about UserError that can be raised by plugin…
muralinimmagadda Jul 29, 2019
d185632
PYT-706 Document new plugin classes RemoteConnection, RemoteEnvironme…
muralinimmagadda Aug 5, 2019
7e26b1e
PYT-728 Release Notes for GA
ankursarin Aug 6, 2019
97419a7
PYT-730 Documentation Cleanup for GA
ankursarin Aug 8, 2019
d771a60
DOC-313 Add current version number to site title for virt-sdk-docs
delphix-jbf Aug 13, 2019
8a8c420
PYT-425 build error message has double backslashes
ravi-cm Aug 14, 2019
a6628c8
PYT-357 Allow hostType to be configured via dvp init
Aug 23, 2019
b6d94ea
PYT-755 Implement new jar build for multi-version support
Sep 14, 2019
1cca9ec
PYT-407 srcDir should be a sub directory of the plugin root
Sep 17, 2019
fd1cba7
PYT-742 update docs for pyt-357
Oct 9, 2019
7447a43
PYT-884 Update plugin docs to inform plugin writers of required param…
Oct 28, 2019
f7b743c
Update .hooksconfig
ankursarin Oct 30, 2019
1b72ebc
PYT-811 Add plugin wrapper calls to upgrade decorator
nhlien93 Oct 31, 2019
dac21a3
PYT-811 Add plugin wrapper calls to upgrade decorator (revert)
nhlien93 Nov 1, 2019
99c15b4
Update .hooksconfig
delphix-jbf Nov 4, 2019
4a4c110
Update .hooksconfig
delphix-jbf Nov 4, 2019
38695d7
PYT-822 Multiple mounts with python plugins requires plugin writers t…
Nov 6, 2019
3355e8e
Remove bad info from readme
mothslaw Nov 8, 2019
3ab9c97
PYT-928 Multi-version support: Update dvp build to build plugin with …
Nov 18, 2019
7ee463f
PYT-1006 test_install_plugin_dependencies_dev fails on ubuntu hosts
AleksandrLiber Nov 20, 2019
05c370a
PYT-1012 Fix SDK README
Nov 22, 2019
9e4f7d6
PYT-894 Prep repo: Write Contribution Guide
muralinimmagadda Dec 9, 2019
4509bc2
PYT-886 Move protobuf messages: remove protobuf build from the sdk re…
fdrozdowski Dec 12, 2019
222d799
PYT-893 Prep repo: Write README
Dec 13, 2019
1e6b41c
PYT-1036 Documentation should include example of required properties
mothslaw Dec 31, 2019
7b15667
PYT-899 Initial migration: Create codeowners file (#1)
Jan 6, 2020
01c3404
PYT-890, PYT-891, PYT-923, PYT-924, PYT-926: Remove Gradle, move to P…
fdrozdowski Jan 16, 2020
2c73c64
Fixes PYT-900 : Initial migration: Write pre commit action (#4)
muralinimmagadda Jan 29, 2020
75a8338
PYT-981 Document what to do when migrations are not sufficient (text)
mothslaw Feb 12, 2020
364196e
PYT-981 Document what to do when migrations are not sufficient (text)…
mothslaw Feb 12, 2020
0595533
Merge Gitlab's master branch into GitHub's develop branch (#86)
fdrozdowski Mar 6, 2020
6e2f4bb
Fix CLI tests after Click 7.1 release (#90)
fdrozdowski Mar 10, 2020
251816a
Update CODEOWNERS to match reviewboard (#92)
ankursarin Mar 10, 2020
ceed0ad
PYT-1103 No error displayed by the dvp upload command when file uploa…
jeffngo Mar 13, 2020
168609e
Update the README and contribution guidelines to reflect the new deve…
fdrozdowski Mar 13, 2020
d90a24b
PYT-1248 Merge plugin upgrade docs into master VSDK docs
fdrozdowski Mar 31, 2020
0ed9f5d
PYT-1274 Comment out any TODOs in the Virtualization SDK docs
jeffngo Apr 20, 2020
c5e11d9
PYT-1275 Add upgrade workflow to virtualization SDK docs
jeffngo Apr 21, 2020
676012f
PYT-868 Lua to Python - Change plugin config to expect optional lua n…
jeffngo Apr 22, 2020
7b477ac
PYT-1257 Document requirements for successful inactive plugin upgrade
ravi-cm Apr 22, 2020
6194a4c
Revert "PYT-868 Lua to Python - Change plugin config to expect option…
jeffngo Apr 24, 2020
e140b5a
Fixes #96 dvp init hitting TypeError on Windows10 (#99)
muralinimmagadda Apr 24, 2020
ed306cf
Fixes #91 Move docs into SDK repo (#91)
fdrozdowski Apr 29, 2020
76b0690
Remove hooksconfig
fdrozdowski Apr 29, 2020
1c147e2
Modify SDK version format to be compatible with PEP440 (#106)
fdrozdowski Apr 30, 2020
ad958e5
Merge pull request #105 from fdrozdowski/release-docs-2.0.0
fdrozdowski Apr 30, 2020
5636d1f
SDK 2.0.0 Docs review (fixes #100) (#109)
ankursarin May 1, 2020
eaf409e
Point the SDK to dvp-api 1.1.0 (#108)
fdrozdowski May 1, 2020
37a4f6d
Fix bumpversion config and bump SDK version to 2.0.0 (#112)
fdrozdowski May 5, 2020
4ee103b
Add SDK 2.0.0 Release Notes (closes #113) (#114)
ankursarin May 5, 2020
fe0e56f
Merge branch 'release/2.0.0' into merge_2.0.0_master
fdrozdowski May 6, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[bumpversion]
current_version = 2.0.0
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<dev>\d+))?
serialize =
{major}.{minor}.{patch}.{release}{dev}
{major}.{minor}.{patch}

[bumpversion:part:release]
optional_value = prod
first_value = dev
values =
dev
prod

[bumpversion:part:dev]

[bumpversion:file:./dvp/src/main/python/dlpx/virtualization/VERSION]

[bumpversion:file:./common/src/main/python/dlpx/virtualization/common/VERSION]

[bumpversion:file:./platform/src/main/python/dlpx/virtualization/platform/VERSION]

[bumpversion:file:./libs/src/main/python/dlpx/virtualization/libs/VERSION]

[bumpversion:file:./tools/src/main/python/dlpx/virtualization/_internal/VERSION]

1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @ankursarin @fdrozdowski @nhlien93 @crystalplumage
92 changes: 92 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Pre-commit actions for Delphix Virtualization SDK

on: [pull_request]

jobs:
pytest:
name: Test ${{ matrix.package }} on ${{ matrix.os }} using pytest
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 4
matrix:
python-version: [2.7]
os: [ubuntu-latest, macos-latest]
package: [common, libs, platform, tools]

steps:
- name: Checkout ${{ matrix.package }} project
uses: actions/checkout@v1

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install ${{ matrix.package }} dependencies
working-directory: ${{ matrix.package }}
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt --find-links https://test.pypi.org/simple/dvp-api/

- name: Install ${{ matrix.package }} project
working-directory: ${{ matrix.package }}
run: |
pip install . --find-links https://test.pypi.org/simple/dvp-api/

- name: Test ${{ matrix.package }} project with pytest
working-directory: ${{ matrix.package }}
run: |
python -m pytest src/test/python

lint:
name: Lint ${{ matrix.package }}

runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
package: [tools]

steps:
- name: Checkout ${{ matrix.package }}
uses: actions/checkout@v1

- name: Set up Python 2.7
uses: actions/setup-python@v1
with:
python-version: 2.7

- name: Install flake8
run: |
python -m pip install --upgrade pip
pip install flake8

- name: Run flake8 on src directory
working-directory: ${{ matrix.package }}
run: python -m flake8 src/main/python --max-line-length 88

- name: Run flake8 on test directory
working-directory: ${{ matrix.package }}
run: python -m flake8 test/main/python --max-line-length 88

#format:
#name: Check format ${{ matrix.package}}

#runs-on: ubuntu-latest
#strategy:
#max-parallel: 4
#matrix:
#package: [common, libs, platform, tools]

#steps:
#- uses: actions/checkout@v1

#- name: Check src format
#uses: lgeiger/black-action@v1.0.1
#with:
#args: "${{ matrix.package }}/src/main/python -t py27 --check"

#- name: Check test format
#uses: lgeiger/black-action@v1.0.1
#with:
#args: "${{ matrix.package }}/src/test/python -t py27 --check"
9 changes: 0 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
# Copyright (c) 2019 by Delphix. All rights reserved.
#

# Non-build Gradle files
.gradle/

# IntelliJ config files
.idea/

Expand Down Expand Up @@ -38,9 +35,3 @@ venv/
# Python cache
__pycache__

# Generated protobuf files
*_pb2.py

# Generated python build files
Pipfile
setup.py
10 changes: 7 additions & 3 deletions .hooksconfig
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
[gate]
name = virtualization-sdk
shortname = sdk
slack-url = https://hooks.slack.com/services/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
slack-color = 1AD6F5
slack-url = https://hooks.slack.com/services/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
slack-color = 1AD6F5
slack-notify = virt-sdk-pushes
approvers = gatekeepers-virtualization-sdk
tags-allowed = true

[branch "master"]
gate-release-check = skip
gate-allowed-issuetypes = 1,3,4,5,10001,10302

[branch "projects/plugin-upgrade"]
gate-allowed-issuetypes = 1,3,4,5,10001,10302
gate-comment-check = on
gate-review-check = on
87 changes: 87 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Virtualization SDK Contribution Guide

*First of all, thanks for taking the time to contribute to the virtualization-sdk project!*

By following these guidelines you can help us make this project even better.

# Table of Contents
[Getting Started](#getting-started)

[How to Build the SDK from Source](#how-to-build-the-sdk-from-source)

[Asking for Help](#asking-for-help)

[How to Contribute](#how-to-contribute)

* [How to Raise Pull Requests](#how-to-raise-pull-requests)
* [Code Owners](#code-owners)

[Testing and CI/CD](#testing-and-ci/cd)

[Coding Guidelines](#coding-guidelines)

* [Commit Message Format](#commit-message-format)


## Getting Started
The virtualization-sdk is distributed as a Python package called [dvp](https://pypi.org/project/dvp/). Install it in your local development environment so that you can build and upload a plugin.


## How to Build the SDK from Source
The virtualization-sdk repository can be built from source on GitHub as described below.

### Fork the virtualization-sdk Repository

First step is to fork the virtualization-sdk repository. Please refer to [Forking a GitHub Repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) for instructions.

### Clone the virtualization-sdk Repository

Once the virtualization-sdk repository is forked, clone the forked repository into a local copy on your computer. Please refer to [Cloning a Forked Repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) for instructions.

`git clone git@github.com:your-username/virtualization-sdk.git`

### Development

For development instructions, refer to [README-dev.md](https://github.com/delphix/virtualization-sdk/blob/develop/README-dev.md).

## Asking for Help
Please raise a GitHub issue to ask for help with appropriate GitHub tag <TBD - Label for help>.

## How to Contribute

### How to Raise Pull Requests
This repository uses GitHub standard pull request model. Once the changes are made locally and committed to the forked repository and tested, a pull request can be raised using the pull request template <TBD - Link to pull-request template> for the changes to be reviewed.

Some guidelines for Pull Requests:

* All pull requests must be based on the current master branch and apply without conflicts.
* All GitHub Actions checks should succeed. Please refer to [Testing and CI/CD](#testing-and-cicd) for details.
* Please attempt to limit pull requests to a single commit which resolves one specific issue.
* Make sure your commit messages are in the correct format as specified at [Commit Message Format](#commit-message-format)
* When updating a pull request squash multiple commits into one and perform a rebase. You want all your changes to be included in one commit replayed on top of master branch of the virtualization-sdk.
* For large pull requests consider structuring your changes as a stack of logically independent patches which build on each other. This makes large changes easier to review and approve which speeds up the merging process.
* Try to keep pull requests simple. Simple code with comments is much easier to review and approve.
* Test cases should be provided when appropriate.

Once the pull request has required approvals from code owners of the repository, the code owner will merge the pull request into the actual virtualization-sdk repository.

### Code Owners
Code owners defined by the codeowners file in the repository are the gatekeepers of the repository. For a pull request to be merged, it requires approval from at least one codeowner.

## Testing and CI/CD
CI/CD for this repository is managed through GitHub Actions. All the checks need to succeed for the pull request to be merged.

## Coding Guidelines
### Commit Message Format
Commit messages for new changes must meet the following guidelines:
* Every commit message should have a GitHub issue id that it addresses and its title.
* Every commit message can have an optional Description of the issue. Though it is optional it is highly recommended to provide one to summarize important information about the fix.
* Each line of the description must be 72 characters or less.
* Sample commit message to address issue 123 with title "Format of error is incorrect":

`Fixes #123 Format of error is incorrect`

`Optional Description of the issue`
* If the commit doesn't address a specific issue, it should include a description of changes.


Loading