Auto upgrade of Nuxeo Drive fails

The automatic update of our 3.1.1 version of the drive fails :

log :

2018-12-19 16:19:47 5640 5056 DEBUG    nxdrive.updater.base Polling u'https://community.nuxeo.com/static/drive-updates' for update, the current version is '3.1.1'
2018-12-19 16:19:47 5640 5056 DEBUG    urllib3.connectionpool Starting new HTTPS connection (1): community.nuxeo.com
2018-12-19 16:19:47 5640 5056 DEBUG    urllib3.connectionpool https://community.nuxeo.com:443 "GET /static/drive-updates/versions.yml HTTP/1.1" 200 2820
2018-12-19 16:19:47 5640 5056 DEBUG    nxdrive.updater.utils No bound engine: using version '4.0.2', info={'checksum': {'dmg': '16db22e347c176d81706dda2332a45f60c7393b572a1d293ac0819a3b55778b5', 'exe-admin': '28c2cc0816fb52f90995e8fdf705f9dace654acfed3e33461fa2b2c31f0672e3', 'algo': 'sha256', 'exe': '4de36ce3619f45740e21bb6f40f524455bf95446a3fe50d331dc909ebc36f8a7'}, 'type': 'release', 'min': '7.10'}
2018-12-19 16:19:47 5640 5056 INFO     nxdrive.updater.base Starting application update process to version 4.0.2
2018-12-19 16:19:47 5640 5056 INFO     nxdrive.updater.base Fetching version '4.0.2' from update site u'https://community.nuxeo.com/static/drive-updates' into 'c:\\users\\fhuron\\appdata\\local\\temp\\b4930d86b0094a65bf0d0f714bb34d63_nuxeo-drive-4.0.2.exe'
2018-12-19 16:19:47 5640 5056 DEBUG    urllib3.connectionpool Starting new HTTPS connection (1): community.nuxeo.com
2018-12-19 16:19:48 5640 5056 DEBUG    urllib3.connectionpool https://community.nuxeo.com:443 "GET /static/drive-updates/release/nuxeo-drive-4.0.2.exe HTTP/1.1" 200 28996312
2018-12-19 16:19:51 5640 5056 INFO     nxdrive.updater.base Installing Nuxeo Drive 4.0.2
2018-12-19 16:19:51 5640 5056 DEBUG    nxdrive.updater.windows Calling 'c:\\users\\fhuron\\appdata\\local\\temp\\b4930d86b0094a65bf0d0f714bb34d63_nuxeo-drive-4.0.2.exe' /verysilent /start=auto

error detail :

Traceback (most recent call last):
  File "nxdrive\__main__.py", line 136, in main
  File "nxdrive\commandline.py", line 469, in handle
  File "nxdrive\commandline.py", line 384, in parse_cli
  File "nxdrive\commandline.py", line 431, in load_config
  File "configparser.py", line 858, in items
  File "configparser.py", line 858, in <listcomp>
  File "configparser.py", line 855, in <lambda>
  File "configparser.py", line 394, in before_get
  File "configparser.py", line 444, in _interpolate_some
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%userprofile%/.nuxeo-drive'

our config.ini :

[DEFAULT]
env=ur1

[ur1]
ndrive-home=%userprofile%/.nuxeo-drive
local-folder="D:\Home\%username%\NuxeoDrive"
locale=fr
proxy-type=none
delay=90

What is the changelog of config.ini ?

Regards Henri

0 votes

2 answers

1353 views

ANSWER

With this config.ini

[DEFAULT]
env=ur1

[ur1]
ndrive-home=%(userprofile)%/.nuxeo-drive
local-folder=&quot;D:\Home\%(username)%\NuxeoDrive&quot;
locale=fr
proxy-type=none
delay=90

I get this Exception:

Traceback (most recent call last):
  File &quot;nxdrive\__main__.py&quot;, line 136, in main
  File &quot;nxdrive\commandline.py&quot;, line 469, in handle
  File &quot;nxdrive\commandline.py&quot;, line 384, in parse_cli
  File &quot;nxdrive\commandline.py&quot;, line 431, in load_config
  File &quot;configparser.py&quot;, line 858, in items
  File &quot;configparser.py&quot;, line 858, in &lt;listcomp&gt;
  File &quot;configparser.py&quot;, line 855, in &lt;lambda&gt;
  File &quot;configparser.py&quot;, line 394, in before_get
  File &quot;configparser.py&quot;, line 427, in _interpolate_some
