# -*- apache -*-
# ************************************
# Managed by Puppet
# ************************************

NameVirtualHost <%= vhost_name %>:<%= port %>
<VirtualHost <%= vhost_name %>:<%= port %>>
  ServerName <%= srvname %>
<% if serveraliases.is_a? Array -%>
<% serveraliases.each do |name| -%><%= " ServerAlias #{name}\n" %><% end -%>
<% elsif serveraliases != '' -%>
<%= " ServerAlias #{serveraliases}" %>
<% end -%>
  DocumentRoot <%= docroot %>

  # use Apache to compress the results afterwards, to save on the wire
  # it's approx 18x savings of wire traffic to compress. We need to
  # compress by content types that htmlify can produce
  AddOutputFilterByType DEFLATE text/plain text/html

  <FilesMatch \.html\.gz$>
    ForceType text/html
    AddDefaultCharset UTF-8
    AddEncoding x-gzip gz
  </FilesMatch>
  <Directory <%= docroot %>>
    Options <%= options %>
    AllowOverride None
    Order allow,deny
    allow from all
    Satisfy Any
  </Directory>
  <Directory /usr/local/lib/python2.7/dist-packages/os_loganalyze>
    Allow from all
    Satisfy Any
  </Directory>

  <Directory <%= docroot %>/*/*/*/*/*-tempest-dsvm*/*>
     ReadmeName /help/tempest-overview.html
  </Directory>
  <Directory <%= docroot %>/periodic*/*/*-tempest-dsvm*/*>
     ReadmeName /help/tempest-overview.html
  </Directory>
  <Directory <%= docroot %>/*/*/*/*/*-tempest-dsvm*/*/logs/>
     ReadmeName /help/tempest-logs.html
  </Directory>
  <Directory <%= docroot %>/periodic*/*/*-tempest-dsvm*/*/logs/>
     ReadmeName /help/tempest-logs.html
  </Directory>

  # old patterns, can be removed in July 2014
  <Directory <%= docroot %>/*/*/*/*/gate-tempest-devstack*/*>
     ReadmeName /help/tempest-overview.html
  </Directory>
  <Directory <%= docroot %>/periodic/*/periodic-tempest-devstack*/*>
     ReadmeName /help/tempest-overview.html
  </Directory>
  <Directory <%= docroot %>/*/*/*/*/gate-tempest-devstack*/*/logs/>
     ReadmeName /help/tempest-logs.html
  </Directory>
  <Directory <%= docroot %>/periodic/*/periodic-tempest-devstack*/*/logs/>
     ReadmeName /help/tempest-logs.html
  </Directory>

  RewriteEngine On
  # rewrite txt.gz & console.html[.gz] files to map to our internal htmlify
  # wsgi app
  # PT, Pass-through:  to come back around and get picked up by the
  #                    WSGIScriptAlias
  # NS, No-subrequest: on coming back through, mod-autoindex may have added
  #                    index.html which would match the !-f condition. We
  #                    therefore ensure the rewrite doesn't trigger by
  #                    disallowing subrequests.
  RewriteRule ^/(.*\.txt\.gz)$ /htmlify/$1 [QSA,L,PT,NS]
  RewriteRule ^/(.*console\.html(\.gz)?)$ /htmlify/$1 [QSA,L,PT,NS]

  # Check if the request exists as a file, directory or symbolic link
  # If not, write the request to htmlify to see if we can fetch from swift
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !^/icon
  RewriteRule ^/(.*)$ /htmlify/$1 [QSA,L,PT,NS]

  WSGIScriptAlias /htmlify /usr/local/lib/python2.7/dist-packages/os_loganalyze/wsgi.py

  ErrorLog /var/log/apache2/<%= name %>_error.log
  LogLevel warn
  CustomLog /var/log/apache2/<%= name %>_access.log combined
  ServerSignature Off
</VirtualHost>