I typically use Amazon’s AWS EC2 cloud services which include Route53 for DNS however I have certain clients that prefer RackSpace and therefore require RackSpace Cloud DNS services. One of the primary reasons for not just using an external DNS service such as Amazon’s Route53 DNS service is because when you setup large cloud deployments you typically are going to need internal DNS entries for communication between cloud instances and DNS services such as Route53 will not respond externally to RFC1918 or private IP space for those DNS entries. Anyhow one thing that is well documented or easy to accomplish on Route53 is creating A records with multiple IP’s for round robin DNS which provides a cheap easy to configure load balancing of sorts for different services such as MySQL. I could not find any documentation or mention of round robin DNS setup on RackSpace Cloud DNS so I wanted to explain how I was able to accomplish this.
If you have created a custom RightScript in the RightScale interface that uses git to clone a repository and you are running that RightScript on boot following the RightScale git_repo recipe then you likely are having issues. The problem appears to stem from the fact that the environment variables are not completely cleaned up as expected including $GIT_SSH and possibly others. I have a work around noted below along with a line you can enter in your RightScript to clear the $GIT_SSH ENV variable as well.
Recently I was looking to obtain a couple specific DNS record ID’s for domains with DNS hosted in the RackSpace Cloud so I could use the information to interact with RackSpace Instances through RightScale. Various RightScale ServerTemplates such as the MySQL Cluster ServerTemplates require you to enter the exact DNS record ID as RightScale Inputs for the ServerTemplate. I am not sure why the record ID’s are not listed in a column in the RackSpace Cloud DNS management interface but regardless the below method of querying the RackSpace API make it fairly easy to obtain them regardless.
The below code snippet was used to add SSH users to RackSpace cloud CentOS Linux nodes being used as application servers and managed via RightScale. The SSH users were required during a testing phase so they could look through logs and make modifications to specific configuration files, etc. There are three things that have to happen to create the SSH user, allow them to login, and provide them the necessary rights on the server to accomplish their tasks which include adding the user, modifying the sshd config to allow password logins, and update the sudoers file to enable sudo access for wheel group users.
Recently I was working on a project that was using RightScale to manage RackSpace cloud nodes. One of the requirements of the project was to have application nodes scale automatically thus they were required to automatically install software, configure settings, and start services automatically on the RackSpace CentOS nodes being used. Most everything was fairly straight forward however some of the services we were using would not start properly and initially because of the lack of logging from the services we were unable to figure out what the problem was. Below I describe the problem in more detail along with the solution which involved updating a configuration file on the CentOS Linux servers and then restarting the services.