Azuredatastudio: Provide a documented method to install Azure Data Studio and dependancies in Secure Environments

Created on 16 Nov 2020  路  3Comments  路  Source: microsoft/azuredatastudio

Is your feature request related to a problem? Please describe.
The current experience of installing Azure Data Studio on systems that are either behind Proxy servers or not connected to Internet is extremely time-consuming and frustrating.
When trying to install or use Azure Data Studio on machines that are not left wide open to Internet the following issues always occur

  1. Automatic update of Azure Data Studio never works. Throws a meaningless error.
    This problem can be worked around by downloading the latest installation file
  2. Installation or update of all of the secondary dependancies has the exact same issues. The notebook "feature" requires a Python installation and the Offline installation of this component is even more hopeless. There is now clear indication of
    (a) Which version of Python are supported
    (b) Where this should be downloaded from
    (c) Which additional pip files are required (and when these change)
    (d) Where pip files can be downloaded from
    (e) How pip files are installed
    (f) The fact that they are changing. Installing Ver 1.2.4 had a hidden upgrade of requiring an upgrade of the PowerShell pip file.
  3. All of the VSIX files also need to be manually downloaded and installed.

Describe the solution or feature you'd like
A clearly documented method to download and install ALL of required components and not just the main executable. The design of Azure Data Studio is such that almost all functionality requires additional components and these should be clearly listed and available to install
New releases should clearly document when they are dependant on upgrades to other components.

Describe alternatives you've considered
The only alternative outside of spending hours trying to resolve the poor offline installation experience is to simply abandon use entirely. Azure Data Studio without extensions and Python installed is basically unusable.

Additional context
The same program that cannot install any of its own required extensions can successfully install the latest version of Powershell. After having to manually install Ver 1.2.4 I was able to update Powershell to V7.1 .

Area - Connection Bug Done

All 3 comments

I have been trying to get this to work using a windows 10 hyper-v machine, the dev quick create version.

I failed to get the notebook experience working. I followed these steps

Download ADS 1.25.1 user from Download and install Azure Data Studio - Azure Data Studio | Microsoft Docs

Download Python 3.9.1 from Download Python | Python.org

Download notebook zip 6.2 from Releases 路 jupyter/notebook (github.com)

Download node.js from Download | Node.js

Create dir
Create constraints.txt

Add
backcall==0.1.0
bleach==1.5
html5lib==0.9999999
parso==0.3.1
tornado==4.2 and then 6.1
pyzmq==17.1

To text file

Run

py -m pip download -d ./jup_env/jupyterinstall jupyter==1.0.0 -c constraints.txt

Copy directory and all files to VM

Install, install, install

I then cd to the Jupyter install directory and ran

py -m pip install --no-index --find-links=c:\jupyterinstall jupyter

but this repeatedly failed at various points either due to tornado 4.2, tornado 6.1 or argon-cffi

at this point I gave up.

I also tried extracting the notebook zip and running

Cd to extracted path

python setup.py install --single-version-externally-managed --root=/

But that failed also.

@chlafreniere , @yualan , @markingmyname, @lucyzhang929 - FYI.

We have been investing in SQL & PowerShell notebooks to create a robust troubleshooting Book that can be used by our large (~50 person) DBA team to use to support our production environment. Some servers are ONLY accessible from secure, internet-disconnected RDP "jump servers" and any troubleshooting tools must be installed in a completely offline manner on those servers.

Additionally, some of the team is outsourced contractors, who depend on accessing internet-disconnected jump servers as their primary domain-joined access. (Using internet-connected virtual desktops isn't an option due to internal/political reasons).

Getting ADS up and running by itself is an OK experience -- downloading the installer + a number of vsix packages is doable. However, getting PowerShell Notebooks to work is a seeming herculean feat. Similar to Mr Sewell's experience, the bird's nest of dependencies to get this minimally working has been (at best) discouraging, and frankly threatens the success of the solution for our team.

I have essentially done one-by-one "download, copy, install, try to open a notebook, parse errors, identify missing pip package, repeat" .... all the while attempting to keep track of the list of packages & versions so that we can automate this install on other jump servers. My concern is that even if I get this working, the maintenance & updates of all these python packages (50? 75? 100?) will be an untenable to maintain long-term.

Was this page helpful?
0 / 5 - 0 ratings