Plone on OpenShift quickstart using the DIY cartridge


TLDR; Plone is now deployable easily on openshift.redhat.com . Check out the repository here: https://github.com/kagesenshi/plone-openshift-quickstart.

Plone on openshift.redhat.com

Yesterday I posted about  deploying Plone using a cartridge in your own private OpenShift Origin VM.

Afterwards that day, I had some chat in the #openshift IRC channel and was informed that it is OK to run buildout in openshift.redhat.com, and last night, I converted the scripts and config from the cartridge so that it fits in the workflow of the DIY cartridge.

Features/Notes:
  • Deploys Plone 4.2 with Dexterity content types easily and quickly on openshift.redhat.com
  • Downloads are cached in ${OPENSHIFT_TMP_DIR}/${OPENDIR_APP_UUID}-cache. However, as this is not shared, it means all new apps will have to redownload the python eggs. While it might be possible to use a shared download cache for this  (OPENSHIFT_TMP_DIR is apparently /tmp), I am not sure whether the SELinux settings in the server allows it or not.
  • Virtualenv and generated eggs are stored in OPENSHIFT_DATA_DIR. Technically though, they are not exactly data. However, as we need them to be persistent, and the DIY cartridge does not provide a folder to store persistent, non-data, automatically generated files, they had to be stored there.
  • The quickstart template is quite generic for any buildout-based deployment. So, technically, you can add support for Grok, BlueBream and any framework that can be deployed using buildout using this template as its base. I'm planning to create a quickstart template for deploying Grok either tonight or later this week.  Will post about it.

Comments

Unknown said…
Thanks for your efforts in making Plone deployable on OpenShift! I tried out your repo, and managed to get Plone deployed, but the git push took a really long time!

Maybe it would be a better approach to download a tarball bundle of pre-compiled eggs rather than fetching them during the buildout process.

See how @pigeonflight did it with his Dotcloud Plone repo. https://github.com/pigeonflight/stack-python-plone/blob/master/getplone.sh#L7
David B said…
I'm seriously looking into the "egg bundling" approach for openshift, especially now that dotcloud is sunsetting their free sandboxes.

Popular posts from this blog

Announcing PlatoCDP, a Plone distribution for enterprises.

Adding simple popup to Plone frontpage

Consolidated community site infrastructure on Plone