-
Notifications
You must be signed in to change notification settings - Fork 0
FAQs
This is a list of things that I (@diddledan) came across on initial forays into the world of AppScale.
By default AppScale sets (at least the first) apps to listen on port 8080 for HTTP requests. This can be changed by running the appscale command similarly to how you started your cluster:
appscale relocate appname 80 443
The above command sets the application called "appname" to listen to HTTP on port 80 and HTTPs to port 443 (again the standardised ports for HTTP and secure HTTP via SSL respectively).
My EC2 cluster's "up" command fails to complete by seemingly hanging at "Copying over needed files and starting the AppController on the other VMs"
This is likely caused as a consequence of trying to achieve a system that doesn't lose data when shut down via a secondary disc image. Due to changes in the XEN foundations of Amazon's EC2 since AppScale was originally written the second disc image gets called /dev/xvdc. This causes problems with the 1.11.0 version of the AMI because this AMI expects the second image to appear at /dev/sdc. The fix is a bit involved for the time being, but I've been told that the latest source code has changes which alleviate the problem. Until those changes get rolled into a release, however, you can do the following if you're brave:
- create a standard ec2 machine using ec2's normal creation procedures based upon the 1.11.0 AMI available in the public repository. (a t1.micro system is fine for this step.)
- once the system has booted login as ubuntu@your.temporary.system.address.example.com via SSH (Secure SHell).
- using sudo and your favourite commandline text editor (I use nano), create a file at /sbin/euca-udev with the contents from Eucalyptus-Scripts github.
- run
sudo chmod +x /sbin/euca-devto set the file as executable. - likewise, create a file called /etc/udev/rules.d/06-euca-udev.rules with the content from Eucalyptus-Scripts github. This file does not need to be made executable. (this file specifies that when /dev/xvdc is created that the system also run the /sbin/euca-udev program which will tell it to create a link at /dev/sdc which points to the /dev/xvdc device.)
- create an AMI out of your temporary machine and terminate the machine once it has completed the snapshot.
- navigate to your appscale directory and edit your
AppScalefileto insert the new ami number from your snapshot in the previous step in place of the existing ami reference. This will tell appscale to use your customised image which will have the two files above that fix the problem of missing /dev/sdc on bootup.
Alternatively for the 'somewhat brave', but not quite brave enough for the procedure above, I've created an ami in us-east labelled "ami-952e01fc" which, if I've done it right, is available publicly.