Skip to content
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

ValueError: '' does not appear to be an IPv4 or IPv6 address #3946

Closed
lppeng opened this issue Sep 19, 2018 · 12 comments · Fixed by #4139 · May be fixed by matterport/Mask_RCNN#1393
Closed

ValueError: '' does not appear to be an IPv4 or IPv6 address #3946

lppeng opened this issue Sep 19, 2018 · 12 comments · Fixed by #4139 · May be fixed by matterport/Mask_RCNN#1393

Comments

@lppeng
Copy link

lppeng commented Sep 19, 2018

might be related to #3754

I'm running jupyter notebook on an EMR cluster

$ jupyter notebook --version
5.7.0
$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost6 localhost6.localdomain6

@omegahh
Copy link

omegahh commented Sep 20, 2018

I got the same error when I upgraded jupyterlab to 0.34.11, and finally found that it's a notebook problem.
I upgraded jupyterlab by

sudo -H pip install -U --force-reinstall jupyterlab

It would upgrade and reinstall all required packages by jupyterlab thus including notebook.

Actually, I had three tracebacked errors when running jupyter lab

Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 528, in get
value = obj._trait_values[self.name]
KeyError: 'allow_remote_access'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 869, in _default_allow_remote
addr = ipaddress.ip_address(self.ip)
File "/usr/lib/python3.6/ipaddress.py", line 54, in ip_address
address)
ValueError: '' does not appear to be an IPv4 or IPv6 address

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/bin/jupyter-lab", line 11, in
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/jupyter_core/application.py", line 266, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 657, in launch_instance
app.initialize(argv)
File "", line 2, in initialize
File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 1629, in initialize
self.init_webapp()
File "/usr/local/lib/python3.6/dist-packages/jupyterlab/labapp.py", line 202, in init_webapp
super().init_webapp(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 1379, in init_webapp
self.jinja_environment_options,
File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 158, in init
default_url, settings_overrides, jinja_env_options)
File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 251, in init_settings
allow_remote_access=jupyter_app.allow_remote_access,
File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 556, in get
return self.get(obj, cls)
File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 535, in get
value = self._validate(obj, dynamic_default())
File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 872, in _default_allow_remote
for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM):
File "/usr/lib/python3.6/socket.py", line 745, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

It seems like all errors related to notebook.

System info:

Ubuntu 16.04.5 LTS
python 3.6.6
jupyterlab 0.34.11
notebook 5.7.0

BTW, I also upgraded jupyterlab at same way in my MacBook Pro (which installed python 3.6.5), it works fine!

@lppeng
Copy link
Author

lppeng commented Sep 20, 2018

Pretty sure this is a problem with the 5.7.0 release. Downgrading notebook to 5.6.0 worked for me.

pip uninstall notebook
pip install notebook==5.6.0

@batmorell
Copy link

It seems the error appears when you have

c.NotebookApp.ip = '*'

into your jupyter_notebook_config.py.

Replacing * by 0.0.0.0 worked for me.

c.NotebookApp.ip = '0.0.0.0'

@raabf
Copy link

raabf commented Sep 20, 2018

Can confirm the described problem and @batmorell ‘s fix.
This is probably a result of #3767 (and this did came from #3754).

I am not sure if it is intended that c.NotebookApp.ip = '*' is not working any more, but documentation still says that is is valid (I am not sure if this are all places of the documentation):

# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'

# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'

angerson added a commit to angerson/tensorflow that referenced this issue Sep 21, 2018
See jupyter/notebook#3946. I found this by
checking package version differences and hunting for recent issues on
Notebook's github page.
@angerson
Copy link

This briefly broke TensorFlow's Release + Nightly CI, and was fixed with @batmorell's suggestion in tensorflow/tensorflow#22451. Thanks!

angerson added a commit to angerson/tensorflow that referenced this issue Sep 21, 2018
See jupyter/notebook#3946. I found this by
checking package version differences and hunting for recent issues on
Notebook's github page.
gunan pushed a commit to tensorflow/tensorflow that referenced this issue Sep 21, 2018
See jupyter/notebook#3946. I found this by
checking package version differences and hunting for recent issues on
Notebook's github page.
@hzz4j
Copy link

hzz4j commented Sep 24, 2018

  • When I run jupyter notebook in the AWS E2,it also has error as follow:
