# File lib/openshift-origin-controller/app/models/application.rb, line 1181
  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