Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Becker2013-02-27 20:51:26 +0000
committerFrank Becker2013-03-03 14:19:28 +0000
commit79ab69be4e224df99536eaef5e8a36280f4f0102 (patch)
tree8bf9b1f4ac9762b9c5dac5cdcbbd8a2ebcb7550b
parentd06ff2d5026b525e90a6d0424a8b0e3e431c2b21 (diff)
downloadorg.eclipse.mylyn-79ab69be4e224df99536eaef5e8a36280f4f0102.tar.gz
org.eclipse.mylyn-79ab69be4e224df99536eaef5e8a36280f4f0102.tar.xz
org.eclipse.mylyn-79ab69be4e224df99536eaef5e8a36280f4f0102.zip
399803: list all services in index.html
Change-Id: Ibeae4fa4ba99b1061f960b4bbae10f0f6d35fa79 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=399803
-rw-r--r--org.eclipse.mylyn.releng/vagrant/Vagrantfile2
-rw-r--r--org.eclipse.mylyn.releng/vagrant/manifests/default.pp36
-rw-r--r--org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi41
-rw-r--r--org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp48
-rw-r--r--org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb38
5 files changed, 142 insertions, 23 deletions
diff --git a/org.eclipse.mylyn.releng/vagrant/Vagrantfile b/org.eclipse.mylyn.releng/vagrant/Vagrantfile
index 65a0c34c..2958994f 100644
--- a/org.eclipse.mylyn.releng/vagrant/Vagrantfile
+++ b/org.eclipse.mylyn.releng/vagrant/Vagrantfile
@@ -19,5 +19,5 @@ Vagrant::Config.run do |config|
config.vm.provision :shell, :inline => "cd /tmp/vagrant-gerrit && sudo /opt/vagrant_ruby/bin/puppet apply --modulepath /tmp/vagrant-gerrit/modules manifests/default.pp"
config.vm.provision :shell, :inline => "cd /tmp/vagrant-trac && sudo /opt/vagrant_ruby/bin/puppet apply --modulepath /tmp/vagrant-trac/modules manifests/default.pp"
- config.vm.provision :puppet
+ config.vm.provision :puppet , :module_path => "modules"
end
diff --git a/org.eclipse.mylyn.releng/vagrant/manifests/default.pp b/org.eclipse.mylyn.releng/vagrant/manifests/default.pp
index c991dd8c..9d1fd9a8 100644
--- a/org.eclipse.mylyn.releng/vagrant/manifests/default.pp
+++ b/org.eclipse.mylyn.releng/vagrant/manifests/default.pp
@@ -1,23 +1,15 @@
-$content ='#!/bin/bash
+/*******************************************************************************
+ * Copyright (c) 2012 Frank Becker and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Frank Becker - initial API and implementation
+ * Steffen Pingel (Tasktop Techologies)
+ *******************************************************************************/
+Exec {
+ path => ["/bin/", "/sbin/", "/usr/bin/", "/usr/sbin/"] }
-echo content-type: application/json
-echo
-
-echo "["
-c=0
-for i in $(find /home/tools -name "service*.json")
-do
- if [ $c != 0 ]
- then
- echo ","
- fi
- cat $i
- c=c+1
-done
-echo "]"
-'
-
-file { "/usr/lib/cgi-bin/services":
- content => "$content",
- mode => 755,
-}
+include "mylyn" \ No newline at end of file
diff --git a/org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi
new file mode 100644
index 00000000..45adb260
--- /dev/null
+++ b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi
@@ -0,0 +1,41 @@
+#!/usr/bin/perl -w
+use strict;
+use warnings;
+use CGI;
+use File::Find::Rule;
+
+my $cgi = new CGI;
+my $buffer = $cgi->query_string();
+my $callback = $cgi -> param('callback');
+my $muster = 'service*.json';
+my @verzeichnisse = (
+ '/home/tools',
+);
+
+my @files = File::Find::Rule->file()
+ ->name( $muster )
+ ->in( @verzeichnisse );
+
+print "Content-type:application/json\r\n\r\n";
+if ($callback) {
+ print "$callback(";
+}
+print "[\n";
+my $c=0;
+foreach my $file (@files) {
+ open(INFILE, "< $file");
+ my @filedata=<INFILE>;
+ close(INFILE);
+ if ($c>0) {
+ print ",\n";
+ }
+ foreach my $fd (@filedata)
+ {
+ print "$fd";
+ }
+ $c= $c + 1;
+}
+print "]";
+if ($callback) {
+ print ")";
+}
diff --git a/org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp
new file mode 100644
index 00000000..7847184d
--- /dev/null
+++ b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Frank Becker and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Frank Becker - initial API and implementation
+ * Steffen Pingel (Tasktop Techologies)
+ *******************************************************************************/
+class mylyn {
+
+ exec { "apt-get update":
+ command => "apt-get update",
+ onlyif => "find /var/lib/apt/lists/ -mtime -7 | (grep -q Package; [ $? != 0 ])",
+ }
+
+ $requirements = [
+ "apache2",
+ "apache2.2-common",
+ "libfile-find-rule-perl-perl"
+ ]
+
+ package { $requirements:
+ ensure => "installed",
+ require => Exec["apt-get update"],
+ }
+
+ service { "apache2":
+ ensure => running,
+ require => Package["apache2"],
+ }
+
+ file { "/usr/lib/cgi-bin/services":
+ source => "puppet:///modules/mylyn/services.cgi",
+ mode => 755,
+ require => Package[$requirements],
+ }
+
+ file { "/var/www/index.html":
+ content => template('mylyn/index.html.erb'),
+ mode => 644,
+ require => Package[$requirements],
+ }
+
+}
+ \ No newline at end of file
diff --git a/org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb
new file mode 100644
index 00000000..57aa17c4
--- /dev/null
+++ b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb
@@ -0,0 +1,38 @@
+<html><body><h1>Mylyn Services</h1>
+<p>This is the default web page for the Mylyn Test Server.</p>
+<p>The web server software is running with the following services.</p>
+<blockquote>
+ <script type="text/javascript">
+ <!-- to hide script contents from old browsers
+ function insertReply(content) {
+ var erg = "<table width=\"100%\" border=\"1\"><tbody>";
+ erg = erg + "<tr><td>Kind</td><td>URL</td><td>Version</td><td>Info</td><td>Properties</td></tr>";
+ for (var i=0,len=content.length; i<len; i++) {
+ erg = erg + "<tr><td>" + content[i].type
+ + "</td><td><a href=\"" + content[i].url
+ + "\">"+ content[i].url + "</a></td><td>" + content[i].version+ "</td><td>"
+ + content[i].info + "</td><td>";
+ var properties = content[i].properties;
+ if(!properties) {
+ erg = erg + " ";
+ } else {
+ var keys = Object.keys(properties);
+ for (var j=0,lenkeys=keys.length; j<lenkeys; j++) {
+ erg = erg + keys[j]+ " = " + properties[keys[j]] +"<br>";
+ }
+ }
+ erg = erg + "</td></tr>";
+ }
+ erg = erg + "</tbody></table>";
+ document.getElementById('output').innerHTML = erg;
+ }
+ // create script element
+ var script = document.createElement('script');
+ // assing src with callback name
+ script.src = 'cgi-bin/services?callback=insertReply';
+ // insert script to document and load content
+ document.body.appendChild(script);
+ // end hiding contents from old browsers -->
+ </script> </blockquote>
+ <a id="output">empty service list</a>
+</body></html>

Back to the top