ubuntu@ip-172-31-48-131:~$ jupyter notebook --no-browser --port=8888
[I 00:41:44.556 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/note
book_cookie_secret
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'allow_remote_access'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 869, in _default_al
low_remote
    addr = ipaddress.ip_address(self.ip)
  File "/usr/lib/python3.6/ipaddress.py", line 54, in ip_address
    address)
ValueError: '' does not appear to be an IPv4 or IPv6 address

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/dist-packages/jupyter_core/application.py", line 266, in launch_
instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 657, in lau
nch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 87, in catc
h_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 1629, in initialize

    self.init_webapp()
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 1379, in init_webap
p
    self.jinja_environment_options,
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 158, in __init__
    default_url, settings_overrides, jinja_env_options)
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 251, in init_settin
gs
    allow_remote_access=jupyter_app.allow_remote_access,
  File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/usr/local/lib/python3.6/dist-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/usr/local/lib/python3.6/dist-packages/notebook/notebookapp.py", line 872, in _default_al
low_remote
    for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM):
  File "/usr/lib/python3.6/socket.py", line 745, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
  • My system info
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:        18.04
Codename:       bionic
  • My jupyter_notebook_config.py file which at ~/.jupyter/jupyter_notebook_config.py
c = get_config()  # Get the config object.
c.NotebookApp.certfile = u'/home/ubuntu/ssl/cert.pem' # path to the certificate we generated
c.NotebookApp.keyfile = u'/home/ubuntu/ssl/cert.key' # path to the certificate key we generated
c.NotebookApp.ip = '*'  # Serve notebooks locally.
c.NotebookApp.open_browser = False  # Do not open a browser window by default when using notebooks.
c.NotebookApp.password = 'sha1:fc216:3a35a98ed980b9...'  
  • Solvetion: after replacing * by 0.0.0.0 ,everything works.
//at ~/.jupyter/jupyter_notebook_config.py
//change c.NotebookApp.ip = '*' to
c.NotebookApp.ip = '0.0.0.0'

jharris1679 added a commit to jharris1679/docker-stacks that referenced this issue Sep 24, 2018
Latest release of notebook (5.7.0) introduces bug when `c.NotebookApp.ip` is set to '*'. See jupyter/notebook#3946 for details.
sfoster1 added a commit to Opentrons/opentrons that referenced this issue Oct 1, 2018
The jupyter notebook package has a bug in 5.7.0 where specifying the notebook
application’s listening ip as ’*’ causes it to fail to boot:
jupyter/notebook#3946

The workaround listed there is to bind the server to 0.0.0.0 instead, so we do
that here.

Closes #2394
sfoster1 added a commit to Opentrons/opentrons that referenced this issue Oct 2, 2018
The jupyter notebook package has a bug in 5.7.0 where specifying the notebook
application’s listening ip as ’*’ causes it to fail to boot:
jupyter/notebook#3946

The workaround listed there is to bind the server to 0.0.0.0 instead, so we do
that here.

Closes #2394
gurvindersingh pushed a commit to UNINETTSigma2/helm-charts-dockerfiles that referenced this issue Oct 4, 2018
tomz pushed a commit to tomz/aws-big-data-blog that referenced this issue Oct 5, 2018
deric4 pushed a commit to simonkeng/rdkit-jupyter-docker that referenced this issue Oct 6, 2018
change the *ip* option to the `jupyter notebook` command because of
error at image build time.

Fixes: Issue #3

Reference: jupyter/notebook#3946
@daf
Copy link
Contributor

daf commented Oct 10, 2018

Another workaround while leaving c.NotebookApp.ip='*' is to also set c.NotebookApp.allow_remote_access=True.

Would the devs be open to a short-circuit in NotebookApp._default_allow_remote checking for a blank self.ip (the '*' is stripped in NotebookApp.valdate_ip [sic]) and returning True before checking things with the socket/ipaddress stuff? By the documentation, the '*' value is meant for public server use.

0xmjk added a commit to 0xmjk/jupyterlab-docker-image that referenced this issue Oct 21, 2018
@takluyver
Copy link
Member

'*' is getting converted to '' by this code:

@validate('ip')
def _valdate_ip(self, proposal):
value = proposal['value']
if value == u'*':
value = u''
return value