configparser.InterpolationSyntaxError: bad interpolation variable reference &apos;%(userprofile)%/.nuxeo-drive&apos;
12/19/2018

And with this config.ini

[DEFAULT]
env=ur1

[ur1]
ndrive-home=%(userprofile)s/.nuxeo-drive
local-folder=&quot;D:\Home\%(username)s\NuxeoDrive&quot;
locale=fr
proxy-type=none
delay=90

I get this Exception:

Traceback (most recent call last):
File &quot;nxdrive\__main__.py&quot;, line 136, in main
File &quot;nxdrive\commandline.py&quot;, line 469, in handle
File &quot;nxdrive\commandline.py&quot;, line 384, in parse_cli
File &quot;nxdrive\commandline.py&quot;, line 431, in load_config
File &quot;configparser.py&quot;, line 858, in items
File &quot;configparser.py&quot;, line 858, in &lt;listcomp&gt;
File &quot;configparser.py&quot;, line 855, in &lt;lambda&gt;
File &quot;configparser.py&quot;, line 394, in before_get
File &quot;configparser.py&quot;, line 434, in _interpolate_some
configparser.InterpolationMissingOptionError: Bad value substitution: option &apos;ndrive-home&apos; in section &apos;ur1&apos; contains an interpolation key &apos;userprofile&apos; which is not a valid option name. Raw value: &apos;%(userprofile)s/.nuxeo-drive&apos;
12/20/2018



Hello Mickaël, thanks for responding.

My problem is that installed clients automatically upgrade itself from 3.1.1 to 4.0.2 and I don't understand why (my drive server is not compatible with the client 4.0.2). I get the message “La version du serveur n’est pas compatible avec Nuxeo Drive 4.0.0. Nous vous conseillons de repasser sur la version 3.1.2 ou de de contacter votre administrateur système pour mettre à niveau l'instance de Nuxeo” .

I want to prevent this automatic updating process for the 3.1.x clients .

For the outdated parameters ndrive-home and local-folder , what are the new names ?

Henri

0 votes



This config.ini should work : [DEFAULT] env=ur1

[ur1] locale=fr delay=90 update-check-delay=0 ndrive-home=$HOME/.nuxeo-drive

The value "update-check-delay=0" prevents automatic upgrade.

And the outdated parameter local-folder can be replaced by :
nuxeo-drive.exe /TARGETDRIVEFOLDER="D:\Home\%username%\NuxeoDrive" /TARGETURL="http://localhost:8080/nuxeo" /TARGETUSERNAME="foo"

Is that correct ?

Henri

12/20/2018

You should not be in 4.0.2. We released 3.1.2 in October to handle the upgrade. But it seems you never did it. So, as Drive is asking, let it downgrade to 3.1.2. And it will automatically upgrade to 4.x when your server will be able to handle it. You can see what required HF you need here: Nuxeo Drive FAQ.
12/20/2018

The ndrive_home parameter is replaced with nxdrive_home, but the value your are setting is the default value, you better delete it.
12/20/2018

The TARGETDRIVEFOLDER is usefull at install time, yes it will do what you want. Check the documentation to ensure all parameters are present: installer.md.
12/20/2018


Hello,

Several things here.

1) Starting with Drive 4.0, when an parameter is not handled or has a bad value, an error is thrown. You have several outdated like ndrive-home and local-folder. proxy-type has been renamed to proxy-server, but in your case it should be removed as it is the current value. You can see changes in configuration here: configuration.md (we will update the documentation because some parameters are missing).

2) The actual error is that you must double the percent sign like %%userprofile%%.

3) Using $(userprofile)s is not what you are looking for. This is for such use:

[ur1]
userprofile = some value
desktop = %(userprofile)s\Desktop
downloads = $(desktop)s\Downloads
0 votes