anaconda / nb_conda

Conda environment and package access extension from within Jupyter
BSD 3-Clause "New" or "Revised" License
140 stars 32 forks source link

Failure to fetch channel metadata is confusing at UI and notebook.log levels #52

Open timsnyder opened 7 years ago

timsnyder commented 7 years ago

Observed Behavior

I run nb_conda behind a corporate firewall in Anaconda Enterprise Notebooks 4.X. I had channels on anaconda.org specified in /opt/wakari/anaconda/.condarc that caused SSL verification errors because I was missing the ssl_verify setting.

When I went to nb_conda's 'Conda' tab in a notebook session, it would sit there for a very long time, trying to fetch the channel metadata and then finally fail. However, the only indication that there was a failure in the nb_conda user-interface was that it finally showed a single checkbox and said "undefined" Packages Available.

confusing_failure_to_enumerate_available_packages

In the notebook.log, the only thing that indicates failure is a 'Status 1' message instead of 'Status 0'.
long_eventual_failure_to_collect_available_packages.txt

Successful fetch of available packages looks like quick_successful_available_packages.txt

Note that the failure log shows that it took ~2 minutes for the failure to finally resolve

Desired Behavior

  1. It doesn't take conda 2 minutes to try and fetch the channel metadata. The failure should happen faster.
  2. When you get 'Status 1' from conda, the output should:
    • definitely go into the notebook.log
    • optionally be able to be emailed to the AEN administrator
  3. Something better than "undefined" Packages Available should indicate an error happened to the user. Possibly presenting the output of conda to the user letting them know that the admins have been notified. At a minimum, it should tell the user that an error happened and ask them to report it to the admin (using a configurable admin email address). A better solution would allow me to configure nb_conda or AEN as a whole with custom Javascript behind a form that would integrate with our issue tracking system. For example see https://confluence.atlassian.com/adminjiraserver071/advanced-use-of-the-jira-issue-collector-802592648.html

cc: @mrduane I'm skipping the support.continuum.io ticket with this topic but want to at least let you know about it.

damianavila commented 7 years ago

An early failure when you can not reach anaconda.org or Repo would be nice, I agree.