PRs welcome to special case the empty string in the code checking for allow_remote_access.

@buoyancy99
Copy link

'0.0.0.0' would break ipv6. For ipv6 please use '::' instead
Hope this will be helpful to those who are using ipv6

b-cooper added a commit to Opentrons/opentrons that referenced this issue Nov 8, 2018
* refactor(app): Add state for API update file (#2364)

* feat(api): Add skeleton of new Labware class (#2363)

Closes #2261

* fix(api): Change api update ignore route to be accessible to client (#2368)

Closes #2367

* feat(api): change tempdeck temperature resolution,fix temp in docs (#2359)

Closes #2358

* feat(app): Add upgrade and downgrade logic to robot updates (#2376)

* chore(api): Add 'TODO's to labware-related tests (#2372)

* chore(api): Add 'TODO's to labware-related tests. Closes #2259

* chore(api): Fix some mypy typing errors (#2387)

* feat(app): Prompt user to update app in robot update modal (#2386)

closes #2354

* feat(api): add hardware control move_to(), move_rel() (#2389)

Closes #2234

* feat(api): Add new protocol API stubs (#2375)

The protocol API will be the way for protocols to interact with the OT2 system.
It will allow users to run protocols locally and simulate them as well as
allowing the higher level system to run the protocols on a robot. It will couple
to the hardware controller.

This commit introduces the structure of the API. It is conceptually similar to
the robot API we currently use, but explicitly notes that what you manipulate
are contexts rather than exact hardware representations.

The required changes to current protocols are minimal and are only in fact
required to run a simulation with the protocol as an entrypoint.

Closes #2233

* feat(api): Add top, bottom, and center methods to Well (#2379)

* feat(api): Add top, bottom, and center methods to Well

Add top, bottom, and center methods to Well, and add internal methods for referencing an abstract position relative to the center of a well using cartesian coordinates (all methods return a point in absolute deck coordinates). Also moves the new labware module to `opentrons.protocol_api.labware`

Closes #2369

* feat(shared-data): Add generator function to create regular labware defs (#2380)

* feat(shared-data): Add generator function to create regular labware defs

* feat(components): create new tab-styled vertical nav bar (#2371)

Closes #1923

* feat(labware-designer): set up labware-designer skeleton for use in browser console (#2392)

* fix(api): Bind jupyter notebook to 0.0.0.0 (#2398)

The jupyter notebook package has a bug in 5.7.0 where specifying the notebook
application’s listening ip as ’*’ causes it to fail to boot:
jupyter/notebook#3946

The workaround listed there is to bind the server to 0.0.0.0 instead, so we do
that here.

Closes #2394

* feat(app): Add release notes to robot update modals (#2397)

closes #2353

* perf(app): Upgrade Electron to v3 and remove Node in renderer (#2374)

* feat(api): add instrument cache to hardware control (#2402)

Closes #2236

* refactor(api): Add protocol API back-compatibility layer (#2395)

* feat(api): Add back compat  shim for new protocol API and restructure old

This commit puts the components of the old protocol api (robot, instruments, etc) into a new `legacy_api` subpackage. It moves the singletons previously defined in`opentrons/__init__` into a file in `legacy_api`, and creates similar ones in `protocol_api/back_compat`. Then, `opentrons/__init__` now conditionally imports the right one based on a feature flag.

This means it is now possible (using the feature flag) to import opentrons without the robot singleton being instantiated. It also means it is now possible to import components of the legacy API without actually instantiating them.

In addition, this commit adds a new file, `simulate_protocol.py`, that will be the frontend for simulating protocols without a robot.

Closes #2246

* feat(app): Only display instrument settings for selected robot (#2406)

closes #2362

* chore(api): Fix more mypy type errors (#2399)

* chore(api): Require mypy pass for lint pass and fix type errors

* refactor(protocol-designer): refactor PD labware components for readability (#2390)

* test(api): fix test errors (#2417)

* feat(protocol-designer): implement "metadata.created" in JSON file (#2403)

Closes #2189

* fix(discovery-client): Ensure IPs are actually de-duped (#2404)

*  feat(protocol-designer): add substep level liquid tracking and expose in tooltip (#2400)

Restructure the return value of compound step generators such that their constituent atomic aspirate and dispense actions are not reduced to one step. With the new substep specific intermediate liquid states reshape the way that the steplist generated StepListItems and its children SubstepRows to rely on mid step liquid state, as opposed to initial liquid state of the entire parent step. Instead of passing down a boolean flag to substep rows for presence or absence of liquid in source and destination wells, give them a map of all well liquids and their individual volumes. Display all of this in a HoverTooltip on IngredPill.

Closes #2286

* chore(api): Add README on using generator function (#2411)

* feat(protocol-designer): modify the "name new labware" overlay for new design (#2422)

Closes #2410

* chore(flow): Upgrade flow / most npm typedefs and fix type failures (#2431)

* fix(discovery-client): Monkeypatch uncatchable throw from mdns-js (#2433)

* feat(discovery-client): Add mdns flag and health responses to services (#2420)

* feat(api): Add function for p1000 ul-to-millimeter conversions (#2425)

* feat(app): Display unreachable robots in list (#2434)

Closes #2344

* feat(api): Add accessor functions in new labware class (#2418)

* feat(protocol-designer): implement selective redux persistence (#2436)

* introduce subscriber-based mechanism to sync selected redux substates to localStorage
* refactor PD analytics to use this persistence mechanism

* fix(app): Allow portal to re-check for root element (#2440)

If the portal modal was used during the first render (e.g. for the analytics
opt-in modal), the modal root would not be present in the DOM (since the root
itself is created by the App component), causing the modal to not appear. This
change allows the Portal component to:

- Cache the root instead of getting it from the document on every render
- Retry getting the root after mounting, when we're (pretty) sure the root is
  also actually mounted in the DOM

* fix(app): Use type for labware table, not name (#2441)

Closes #2407

* feat(components): change default border width to 1px (#2385)

* API: add module support to hardware control (#2423)

* refactor(api): Move old module package into legacy_api

* feat(api): Add modules api to hardware_control

Closes #2237

* refactor(app): Organize robots by connectable, reachable, unreachable (#2449)

* feat(api): Add a displayName field to EAP types in /wifi/eap-options (#2448)

Closes #2439

* fix(api): Remove unnecessary return in hardware controller (#2450)

This should not have been merged.

* feat(protocol-designer): add liquids tab and sidebar (#2454)

* liquids page stub + tab
* refactor nav.json, replace strings with i18n

Closes #2426

* docs(api): Fix whitespace in code block for delete_container docs (#2456)

* feat(app): Display reachable but non-connectable robots (#2455)

Closes #2345

* feat(app): Remove 'opentrons-' prefix in robot displayNames (#2459)

closes #2357

* feat(protocol-designer): refactor and performance audit of labware components (#2442)

In the 4 main places we are using, or will use, the SelectablePlate component, there are shared
aspects of the abstraction that weigh down the application in places where the extra information is
not needed or used. This branch begins to separate our implementations by first creating a
SelectableLabware component which is used in the WellSelectionModal and maintains local state. The
LabwareOnDeck is also not rendering with select and hover handlers. The IngredientSelectionModal,
will use SelectableLabware or a similar component once the ingredient form sustains upcoming
changes.

Closes #2285

* refactor(app): Switch completely over to new discovery selectors (#2462)

* feat(protocol-designer): show hints as modal (#2447)

* persist only remembered hint dismissals
* transform before persisting
* move try/catch from configureStore.js to lower down

* perf(api): P1000 pick-up-tip shake and drop-tip plunger (#2446)

* perf(api): behavioral and config changes for p1000 to consistently pick-up and drop tips

* chore(release): 3.5.0-beta.0 (#2467)

* feat(api): Store pipette function params as data (#2466)

* feat(api): Store pipette function params as data

Modify pipette config system to include pipetting function parameters as data so they can be
recalibrated by users or during experiments

* feat(api): Add newly formatted labware defs and update labware schema (#2457)

* fix(api): Fix docs build failure after move to legacy_api (#2469)

Closes #2468

* feat(app): Move deck calibration to robot controls (#2470)

closes #2377

* build(api): Add shared-data to wheel (#2464)

* build(api): Add shared-data to wheel

And do it in a way that doesn’t require copying it into the source tree.

By overriding the build_py subcommand of distutils, which is a core element of
basically all the following distutils commands like sdist or install or (most
crucially) bdist_wheel, we can insert our shared-data into the build directory
which means it will be present in all the following artifacts.

Closes #2452

* feat(api): Add /networking/status endpoint to get all interface info (#2471)

Closes #2445

* feat(protocol-designer): create view to browse final liquid state (#2451)

Build the ability to drill down into a labware from the final deck state in order to inspect the
resulting liquid state of your protocol.

Closes #2335

* feat(api): Add labware load to protocol API (#2472)

Closes #2240

* feat(components): Add wifi connectivity icons (#2473)

* refactor(app): Rework client state for /networking/status endpoint (#2480)

* feat(protocol-designer): add tooltips on hover of final result wells (#2479)

Add mouse anchored tooltips on hover of wells with ingredients in the final results labware
drilldown including the same information as the ingredient pill tooltips in the side bar.

Closes #2409

* fix(repo): fix gitattributes hex crlf bug (#2482)

* fix bug where hex files were treated as text and auto-converted to unix endings
* pre-emptive fix for .bat files as well

* feat(protocol-designer): implement rounding properly (#2458)

* fix(protocol-designer): use proper rounding fn to avoid rounding errors

Closes #2405

* feat(protocol-designer): implement liquids page interactivity (#2478)

* liquids form & sidebar interactivity
* ingredients/liquids flow type cleanups

Closes #2427

* refactor(app): Add new ConnectionCard with interface and Wi-Fi details (#2484)

* fix(app): Check semver validity of API returned version strings (#2492)

* fix(protocol-designer): unhighlight wells on deselect in well selection modal (#2491)

Closes #2463

* fix(api): Filter out missing SSIDs from network list (#2493)

Closes #2489

* chore(release): 3.5.0-beta.1 (#2496)

* chore(api): Update pipenv and use pipenv sync (#2501)

Pipenv sync was added here: pypa/pipenv#1463 and had a
subsequent bug in it where it would sometimes update pipfile.lock, but that’s
fixed now.

There’s now a solid three part workflow to pipenv, as there should be:

- If you want to change the dependencies of a project, you use pipenv
  install/uninstall or edit Pipfile
- When you want to crystallize those dependencies and check in, you use pipenv
  lock to generate the lockfile
- When you want to install the dependencies, as in when you checkout from scm,
  you use pipenv sync

* feat(api): Add error checking on generated labware def (#2476)

* refactor(components): Add AlertModal header icon override (#2508)

* refactor(app): Allow ConnectionCard to connect to unsecured networks (#2504)

Closes #2383, closes #2348

* feat(api): Add ability to save new delta from calibrating labware (#2503)

* feat(protocol-designer): add tooltip for labware name/type on steplist (#2497)

Because of the cramped space on the step list, it is often the case that the labware name is
truncated. For enhanced context, this adds a tooltip that launches on hover of the labware name and
displays the full name and labware type. Also create interface for tooltips to render into a given portal.

Closes #2421

* fix(protocol-designer): fix localization refactor mistakes (#2499)

* feat(api): Use deck-absolute coords in hardware_control (#2502)

* refactor(api): Move robot_configs.py to config
* feat(api): hardware_control uses deck absolute coordinates

Closes #2238

* fix(api): Make the Makefile have more real prerequisites/targets (#2510)

* fix(api): Make the Makefile have more real prerequisites/targets

Instead of using all phony targets, the makefile now pulls the version out of
package.json so it can find the name of the wheel that will be built and can use
it as a normal Makefile target. Then, we can use that as the prereq for wheel
instead of having wheel contain the commands directly, which means that all the
stuff that now depends on wheel won’t rerun it every single time it’s called.

* fix(api): Write .env with absolute path for conf on make install (#2500)

The old checked-in .env had a relative path into tests/ for the development
index.json file that drives settings. This makes it impossible to import
opentrons from outside the api directory. One way to fix this would be to add correct, sane, and not duplicated
logic to the way we load settings; another is to write the .env and the
index.json with absolute paths when you run make install.

Also, this fixes an issue where ‘make local-install’ worked on appveyor (because
appveyor uses mingw make) but doesn’t work on other dev setups that install make
using e.g. chocolatey into the windows shell or powershell, which do not do
wildcard expansion.

Also, a mkdir in discovery-client needs to be shx

Closes #2495

* feat(protocol-designer): use formik for liquid edit form (#2512)

* use formik + yup for liquid edit form
* also add instructional content to liquids page

Closes #2460

* feat(api): Clear labware calibrations in new labware system (#2513)

Closes #2276

* fix(repo): increase flow merge timeout (#2514)

attempt to fix timeout in Travis by increasing flow merge timeout from 100s to 300s

* refactor(app): Add WPA2 personal auth modal to new connection UI (#2515)

Closes #2507

* refactor(api): refactor aspirate/dispense (#2481)

Closes #2235

* feat(protocol-designer): replace liquid placement form (#2518)

* implement new simpler liquid placement form
* remove old IngredientPropertiesForm

Closes #2429

* feat(protocol-designer): allow user to delete entire liquid groups (#2524)

* refactor liquid deletion actions/reducers
* show confirmation modal when deleting a liquid that was placed on the deck

Closes #2437

* feat(app): Show all labware of same type as confirmed (#2525)

Closes #2523

* feat(protocol-designer): implement "clear wells" button (#2528)

Closes #2430

* refactor(app): Match wifi dropdown styles to design (#2522)

* feature(api): pipette critical points (#2526)

* refactor(api): Move pipette state in hardware_control to single file

* feat(api): Add critical point tracking to hardware control

The hardware control API now tracks whether a pipette has a tip or not and
considers its "critical point", the point moved in a move command, to be either
the end of the tip, the end of the nozzle, or the mount depending on the status
of the pipette.

Closes #2239

* feat(protocol-designer): liquid tooltips on well selection, popper and portal (#2521)

Add functionality to allow users to view contents of wells on hover via a tooltip while selecting
wells to dispense or aspirate from/to in the step forms. To allow reliable positioning of tooltips
in the future, these targets and references are placed inside portals that render them at the page
level, unbound by any intermediate DOM element and the possibility of overly cascading styles. We
can now mend the edge case rendering of large tooltips that exceed the viewport by tapping into the
geometry calculations that Popper uses to flip and reposition if close to boundaries.

Closes #2487

* fix(api): Correct GET /wifi/keys response to match documentation (#2532)

* refactor(app): Support 802.1X networks in new Wi-Fi form (#2527)

Closes #2412, closes #2413

* fix(shared-data): Fix corner offset from slot logic; add in container offset to well coordinates (#2519)

* feat(protocol-designer): continue to liquids not design page (#2539)

Closes #2534

* fix(protocol-designer): close liquid placement form when clear wells is clicked (#2533)

Related to #2528

* refactor(app): Move react-select into generic SelectField component (#2543)

* fix(protocol-designer): fix LiquidPlacementForm onBlur typo (#2546)

* fix onBlur typo in LiquidPlacementForm - this makes it so you see errors before clicking "save"

* fix(protocol-designer): do not add __air__ on blowout (#2545)

Closes #2498

* fix(api): Fix height of p1000 tip rack definition (#2547)

Increase height of p1000 tip rack to 101 and remove unsupported definitions left over from OT1

* feat(protocol-designer): add 4-in-1 15-50 tuberack to PD (#2530)

* rename existing tuberack
* add 'opentrons-tuberack-15_50ml'
* include labware diagram images in protocol-designer src and include in bundle.js as data URLs, instead of just linking to docs.opentrons.com/_images/

Closes #2453

* chore(release): 3.5.0 (#2554)

* chore(release): 3.5.0

* fixup: Update app-shell release notes

* fix(app): Show the correct release notes for robot update (#2560)

* refactor(api): Add a back-compat shim for ways of accessing wells (#2561)

* refactor(api): Add a back-compat shim for ways of accessing wells in a labware

* refactor(app): Add validation to network auth forms (#2559)

closes #2416

* Release 3.5.1 (#2571)

* fix(build): Root package.json needs new api workspace path

* chore(release): 3.5.1

* fix(api): Fix bug where drop-tip current is not used while actually dropping tip (#2572)

* API: hardware_control/protocol api integration (#2573)

* refactor(api): Allow specification of instruments after init

We can now pass "expected instruments" into hardware_control.cache_instruments.
This lets us fail fast if the hardware layout does not match the requested
instruments and also lets the simulator adapt to the requested instruments.

* refactor(api): Add retract() to hardware_control

This is used for protocol-api level motion to ensure the pipette that is not
actively under control does not collide with labware on the deck.

* build(js): Upgrade webpack and consolidate build configuration (#2568)

* feat(docs): Add opentrons container defs and images (#2531)

* feat(protocol-designer): collapse all step items on newly loaded file (#2549)

Closes #2541

* feat(api): Pipette id included in GET /pipettes (#2564)

* feat(api): Pipette id included in GET /pipettes

Closes #2148

* refactor(api): add blow_out, pick_up_tip, drop_tip (#2578)

Closes #2483

* refactor(app): Enable certificate usage with 802.1x (#2576)

* feat(api): support offset in json protocol touch-tip command (#2566)

* update step-generation & JSON schema to support new optional field
* add default-values param for touch-tip offset

* API: Add motion to protocol API (#2577)

* refactor(api): Split out protocol_api.__init__ to submodules

This file was getting a bit out of hand and promising to get much worse.

The context classes are now in contexts and the deck is in geometry. Other
geometry-related, context-free utilities should be placed there as well.

* refactor(api): Add instrument load, aspirate, dispense to protocol_api

Closes #2243

* refactor(components): Update error and caption styles (#2580)

* refactor(api): add calibrate_plunger (#2584)

* feat(protocol-designer): add labware details card (#2490)

* add labware details card component & container
* add EditableTextField component
* remove old LabwareNameEditForm and its reducers + actions + selectors
* replace overly-imperative MODIFY_CONTAINER action with RENAME_LABWARE action
* (components) modify type of InputField's units to be Node, not just string

Closes #2428

* feat(app): Home pipette after tip probe confirmed (#2586)

closes #2544

* refactor(app): Allow user to specify wifi security type if unknown (#2581)

Closes #2553

* refactor(app): Reorganize ConnectForm to support hidden SSIDs (#2594)

Closes #2182

* refactor(api): Change motion target locations and add arcs (#2598)

* refactor(api): Change motion target locations and add arcs

The motion commands in the protocol API take a new type, Location, which has a
reference to a labware or well it is related to. This labware or well is used by
a new function, geometry.plan_arc, to break down individual motion commands into
either arc or direct moves depending on if the target is in the same well or
labware as the target of the last move.

In addition, change the Well class position accessors (top(), bottom(),
center()) to return a Location instead of just a Point, and build Wells with
references to their parent Labwares.

* refactor(protocol-designer): gate timeline generation with form and field validation (#2574)

Consolidate step error logic to formLevel and fieldLevel error getters. Remove error block from
stepFormToArgs functions. Clean up hydration pathways.

* feat(protocol-designer): add well tooltip to liquid placement modal (#2550)

Use the existing WellTooltip component in the LiquidPlacementModal. Note: this does not include
refactoring and deprecating stale redux connections in the SelectablePlate component, so UI
performance is still stifled.

Closes #2486

* API: consolidate motion functions and fix some small design issues (#2606)

* refactor(api): aspirate and dispense can be given wells as position

You can now do aspirate(2.0, lw.wells()[0]) instead of aspirate(2.0, lw.wells()[0].top()).

* refactor(api): hardware_control handles retracting the last mount

The protocol api now always refreshes its location cache with the gantry
position for the specified mount to catch moves made either automatically by the
hardware control (like a retract) or a user.

* refactor(api): Check moves for oob in hardware control (#2612)

Hardware control now checks that incoming gantry moves are in acceptable bounds.
That means less than the home position and > 0, for XYZA. If the move is outside
bounds, hardware_control raises a RuntimeError.

This bounds checking is applied in deck coordinates after the mount offset and
critical points are applied, which means that top level move calls may succeed
or fail based on the state of the rest of the system. For instance, with no
pipette attached to the right mount, move_to(RIGHT, Point(50, 50, 0)) will
fail (because the mount on its own cannot descend to 0); but with a P300 single
with tip attached in the right mount, that move will move the end of the tip to
the deck.

* fix(api): Correct well ordering for custom labware (#2633)

Fixes #2631

* feat(app): Implement new connectivity card (#2608)

Closes #2555

* feat(protocol-designer): add more labware options to PD (#2634)

* add 48-well-plate
* remove 24-vial-rack; clarify 0.2mL PCR strip name
* fix labware typo in API docs

Closes #2583

* feat(shared-data): support unversioned pipettes in JSON protocols (#2605)

* separate name-level vs model-level pipette specs in shared-data
* support unversioned pipettes in JSON protocol execution in Python API
* drop versioning from PD (strip out from loaded files)
* update Run App to use new shared-data getters
* Python API loads newly-split pipettes config
* rename nominalMaxVolume to maxVolume
* rename aspirateFlowRate to defaultAspirateFlowRate (same for dispenseFlowRate)

* add JSON schemas and consistency checks for pipette data
* remove underscore from _retrieve_version_number fn
* add README for pipette data

* for backwards compatibility, always include 'model' field with hard-coded "_v1.3" suffix in JSON protocols, in addition to 'name'

* refactor(api): tiplength from tiprack (#2637)

* refactor(api): Make pipette get tip length from tip rack

* Sneaky key combo for hidden step reordering feature (#2575)

* implement Alt-Up / Alt-Down key combos to reorder steps

* feat(protocol-designer): clean up navigation and modal hierarchy (#2638)

Partition views within tabs, so that forms and modals do not appear outside of their home tab.
Properly restrict tab navigation, when in blocking state(e.g. analytics modal, splash). Preserve
form state when navigating between liquids and design tabs.

Closes #2198

* feat(protocol-designer): allow user to change pipette selection (#2548)

Instead of locking users into their initial pipette selection, we now allow users to select and
change their pipette while designing their protocol. In the best case, the change will happen
silently and will not effect the protocol at all. In the worst case, changing pipettes might require
users fixing invalidated parts of many affected steps and adding more tipracks to accommodate the
change.

Closes #2474, #2475, #2477, #2632

* build(webpack): Add cache-busting to default bundle.js output filename (#2643)

* style(js): Re-enable indent and prop-type lint rules  (#2585)

* feat(app): Track restart status in discovery state for better alerts (#2639)

Closes #2516

* fix(protocol-designer): add vertical spacing back to form fields (#2644)

Fix the field spacing regression introduced in #2580

Closes #2597
0xmjk added a commit to 0xmjk/jupyterlab-docker-image that referenced this issue Nov 10, 2018
0xmjk added a commit to 0xmjk/jupyterlab-docker-image that referenced this issue Nov 10, 2018
@Dylan-Cunningham
Copy link

You could even simply run your command with the change:

docker run -p 8888:8888 [container name] jupyter notebook --ip='0.0.0.0' --port=8888 --no-browser --allow-root

Notice I change --ip='*' to --ip='0.0.0.0'

j-min added a commit to j-min/dotfiles that referenced this issue Jan 4, 2019
@AbhimanyuAryan
Copy link

AbhimanyuAryan commented Jan 21, 2019

Hi I have changed it to 0.0.0.0 it's still not working

[nb_conda_kernels] enabled, 1 kernels found
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/traitlets/traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'allow_remote_access'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/notebook/notebookapp.py", line 864, in _default_allow_remote
    addr = ipaddress.ip_address(self.ip)
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/ipaddress.py", line 54, in ip_address
    address)
ValueError: '' does not appear to be an IPv4 or IPv6 address

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/fastai/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/notebook/notebookapp.py", line 1628, in initialize
    self.init_webapp()
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/notebook/notebookapp.py", line 1378, in init_webapp
    self.jinja_environment_options,
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/notebook/notebookapp.py", line 159, in __init__
    default_url, settings_overrides, jinja_env_options)
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/notebook/notebookapp.py", line 252, in init_settings
    allow_remote_access=jupyter_app.allow_remote_access,
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/site-packages/notebook/notebookapp.py", line 867, in _default_allow_remote
    for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM):
  File "/home/ubuntu/anaconda3/envs/fastai/lib/python3.7/socket.py", line 748, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

I have using ec2 amazon instance

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial

$ which jupyter
/home/ubuntu/anaconda3/envs/fastai/bin/jupyter

@changqinyao
Copy link

'0.0.0.0' would break ipv6. For ipv6 please use '::' instead
Hope this will be helpful to those who are using ipv6

if i use simultaneously ipv6 and ipv4?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet