Skip to content

Fixes #401 Networking capabilities should be documented #402

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Oct 27, 2021

Conversation

mothslaw
Copy link
Contributor

@mothslaw mothslaw commented Oct 4, 2021

Context:

Our docs currently do not mention networking at all.

This diff adds a "best practices" page about networking.

Problem:

Plugin writers today can't find out info about when they can/cannot use the network.

Solution:

Gave a quick explanation of when network access is possible, with a couple of tips for how to best do networking in a plugin context.

Testing

Set up a local docs server and read through the new changes.

Notes To Reviewers:

Since this makes no functional change, this should count as a "patch" for purposes of bumping the version. Therefore, I ran "bumpversion patch", as this is the first change after an official release. Thus the version moves from 3.1.0 to 3.1.1.dev0.

I think Kurt will very soon be adding other changes that will bump the minor version (to 3.2.0) and therefore we'll never actually release a 3.1.1. Still, I think that 3.1.1.dev0 is the right thing to do for this diff.

Future work:

Although I added stuff about strings (see below), there is more work that could be done here. This additional work is covered by Issue #385.

Bonus:

I also added some more doc improvements, based on recent discussions with plugin developers:

  • Notes about interpreter lifetimes.
  • Notes about which libraries/modules are available
  • Much more information about string processing/handling in a plugin context.
  • My editor auto-removed some unnecessary whitespace at the end of some lines.

Comment on lines +28 to +32
2) Some Python libraries include native code (often written in C or C++). There is no support for using
such libraries with plugin code. The reason for this is that native code needs to be
specially compiled and built for the machine that it the library will be running on. And, unfortunately,
the machine your plugin runs on (the Delphix Engine) is likely very different from the machine you use
to develop and build your plugin.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we tell them that they can use any linux x86 compatible libraries?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was a little torn on this. I thought there were probably two good options:

  1. Leave it vague like this. This gives enough clues to people who know what they're doing so that they know that they need to match architectures of binaries. This doesn't really help people who don't already know about binary packages and/or cross-compilation of source code, though.

  2. Put in a ton more information, including examples. This would hopefully give everyone enough information to do what they need to do.

For now, I thought (1) was okay. I figured that we were likely going to be closing in on a real supported solution for 3rd-party libraries soon... and at that point we could expand this doc into something more generally useful.

What do you think?

Comment on lines +21 to +32
### Warnings
There are two major things to watch out for if you decide to incorporate a 3rd-party library.

1) Make sure you're legally allowed to do so! The licensing agreement on the module will decide if, and
under what circumstances, you're allowed to make copies of, and redistribute the module. Some modules will
allow this, some will disallow this, and some will allow this for a fee.

2) Some Python libraries include native code (often written in C or C++). There is no support for using
such libraries with plugin code. The reason for this is that native code needs to be
specially compiled and built for the machine that it the library will be running on. And, unfortunately,
the machine your plugin runs on (the Delphix Engine) is likely very different from the machine you use
to develop and build your plugin.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we move this to the code sharing best practices section?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Today, the "code sharing" section really doesn't talk about 3rd-party code at all. It's focused on how plugin code can be broken up into separate modules.

So, my thinking here was...

  • That code sharing section can stay as-is for now.
  • This new section is a kind of "stub" where we say that we don't really support 3rd-party code yet, but if you need it anyhow, here's how you can hack it.
  • Soon, we'll really support 3rd-party code, and this stub can be replaced with its own page describing whatever we settle on as the recommended way to do it.

I do think that at least a link from code sharing back to this section would be good, though. I can add that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the link. Let me know if you think the rest is okay.

@kurthdelphix
Copy link
Contributor

Based on my recent experience, bumping the version will affect the QA blackbox tests AFAIK, maybe you would find it easier to wait for my changes to go in and leverage that version change.

Copy link
Contributor

@jeffngo jeffngo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me... especially the page on python strings. That was a good read.

