Troubleshooting your app on Red Hat’s OpenShift

My hosted server seems to not be responding or I’m getting a blank page instead of seeing my app:

  • Try tailing your server log and then hit your app to see if you’re getting errors:
rhc-tail-files -l your_account_id -a your_app_name
  • Give your account password and/or ssh passphrase when prompted

If you’re seeing exceptions from your app, this should give you a clue what’g going wrong.
If you’re seeing a a line in the log like this:

2012/04/03 13:08:59,601 INFO  [org.jboss.as.jpa] (MSC service thread 1-2) JBAS011403: Stopping Persistence Unit Service 'ROOT.war#persistenceUnit'
2012/04/03 13:09:00,152 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment ROOT.war in 20354ms

… then for some reason your app was stopped, and needs to be restarted manually. There are some ongoing issues in the OpenShift environment currently that Red Hat is investigating where apps are left in a stopped state (possibly related t your deployment taking too long and timing out).

Can I browse through my log files on the server?

ssh://long_string_here@your_app_name-your_domain_name.rhcloud.com/~/git/your_app_name.git/

… then the url to ssh to your server is this part:

long_string_here@your_app_name-your_domain_name.rhcloud.com

Ssh like this:

ssh long_string_here@your_app_name-your_domain_name.rhcloud.com

… enter your ssh passphrase when prompted. Your log files are in your_app_name/logs/ – the current log is server.log and there are copies of each log for each previous day. You can use common utils like vi/less/more/cat etc to view your files.

How do I check on the status of my app?

  • rhc-ctl-app -l your_acount_id -a your_app_name -c status

… this will show the status, either RUNNING, STOPPED, or if there is maintenance currently in progress you may see this message:

MESSAGES:
OpenShift is currently being upgraded, some services may be unavailable.

 

How do I manually restart or start my app?

  • rhc-ctl-app -l your_acount_id -a your_app_name -c restart | start

 

TrueCrypt with NTFS volumes on Mac OS X Lion

At some point I created a backup file on Windows 7 in a TrueCrypt volume container that was formatted with NTFS. I’m not sure why I originally formatted it with NTFS, but I think it was something to do with long filenames or a very deep directory nesting. Whatever. The point is, after upgrading to Lion, TrueCrypt would no longer mount this volume.

I did this several months ago, so I can’t remember what I originally did to get this setup, but apparently there’s something called MacFuse that adds support for additional filesystems, like NTFS on Mac. The version that I originally installed no longer works on Lion, so you need a different version that does – there’s a post here with a link to a version that works.

To get it working again, I uninstalled MacFuse and TrueCrypt, installed the version of MacFuse from above, reinstalled TrueCrypt, and not everything works.

Setting up Gitolite on Linux

This article has the definitive guide for setting up Gitolite on Linux from the source project from Github. I followed it step by step and what do you know, it all worked great.

To add new repos and users, pull down the gitolite-admin project from your newly created gitolite server:

git clone gitolite@your_server:gitolite-admin.git

Edit the conf/gitolite.conf file and follow the examples that are already there:

repo    reponame
        RW+ = username

Add the public key file for the user to the keydir dir (file name matching the username you just added to the gitolite.conf file, and then push back the changes:

git add . 
git commit -m "added new repos and users" 
git push origin master

To add an existing new project into the repo, cd into that project and add a new remote:

git remote add origin gitolite@your_server:project_name.git

where project_name matches a repo name that you added earlier to the gitolite.conf file.

Push it up to the repo:

git push origin master

You’re all set.