Description of problem: See forum post: https://www.redhat.com/openshift/community/forums/openshift/devshm-support Users are requesting r/w access to /dev/shm for Python app multiprocessing. Is that something we can do? User's comments: "I'm experimenting with a diy app with the goal of deploying a django application with gunicorn, supervisor and celery support. When running celeryd on openshift, the following error "[Errno 38] Function not implemented - multiprocessing " is thrown. Upon investigation i found an issue related to the lack of OS shm support: https://github.com/ask/celery/issues/185 . Would it be something that could be added to the openshift architecture?" Thanks; ~Nam
It's not today. We might be able to add it but quota and security issues abound. We certainly couldn't set it up as a shared environment (as in, multiple gears using the same location). We'll have to do some more research on the cost / benefit of doing such a thing.
Updating on an old bug. I *think* they can do shared environment memory now but not sure, re-assigning to tkramer to look at and confirm or see if it's reasonable to do.
Just to add another forum thread to this issue: https://openshift.redhat.com/community/forums/openshift/problem-with-starting-celery-on-the-openshift-python-26-environment celeryd is dependent upon /dev/shm support.
I just hit the same problem. Is there any news? my app was almost ready when I discovered I can not really use celery on OpenShift. Now I'd need to decide if it's better to look for another PaaS solution or there is hope this is going to be fixed in the near term
Support for /dev/shm (limited to 5MB) is now available as of devenv_2423+.
The original user was just looking for /dev/shm support. We need to test it in terms of writability, isolation, quota, tmpfs usability (does the files get removed when the user logs out), etc. We can investigate specific use cases with our carts separately.
Verified on devenv_2431 Steps: 1. Create a python application rhc app create pythonapp python-2.6 2. ssh into created application, write to /dev/shm [py1-2431t.dev.rhcloud.com ~]\> ls -Zd /dev/shm/ drwxrwxrwt. root root system_u:object_r:tmpfs_t:s0:c0,c511 /dev/shm/ [py1-2431t.dev.rhcloud.com ~]\> dd if=/dev/zero of=/dev/shm/file bs=10M count=1 dd: writing `/dev/shm/file': No space left on device 1+0 records in 0+0 records out 5226496 bytes (5.2 MB) copied, 0.0277891 s, 188 MB/s [py1-2431t.dev.rhcloud.com ~]\> ls -lh /dev/shm/file -rw-r--r--. 1 2174adcf838f486eb52bcc75fb5a9168 2174adcf838f486eb52bcc75fb5a9168 5.0M Nov 6 02:04 /dev/shm/file Quota is 5MB 3. Create another application, ssh into app and check file under /dev/shm rhc app create phpapp php-5.3 [php1-2431t.dev.rhcloud.com ~]\> ls -lh /dev/shm/ total 0 4. Log out of first application, and ssh into it again, check file under /dev/shm [py1-2431t.dev.rhcloud.com ~]\> ls -lh /dev/shm/ total 0 Tested in terms of writability, isolation, quota, tmpfs usability, so move it to verified.
Status bump - need to use Celery for a demo