Darkserver

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(abrt-action-install-debuginfo-to-abrt-cache removed as it is irrelevant, it can never query files no longer indexed by repodata.)
(spelling: MySQL has this and no other capitalization.)
Line 20: Line 20:
  
 
   * Django >= 1.2.5
 
   * Django >= 1.2.5
   * Mysql server
+
   * MySQL server
  
 
The web service does not need any authentication. It will require read only access to the database, the users will only require to query the service.  
 
The web service does not need any authentication. It will require read only access to the database, the users will only require to query the service.  
Line 36: Line 36:
 
<pre>
 
<pre>
 
[darkserverweb]
 
[darkserverweb]
host=MYSQL host name
+
host=MySQL host name
user=MYSQL user (read only access)
+
user=MySQL user (read only access)
 
password=password
 
password=password
 
database=database name
 
database=database name
 
</pre>
 
</pre>
Remember that the webserver only requires read only access to the mysql.
+
Remember that the webserver only requires read only access to MySQL.
  
 
To use the darkserver-import tool you will have to fill up /etc/darkserver/darkserver.conf in the same way.
 
To use the darkserver-import tool you will have to fill up /etc/darkserver/darkserver.conf in the same way.
 
<pre>
 
<pre>
 
[darkserver]
 
[darkserver]
host=MYSQL host name
+
host=MySQL host name
user=MYSQL user (read/write access)
+
user=MySQL user (read/write access)
 
password=password
 
password=password
 
database=database name
 
database=database name
 
</pre>
 
</pre>

Revision as of 21:37, 6 December 2011

Darkserver is a service written to help people finding details of build-id(s). People will be able query the service based on build-id(s) or rpm package names. The service will provide output in JSON format as it will be easier for other tools to parse the output.

The whole idea is based on a feature of BUILD-ID which was completed in Fedora 8 time, you can read about it here.

Source Code

Source code is under github and can be found here.

Why we need the service ?

To enable developer tools to identify exact package builds from which process images (e.g. core dumps) come. This can enable their analysis, debugging profiling, by finding out where the rpm / elf / dwarf files may be found, so they can download them.

Architecture of the project

View this image.

Requirements

 * Django >= 1.2.5
 * MySQL server

The web service does not need any authentication. It will require read only access to the database, the users will only require to query the service.

The information on the database will be filled up by darkserver-import command, which will only execute through bodhi on every update pushed through.

How to setup?

Install the darkserver and darkserver-import rpms. Run the createtable.sql under /usr/share/darkserver to create table structure in the database.

$ mysql -u user -p -Ddatabasename < /usr/share/darkserver/createtable.sql

Edit the configuration file at /etc/darkserver/darkserverweb.conf as

[darkserverweb]
host=MySQL host name
user=MySQL user (read only access)
password=password
database=database name

Remember that the webserver only requires read only access to MySQL.

To use the darkserver-import tool you will have to fill up /etc/darkserver/darkserver.conf in the same way.

[darkserver]
host=MySQL host name
user=MySQL user (read/write access)
password=password
database=database name