KNIME Update site cache

G’evening

I’m trying to cache some KNIME and Eclipse update sites in Artifactory but seem to have run into a snag.

This works fine: http://update.knime.com/analytics-platform/3.7

But if I try to access http://update.knime.org/community-contributions/trusted/3.7 via the browser or artifactory I get a 403, works fine in Eclipse though :expressionless:

Is there a server config your end preventing this or is it my end?

Cheers

Sam

Eclipse p2 repositories are not meant for human browsing. Eclipse looks for certain files (e.g. content.jar, artifacts.jar) which is why it works without errors. Browsing the directory tree on our server is disabled therefore you get the 403. The first update site has an index.html (don’t ask me why) therefore you get something back. Not of much use, though.
I don’t know Artifactory but the standard Eclips p2 mirror application only looks for those content/artifacts files and therefore works without problems.

Indeed, I’ve manually mirrored in the past without issue.

Sounds like it’s an issue with the artifactory implementation, I’ll see if I can get some support from them.

Thanks for the reply :smile:

EDIT:

Apparently if you just ignore the 403 error in artifactory it works anyway :roll_eyes:

Sorry to bring up an old topic…

@swebb is there any way you can give more information on how you cache KNIME extensions/updates in Artifactory? I’m working with our IT on doing just this, but I admittedly have very little experience with actually setting up Artifactory repos.

Any help would be greatly appreciated!

So I abandoned this before actually rolling it out to users. But I’ve just had a quick look to see if it works better in a more recent version of artifactory.

The process I just followed:

  1. Login to artifactory as an administrator
  2. Go to the admin tab (click the cogs on the left nav bar)
  3. Select Repositories > Repositories
  4. Select remote
  5. Click + New remote repository
  6. Configure along these lines
  7. Go back into the main (non admin window). Artifactory > Artifacts. You should see a new entry in the tree for your remote p2 site
  8. Select the p2 site
  9. Click ‘Set me up’ and you’ll be shown the URL to use as the P2 site when you try to install new software
    image
  10. This should now work in the KNIME Install New Software window

image

It doesn’t seem to show with jars have been cached though.

3 Likes

Thank you so much! I’ll update on how this works. Might be a KNIME lifesaver for us.

This worked perfectly, but like you mentioned, we can’t see what has been cached. We don’t see anything under the Names section actually. Could this be due to not running an initial cache or something? I’m only familiar with python repos in Artifactory, and I don’t have to select them to pull them down. It’s all done programmatically. Totally new territory here for me.

My understanding of how the remote repos worked was an item is only cached after it has been fetched. So if you’re setting up maven remotes you only see items in the tree that have been requested and I assume python works the same.

Local repos you should see all items in the tree though.

What is odd is how artifactory doesn’t appear to indicate what is being cached for p2 repos. I don’t know if this is because the p2 site is a composite site that combines multiple so it isn’t actually caching anything.

We have wandered out of my experience here, but I think I saw in another comment that your use case may be more needing a local proxy with centralised control of the KNIME update site access. So if there is a bug and it’s not caching but always ‘pass through’ maybe it still meets your need?

Might be a question to raise with JFrog support (I think this is a pro only feature so presumably you can raise a ticket with them)

Cheers

Sam

1 Like