Repository: juniper/py-junos-eznc
Issue: utils.sw.install gives int() argument must be a string, a bytes-like object or a number, not 'NoneType'

I am trying to upgrade the EX2300 with 48 POE+ switch using below code. I don't set any time out parameters in install function. Everything is using the default value.

```
with Device(host=hostname, user=junos_username, passwd=junos_password) as dev:
        print("Connecting to {}".format(hostname))
        if dev.connected:
            print("Device connected")
            sw = SW(dev)`
            ok = sw.install(
                package=firware_update_files,
                progress=my_progress,
                no_copy=True,
                validate=False,
                cleanfs=True,
            )
```
I get this exception 

```
192.168.1.2:request-package-checks-pending-install rpc is not supported on given device
192.168.1.2:installing software ... please be patient ...
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/device.py", line 227, in timeout
    self._conn.timeout = int(value)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/decorators.py", line 24, in wrapper
    dev.timeout = restore_timeout
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/device.py", line 229, in timeout
    raise RuntimeError(
RuntimeError: could not convert timeout value of None to an integer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/device.py", line 227, in timeout
    self._conn.timeout = int(value)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/..../devel/ros_ws/src/bg_sandbox/juno_config/scripts/juno_update.py", line 62, in <module>
    main()
  File "/home/..../devel/ros_ws/src/bg_sandbox/juno_config/scripts/juno_update.py", line 37, in main
    ok = sw.install(
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/utils/sw.py", line 990, in install
    add_ok = self.pkgadd(
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/utils/sw.py", line 240, in pkgadd
    rsp = self.rpc.request_package_add(**args)
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/rpcmeta.py", line 364, in _exec_rpc
    return self._junos.execute(rpc, **dec_args)
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/decorators.py", line 76, in wrapper
    return function(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/decorators.py", line 27, in wrapper
    dev.timeout = restore_timeout
  File "/usr/local/lib/python3.8/dist-packages/jnpr/junos/device.py", line 229, in timeout
    raise RuntimeError(
RuntimeError: could not convert timeout value of None to an integer
```



Changed files:
lib/jnpr/junos/device.py

diff --git a/lib/jnpr/junos/device.py b/lib/jnpr/junos/device.py
index 440ed9a7..d20b7871 100644
--- a/lib/jnpr/junos/device.py
+++ b/lib/jnpr/junos/device.py
@@ -1231,7 +1231,7 @@ class Device(_Connection):
         self._fact_style = kvargs.get("fact_style", "new")
         self._use_filter = kvargs.get("use_filter", False)
         self._huge_tree = kvargs.get("huge_tree", False)
-        self._conn_open_timeout = kvargs.get("conn_open_timeout", None)
+        self._conn_open_timeout = kvargs.get("conn_open_timeout", 30)
         if self._fact_style != "new":
             warnings.warn(
                 "fact-style %s will be removed in a future "