frazer-lab / cluster

Repo for cluster issues.
1 stars 0 forks source link

Testing a CentOS7 updated JupyterHub #217

Closed tatarsky closed 4 years ago

tatarsky commented 7 years ago

So basically I've started fresh with a C7 built Python and a fresh pip of the hub code and the spawners and the notebooks. This may require some work to merge in the efforts of the last Hub but I believe we can now safely do this without breaking the old one.

If you are interested in debug/testing there is a C7 only Hub running here:

https://flh2.ucsd.edu:9000

Accept the self-signed certificate for now.

You will only be asked one choice to spawn right now: the C7 Profile. (As the python I am using is linked to newer libraries only in C7) and I've disabled the use of the old cn12 node for a bit in the queue involved.

Please see if basic functionality works and then I will start working from past Git issues to put back some items.

tatarsky commented 7 years ago

Attempting to add to the fl-hn2 hub the notebook extension we did in #208

tatarsky commented 7 years ago

OK. Got the TOC back. Working on the dashboard steps.

tatarsky commented 7 years ago

Dashboards also added from https://github.com/jupyter/dashboards

tatarsky commented 7 years ago

Email sent with summary. Advise if you think the C7 hub is missing anything! (or not working for that matter)

hirokomatsui commented 7 years ago

Great, thanks!

tatarsky commented 7 years ago

This BTW @hirokomatsui places the upgrade "ball" back in the court of you folks to confirm/deny things work for you via that system. Then we can talk about further node updates or even fl-hn1. Up to you.

But I would strongly advise some testing....

tatarsky commented 7 years ago

Hub down for a bit while I make a new SGE cell for C7 systems.

tatarsky commented 7 years ago

Please note the new hub will likely stay on fl-hn2 going forward unless a compelling reason to have it move comes up. So free free to use it on flh2. The URL is:

https://flh2.ucsd.edu:9000/

report any missing functionality.

billgreenwald commented 7 years ago

Hey Paul,

Here are some differences/missing functionality I have noticed so far. I will number them so we can refer to them more easily moving forward:

1) The html layout within the notebooks looks different. This is from the old: old_table and this is from the new: new_table 2) The hub itself has some new features; is this a different version of the hub that is being run? The old hub did not have a way to view when a file was created, and didn't let you sort or reorganize. Also, the text editor lets you select a language and it will syntax-highlight for you. Also some iconography looks updated, but thats not really an issue, just related to the "is this a new version" question 3) I can no longer view PDFs in the hub. The hub saves them correctly from python, but cannot open them, or download them properly. If I go into the hub and make a pdf, then switch to my personal server and download/view the file, it works fine. The error I get is:

Error!  /frazer01/home/bill/T2D/HiC/figures/Chromatin_State-Overlap-Enrich-withCIs-ATAC-merge.pdf is not UTF-8 encoded
Saving disabled.
See Console for more details.

I cannot copy or paste from this document, or type in any way. Had to manually transcribe the error over

4) I am no longer an admin on the hub, so I am not sure if the backend changed at all.

No rush on these, I can work on my personal server in the mean time. happy to debug when you have time

tatarsky commented 7 years ago
  1. The hub is the latest version of the hub code from the github. Figured we should keep up with things when we do upgrades to not fight with bugs that are fixed in later revisions. Downside, sometimes revisions make new bugs or change things.

4 I will restore admins when done with the migration.

Will look at the rest when done with other items.

tatarsky commented 7 years ago

Looking at this now. Will prep items that require a restart or not and advise.

tatarsky commented 7 years ago

I am seeing this error for joreyna which may be actually an SSH matter.

Enter passphrase for /frazer01/home/joreyna/.ssh/id_rsa:

I'm not exactly sure where that is coming from. But I'm looking.

tatarsky commented 7 years ago

It appears to be in your dotfiles and is blocking your qsub as its done as a sudo. You may need to bracket such a concept with a check of the type of shell.

its in the setup of your ssh-agent.

tatarsky commented 7 years ago

So Number 3 I think is a functionality change. When I click on a PDF I see that the File bar contains now a few options:

hubnew

If I click "View" I get the PDF viewer built into my browser. If I double click or click Edit I think the Hub now assumes you want to edit that file and since it doesn't have a way to do that it barfs.

Can you confirm the same @billgreenwald ? (at your convenience)

tatarsky commented 7 years ago

Oh and clicking on the file name link definitely invokes "Edit" not "View".

tatarsky commented 7 years ago

And I can confirm that when you try to edit something that the hub doesn't have a matching language the loss of copy and paste is "amusing". I have no idea how they tell the browser that something cannot be copy and pasted.

tatarsky commented 7 years ago

So for number one (table format) I suspect a format change between Notebook version 4 (what the system default was in previous config) and Notebook version 5. I will see if I can spot that in the change log. But the versions now running are:

jupyter (1.0.0) jupyter-client (5.1.0) jupyter-console (5.2.0) jupyter-core (4.3.0) jupyter-dashboards (0.7.0) jupyterhub (0.7.2) notebook (5.2.0)

And before

jupyter-client (4.4.0) jupyter-core (4.3.0) jupyter-dashboards (0.6.1) jupyterhub (0.7.2) notebook (4.4.1)

I think tables are rendered by notebook itself.

While I could try to run the old version, I'd like to at least try to keep up with the development fairly regularly as its hard to fix bugs against older items. But probably on a defined schedule to keep it calm.

Advise how you want to proceed when you can.

tatarsky commented 7 years ago

Regarding #3 I see a long argument about what file extensions should be passed to view v.s. edit by default. Not sure how it came out but this appears in the 5.2.0 changelog:

Make all files in the dashboard editable by default and provide a whitelist of viewable file extensions (PR #2911).

https://github.com/jupyter/notebook/pull/2911/

I'll try to determine what that means.

tatarsky commented 7 years ago

I think the table format item (number one) is also mentioned here

http://jupyter-notebook.readthedocs.io/en/stable/changelog.html

per being consistent with something called JupyterLab

https://github.com/jupyter/notebook/pull/1776/

So I believe 1 and 3 are a result of the default Notebook code going to 5.2.0.....

Number 4 I have ready next hub start. Is nnariai still needed as a Hub admin? I believed he was gone.

billgreenwald commented 7 years ago

Sorry for the long delay. Completely forgot about this; Im able to spend some time figuring this out now.

If I click "View" I get the PDF viewer built into my browser. If I double click or click Edit I think the Hub now assumes you want to edit that file and since it doesn't have a way to do that it barfs. Can you confirm the same @billgreenwald ? (at your convenience)

Yes this is true--I didnt catch it before. I dropped a question over in jupyter/notebook#2911 which you linked two comments up. I'll let you know if I hear back.

I think tables are rendered by notebook itself.

There is a built in way to edit the html display of a notebook. You can pretty much edit the CSS of anything in it. I have no experience, but @joreynajr does. Maybe he has some ideas of a file we could edit and replace the new table CSS with the old? And if not everyone wants to use the old style, I can edit the wiki and tell people how to do it on a case by case basis.

Alternatively, as you linked, they updated it to look like jupyterlab, which is a beta program they are trying to test out that gives a ton more functionality to jupyter notebooks. Its like notebook version 2.0. It's probably better for me to just get used to the change if its going to be this way in the future.

Number 4 I have ready next hub start. Is nnariai still needed as a Hub admin? I believed he was gone.

Yea he is gone. No need.

tatarsky commented 7 years ago

Number4: I'm happy to restart the hub at any time to add back in the admins. The name of the config item changed and I didn't notice it. I see no way to "reload config" but I'll look and see if they added that at some point.

Number 1: As for the CSS item, whatever works for people is fine with me. I have no real experience with that either.

For the purposes of a sysadmin doing the support of this I tend to track what "the author" releases. If folks want to branch though you just need to advise me what files are modified so we don't clobber them. But I'm happy to grant perms to modify details like that if we can figure out where they are ;)

In a perfect world I guess it would be a "user config" to modify the CSS. But again something I don't know anything about.

Number 3: You and I both didn't catch it because frankly its rather odd and confusing ;)

I will also mention we could in theory I believe run another hub on fl-hn1 to act as a "test hub" or something. Boils down to what versions.

Let me know what folks find. We'll just leave this to chat about enhancements to the Hub.

tatarsky commented 7 years ago

Or we could mess with jupyterlab for that matter on fl-hn1.....

