def add_alias(server_alias)
if !(server_alias =~ /\A[\w\-\.]+\z/) or (server_alias =~ /#{Rails.configuration.openshift[:domain_suffix]}$/)
raise OpenShift::UserException.new("Invalid Server Alias '#{server_alias}' specified", 105)
end
self.aliases = [] unless self.aliases
raise OpenShift::UserException.new("Alias '#{server_alias}' already exists for '#{@name}'", 255) if self.aliases.include? server_alias
reply = ResultIO.new
begin
self.aliases.push(server_alias)
self.save
reply.append self.container.add_alias(self, self.gear, self.framework, server_alias)
rescue Exception => e
Rails.logger.debug e.message
Rails.logger.debug e.backtrace.inspect
reply.append self.container.remove_alias(self, self.gear, self.framework, server_alias)
self.aliases.delete(server_alias)
self.save
raise
end
reply
end