
this adds a wsgi application which processes all the txt.gz log files and htmlifies them on the fly before sending them to the user. It uses content negotiation to only do this if the client says it Accepts text/html, otherwise it just dumps them back out as text/plain. In either case the content is compressed with mod_deflate, which provides a 15x-20x bandwidth savings vs. if we left it uncompressed on the wire. Should get more testing before general deployment, but this is getting close to the approach I think we want to use. This enables the functionality on a new logs-dev.openstack.org vhost so that we can do live testing that this works before switching over the main site to it. Change-Id: I12a06c4b55be05fb8060b76f5aea9ebc801c0537
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
# -*- 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 %>
|
|
|
|
RewriteEngine On
|
|
# rewrite all txt.gz files to map to our internal htmlify wsgi app
|
|
RewriteRule ^/(.*\.txt\.gz)$ /htmlify/$1 [QSA,L,PT]
|
|
WSGIScriptAlias /htmlify /usr/local/bin/htmlify-screen-log.py
|
|
# 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
|
|
</Directory>
|
|
<Directory <%= docroot %>/*/*/*/gate-tempest-devstack*/*>
|
|
ReadmeName /help/tempest-overview.html
|
|
</Directory>
|
|
<Directory <%= docroot %>/*/*/*/gate-tempest-devstack*/*/logs/>
|
|
ReadmeName /help/tempest-logs.html
|
|
</Directory>
|
|
|
|
ErrorLog /var/log/apache2/<%= name %>_error.log
|
|
LogLevel warn
|
|
CustomLog /var/log/apache2/<%= name %>_access.log combined
|
|
ServerSignature Off
|
|
</VirtualHost>
|