Rh-che: [Gluster] Errors running yarn with gluster volume on osio

Created on 5 Nov 2018  路  17Comments  路  Source: redhat-developer/rh-che

Issue problem:
When running yarn on /projects (Gluster volume ... running without the node_modules trick, removing ~/.yarnrc )

error An unexpected error occurred: "EEXIST: file already exists, mkdir '/projects/the
ia/node_modules/cliui'".

Red Hat Che version:
version: (help/about menu)
Any ...

  • [x] I can reproduce it on latest official image

Reproduction Steps:

I have a demo showing the problem on osio without running Che:
https://asciinema.org/a/ZqmMTiAr4SsKyFcYAWIyWt3ov

The demo is showing the case we just want to clone Theia project and run yarn.

  • runninng the image https://github.com/sunix/docker-centos-git-yarn sunix/docker-centos-git-yarn which is a simple centos based image with git and yarn.
    oc run yarn --image=docker.io/sunix/docker-centos-git-yarn -- tail -f /dev/null
  • mounting/claim the gluster volume /workspaces
    oc volume dc/yarn --add -t pvc --name=yarn --claim-name=claim-che-workspace --mount-path=/workspaces
  • cloning the project https://github.com/theia-ide/theia.git
  • running the yarn command to build the project (and download dependencies)

Result:

  • The command is failling with the previous error.
  • It also shows how strange is the state of some folders created by yarn which has failed.
    $ ls -ll /workspaces/yarn/theia/node_modules/ |grep jsdom ls: cannot access /workspaces/yarn/theia/node_modules/jsdom: No such file or directory d?????????? ? ? ? ? ? jsdom
    I have notice that later on, some folders are finally fine and in a 'good' state (maybe after dropping pod ? ).

Runtime:

runtime used:

  • [ ] minishift (include output of minishift version)
  • [x] OpenShift.io
  • [ ] Openshift Container Platform (include output of oc version)
  • [ ] k8s (include output of kubectl version)

Related BZ - https://bugzilla.redhat.com/show_bug.cgi?id=1647229

kinbug severitP1

Most helpful comment

Closing due to migration to https://developers.redhat.com/developer-sandbox with the EBS storage backend

All 17 comments

Thank you @sunix. Can you confirm that this error happens at every try?

@gorkem @JohnStrunk this is another example of PV issue on openshift.io: building a nodejs project is failing with EEXIST: file already exists

@l0rd
Yes, every try. It may be related to the number of files in the volume. There is a threshold ... so if it does not happen, redo it again on another folder.
Maybe a cache issue ? maybe there are some adjustments to do so that the limitation covers most of nodejs projects.

@sunix am I correct that if you do not mount pvc and use emptyDir or container file system, this problem with file already exists is not reproducible ? If this is the case we need to create a HK issue

it's fine if you do the commands in a folder that is not part of the PVC

Confirmed. I can recreate this, and it looks like a gluster issue.

@JohnStrunk Is there a gluster issue to follow ?

@JohnStrunk Is there a gluster issue to follow ?

I'm still trying to isolate the problem. I will post here once I have more info.

Good news is that I can recreate the issue outside osio. I have opened the following BZ against Gluster: https://bugzilla.redhat.com/show_bug.cgi?id=1647229

Hello @JohnStrunk ,
Do you have any update about this issue ?
Thanks

I don't have any insight beyond what is in the BZ. This is being worked by Gluster devs, so the place to follow for updates is the referenced BZ.

@JohnStrunk are you able to help to reproduce ? https://bugzilla.redhat.com/show_bug.cgi?id=1647229#c17

@JohnStrunk @sunix Is this still continuing?

@JohnStrunk @sunix Is this still continuing?

@gorkem I have not tried recently but i think this is still an issue. @JohnStrunk We would need to help them to reproduce.

The question is ... do we really need Gluster ?

@sunix for che.openshift.io, it's not like we have a choice at the moment; storage on the cluster is backed by Gluster AFAIK.

it's not like we have a choice at the moment

This our infrastructure, and it doesn't fit for our usage ... so maybe it is time to choose something else.

Closing due to migration to https://developers.redhat.com/developer-sandbox with the EBS storage backend

Was this page helpful?
0 / 5 - 0 ratings