s2i-nodejs-container icon indicating copy to clipboard operation
s2i-nodejs-container copied to clipboard

Request Path contains unescaped characters.

Open stobias123 opened this issue 9 years ago • 5 comments

I'm running OS 1.3 and this build fails behind a authenticated proxy due to an "unescaped character". I have imported the latest nodejs imagestream (centos), and still have this issue.

Proxy works fine with all other examples, and I can use the proxy with npm locally with no issues.. What's wrong here?

npm ERR! Request path contains unescaped characters.
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>
npm ERR! Linux 3.10.0-327.el7.x86_64
npm ERR! argv "/opt/rh/rh-nodejs4/root/usr/bin/node" "/opt/rh/rh-nodejs4/root/usr/bin/npm" "install"
npm ERR! node v4.4.2
npm ERR! npm  v2.15.1

stobias123 avatar Oct 12 '16 17:10 stobias123

@stobias123 can you paste in the proxy value you're using? (mask the hostname if necessary), i know you mentioned it contains some special characters.

I assume this is failing in an openshift build, can you supply the full logs (loglevel=5) from the build? and also the build object? (oc get build foo -o yaml).

bparees avatar Oct 12 '16 18:10 bparees

@bparees Here's full logs - http://pastebin.com/HQDEHdXn Here's build object - http://pastebin.com/TYsuc370

stobias123 avatar Oct 12 '16 18:10 stobias123

ok cool, so yeah HTTP_PROXY and HTTPS_PROXY env variables are being set for the context of the assemble script execution, which means the assemble script is going to config npm to use those values as proxies. After that it's a question of why npm doesn't like your proxy value, which is either a bug in npm, or indicative that we need to update our npm packages to pick up something newer that supports that value.

Have you determined if you can make npm work with that proxy locally, using current versions of npm?

this is the configuration logic in question: https://github.com/sclorg/s2i-nodejs-container/blob/master/4/s2i/bin/assemble#L25-L43

bparees avatar Oct 12 '16 18:10 bparees

Yes I was able to set NPM proxy locally on a test system with the below versions of npm and node.

user@workstation ~> npm --version
1.3.6
user@workstation ~> node --version
v0.10.42

stobias123 avatar Oct 12 '16 18:10 stobias123

actually it looks like the package in question might not be updated yet, i suspect you're hitting this: https://bugzilla.redhat.com/show_bug.cgi?id=1366491

it looks like the package hasn't been published yet because the centos image is still picking up rh-nodejs4-nodejs-tunnel-agent-0.3.0-4.el7.noarch

@hhorak any idea when the new tunnel-agent package will be available for the centos image?

bparees avatar Oct 12 '16 18:10 bparees