tatarsky commented 7 years ago

Two second CSS find down the tree and I see what looks like some kind of "theme" concept? Is that perhaps a way to capture a whole set of appearance items? Sorry I don't know much about the actual workings of Notebooks.

cd software/python-3.3.7/lib/python3.3/site-packages/jupyter_dashboards/nbextension/notebook/bower_components/jquery-ui/themes
ls
base       blitzer    dark-hive  eggplant     flick       humanity  mint-choc  pepper-grinder  smoothness    start  swanky-purse  ui-darkness   vader
black-tie  cupertino  dot-luv    excite-bike  hot-sneaks  le-frog   overcast   redmond         south-street  sunny  trontastic    ui-lightness

No rush ever on answers, just curious if anyone knows what those are. I'll Google around more shortly.

billgreenwald commented 7 years ago

I think leaving the CSS alone is fine for now. I think they have "themes" but havent looked into it myself too much.

Someone responded in the other github thread; I dont think I can change the jupyter hub info, but in the file

notebook/notebook/static/tree/js/notebooklist.js

could you change line 560 from `` var image_type = ['bmp', 'gif', 'jpg', 'jpeg', 'png', 'webp'];

to

var image_type = ['bmp', 'gif', 'jpg', 'jpeg', 'png', 'webp', 'pdf'];



that should switch the default setting to view for pdfs and fix this issue.  Their exact answer in the thread may be more helpful.
billgreenwald commented 7 years ago

According to this thread they updated the core structure as per my suggestion.

Its probably better if you just update the jupyter notebook version you are running to the newest master version to pull the changes across

tatarsky commented 7 years ago

OK. I am not tracking master I don't believe but a released version. But I'll check what is involved.

tatarsky commented 7 years ago

Pretty simple change for that item even with the core structure diff. I may just manually merge it.

Do you think that would affect currently running notebooks?

Then I'm trying to determine best way to track the python for the notebook going forward. I had just been using pip.

billgreenwald commented 7 years ago

I dont think that it would hurt anything currently running

tatarsky commented 7 years ago

Hmm. Well, I tried to apply the same commit but perhaps there are more items between 5.2.0 and master. I restarted my hub and notebook and saw no change. I'll leave the diff in there for a bit in case I see some reason for that but I'll probably have to look at pip -> git master for this one.

I am going to try adding "pdf" to the list of image files in a second.

tatarsky commented 7 years ago

That didn't seem to work either or I am not checking it in the right place. Is this supposed to change the viewing of PDFs "outside" the notebook in that file browser?

billgreenwald commented 7 years ago

Yea didnt seem to work for me. Maybe a hub restart would fix it, but that would be more intrusive. We could try it tonight potentially

tatarsky commented 7 years ago

Up to you folks. Our pending list of items to restart over includes this as a maybe and the admin list. Seems like something that would be in the hub's purvey compared to a notebook...because that file URL is part of the hub I believe ...

tatarsky commented 7 years ago

And to confirm the admin item just as we don't get a restart window very often:

jupyterhub_config.py:c.Authenticator.admin_users = { 'paul','bill','matteo','hiroko' }
tatarsky commented 7 years ago

Oh, and a restart would re-add the use of the old nodes as capable for notebooks. Not huge priority but with the attempted fix of #188 by restricting the PE classes those queues can use. (a special "jupsmp" is being used to keep other PE executions out of the jup queues)

tatarsky commented 6 years ago

With the crash of fl-hn2 last night the following items that were waiting for a hub restart were enabled (due to having to restart the hub)

The list of admin users as before. Please check.

The ability to use the old nodes from the hub.

Check if other item was fixed by restart or I'll see what I can do or I'll fire up another hub to mess with on fl-hn1.

billgreenwald commented 6 years ago

Hub still doesnt view pdfs by default

tatarsky commented 6 years ago

Lets add to the pile of items you can take a look at with me. I was unable when looking at the methods discussed to figure out the best way to change the opening code. Perhaps just rev'ing the hub code.

tatarsky commented 6 years ago

On a plus note, PDF files open properly when double clicked in Jupyter Lab file browsers ;) And a legacy notebook of the 5.4 version does the same. So they fixed it somewhere between the 5.3 version we are running production.