@mothslaw mothslaw merged commit 8104a03 into delphix:develop Oct 27, 2021
mrburke pushed a commit that referenced this pull request Jan 12, 2022
* DOC-1074 Document password vault support for VSDK plugins (#347)

* Correct Typo in Example, it should be UNIX not WINDOWS (#360)

* Add documentation for gRPC message and memory limits #390 (#391)

* Fix version number in doc header (#358) (#397)

* Update Delphix Engine version required to 6.0.7.0. (#386) (#398)

* Update SDK Docs deployment to use a deploy_key (#392) (#399)

* CP-6005 Ensure vSDK test coverage (#403)

* CP-6006 Futurize vSDK - Stage 1 (#404)

* Add support for virtualCleanup decorator (#400) (#405)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Fixes #401 Networking capabilities should be documented (#402)

Fixes #401 Networking capabilities should be documented

* CP-6009 Add to_str and to_byte helpers (#407)

* CP-6621 bump sdk version to 4.0.0 (#409)

* CP-6694 Update docs for SDK 4.0.0 (#410)

* CP-7022 vSDK 4.0.0 release tasks

* Update VirtualDelete flow diagram to include the virtual.cleanup call. (#414)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Update documentation with new gRPC message limits (#415)

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>
mrburke pushed a commit to mrburke/virtualization-sdk that referenced this pull request Jan 13, 2022
* DOC-1074 Document password vault support for VSDK plugins (delphix#347)

* Correct Typo in Example, it should be UNIX not WINDOWS (delphix#360)

* Add documentation for gRPC message and memory limits delphix#390 (delphix#391)

* Fix version number in doc header (delphix#358) (delphix#397)

* Update Delphix Engine version required to 6.0.7.0. (delphix#386) (delphix#398)

* Update SDK Docs deployment to use a deploy_key (delphix#392) (delphix#399)

* CP-6005 Ensure vSDK test coverage (delphix#403)

* CP-6006 Futurize vSDK - Stage 1 (delphix#404)

* Add support for virtualCleanup decorator (delphix#400) (delphix#405)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Fixes delphix#401 Networking capabilities should be documented (delphix#402)

Fixes delphix#401 Networking capabilities should be documented

* CP-6009 Add to_str and to_byte helpers (delphix#407)

* CP-6621 bump sdk version to 4.0.0 (delphix#409)

* CP-6694 Update docs for SDK 4.0.0 (delphix#410)

* CP-7022 vSDK 4.0.0 release tasks

* Update VirtualDelete flow diagram to include the virtual.cleanup call. (delphix#414)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Update documentation with new gRPC message limits (delphix#415)

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>
mrburke pushed a commit that referenced this pull request Jan 13, 2022
* DOC-1074 Document password vault support for VSDK plugins (#347)

* Correct Typo in Example, it should be UNIX not WINDOWS (#360)

* Add documentation for gRPC message and memory limits #390 (#391)

* Fix version number in doc header (#358) (#397)

* Update Delphix Engine version required to 6.0.7.0. (#386) (#398)

* Update SDK Docs deployment to use a deploy_key (#392) (#399)

* CP-6005 Ensure vSDK test coverage (#403)

* CP-6006 Futurize vSDK - Stage 1 (#404)

* Add support for virtualCleanup decorator (#400) (#405)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Fixes #401 Networking capabilities should be documented (#402)

Fixes #401 Networking capabilities should be documented

* CP-6009 Add to_str and to_byte helpers (#407)

* CP-6621 bump sdk version to 4.0.0 (#409)

* CP-6694 Update docs for SDK 4.0.0 (#410)

* CP-7022 vSDK 4.0.0 release tasks

* Update VirtualDelete flow diagram to include the virtual.cleanup call. (#414)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Update documentation with new gRPC message limits (#415)

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>
mrburke pushed a commit that referenced this pull request Jan 20, 2022
* CP-7022 vSDK 4.0.0 release tasks (#416)

* Bumping sdk to 4.0.2 and dvp-api to 1.6.3 due to bad upload of dvp-api 1.6.1 to pypi (#419)

* Release (#418)

* DOC-1074 Document password vault support for VSDK plugins (#347)

* Correct Typo in Example, it should be UNIX not WINDOWS (#360)

* Add documentation for gRPC message and memory limits #390 (#391)

* Fix version number in doc header (#358) (#397)

* Update Delphix Engine version required to 6.0.7.0. (#386) (#398)

* Update SDK Docs deployment to use a deploy_key (#392) (#399)

* CP-6005 Ensure vSDK test coverage (#403)

* CP-6006 Futurize vSDK - Stage 1 (#404)

* Add support for virtualCleanup decorator (#400) (#405)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Fixes #401 Networking capabilities should be documented (#402)

Fixes #401 Networking capabilities should be documented

* CP-6009 Add to_str and to_byte helpers (#407)

* CP-6621 bump sdk version to 4.0.0 (#409)

* CP-6694 Update docs for SDK 4.0.0 (#410)

* CP-7022 vSDK 4.0.0 release tasks

* Update VirtualDelete flow diagram to include the virtual.cleanup call. (#414)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Update documentation with new gRPC message limits (#415)

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>

* Release (#418) (#421)

* DOC-1074 Document password vault support for VSDK plugins (#347)

* Correct Typo in Example, it should be UNIX not WINDOWS (#360)

* Add documentation for gRPC message and memory limits #390 (#391)

* Fix version number in doc header (#358) (#397)

* Update Delphix Engine version required to 6.0.7.0. (#386) (#398)

* Update SDK Docs deployment to use a deploy_key (#392) (#399)

* CP-6005 Ensure vSDK test coverage (#403)

* CP-6006 Futurize vSDK - Stage 1 (#404)

* Add support for virtualCleanup decorator (#400) (#405)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Fixes #401 Networking capabilities should be documented (#402)

Fixes #401 Networking capabilities should be documented

* CP-6009 Add to_str and to_byte helpers (#407)

* CP-6621 bump sdk version to 4.0.0 (#409)

* CP-6694 Update docs for SDK 4.0.0 (#410)

* CP-7022 vSDK 4.0.0 release tasks

* Update VirtualDelete flow diagram to include the virtual.cleanup call. (#414)

Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>

* Update documentation with new gRPC message limits (#415)

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>

Co-authored-by: Raul Santelices <rasantel@users.noreply.github.com>
Co-authored-by: Ranzo J Taylor, III <36489926+Ranzo3@users.noreply.github.com>
Co-authored-by: Jeff Ngo <35587243+jeffngo@users.noreply.github.com>
Co-authored-by: Ankur <ankursarin@gmail.com>
Co-authored-by: kurthdelphix <89274759+kurthdelphix@users.noreply.github.com>
Co-authored-by: Kurt Hutchison <kurth.hutchison@delphix.com>
Co-authored-by: Tom Walsh <61519496+mothslaw@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants