Merge branch 'devel' of dev.sourcefabric.org:airtime into devel
This commit is contained in:
commit
2c3748a8ad
4 changed files with 66 additions and 34 deletions
|
@ -103,7 +103,7 @@ class ApiController extends Zend_Controller_Action
|
||||||
//flush the file contents 16 KBytes at a time. In the future we may
|
//flush the file contents 16 KBytes at a time. In the future we may
|
||||||
//want to use the "X-Sendfile header" method instead.
|
//want to use the "X-Sendfile header" method instead.
|
||||||
while (!feof($fp)) {
|
while (!feof($fp)) {
|
||||||
echo fread($fp, 16*1024);
|
echo fread($fp, 64*1024);
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
}
|
}
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../airtime_mvc/library/php-amqplib/amqp.inc';
|
require_once '../airtime_mvc/library/php-amqplib/amqp.inc';
|
||||||
|
|
||||||
//Step 1: Verify all config files in /etc/airtime/ exist and have size > 0 bytes.
|
|
||||||
|
|
||||||
//echo "*** Airtime System Check Script ***".PHP_EOL;
|
|
||||||
|
|
||||||
set_error_handler("myErrorHandler");
|
set_error_handler("myErrorHandler");
|
||||||
|
|
||||||
AirtimeCheck::CheckOsTypeVersion();
|
AirtimeCheck::CheckOsTypeVersion();
|
||||||
|
|
||||||
AirtimeCheck::CheckConfigFilesExist();
|
AirtimeCheck::CheckConfigFilesExist();
|
||||||
|
|
||||||
$airtimeIni = AirtimeCheck::GetAirtimeConf();
|
$airtimeIni = AirtimeCheck::GetAirtimeConf();
|
||||||
$pypoCfg = AirtimeCheck::GetPypoCfg();
|
$pypoCfg = AirtimeCheck::GetPypoCfg();
|
||||||
|
|
||||||
AirtimeCheck::GetDbConnection($airtimeIni);
|
AirtimeCheck::GetDbConnection($airtimeIni);
|
||||||
//AirtimeCheck::CheckRabbitMqVersion();
|
AirtimeCheck::PythonLibrariesInstalled();
|
||||||
|
|
||||||
AirtimeCheck::CheckRabbitMqConnection($airtimeIni);
|
AirtimeCheck::CheckRabbitMqConnection($airtimeIni);
|
||||||
|
|
||||||
AirtimeCheck::CheckApacheVHostFiles();
|
AirtimeCheck::CheckApacheVHostFiles();
|
||||||
|
@ -31,7 +29,6 @@ class AirtimeCheck{
|
||||||
const CHECK_FAILED = "FAILED";
|
const CHECK_FAILED = "FAILED";
|
||||||
|
|
||||||
public static function CheckPypoRunning(){
|
public static function CheckPypoRunning(){
|
||||||
//check using svstat
|
|
||||||
$command = "sudo svstat /etc/service/pypo";
|
$command = "sudo svstat /etc/service/pypo";
|
||||||
exec($command, $output, $result);
|
exec($command, $output, $result);
|
||||||
|
|
||||||
|
@ -61,7 +58,6 @@ class AirtimeCheck{
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function CheckLiquidsoapRunning(){
|
public static function CheckLiquidsoapRunning(){
|
||||||
//connect via telnet
|
|
||||||
$command = "sudo svstat /etc/service/pypo-liquidsoap";
|
$command = "sudo svstat /etc/service/pypo-liquidsoap";
|
||||||
exec($command, $output, $result);
|
exec($command, $output, $result);
|
||||||
|
|
||||||
|
@ -101,13 +97,12 @@ class AirtimeCheck{
|
||||||
|
|
||||||
foreach ($confFiles as $cf){
|
foreach ($confFiles as $cf){
|
||||||
$fullPath = "/etc/airtime/$cf";
|
$fullPath = "/etc/airtime/$cf";
|
||||||
//echo "\t".$fullPath." ... ";
|
|
||||||
if (!file_exists($fullPath)){
|
if (!file_exists($fullPath)){
|
||||||
$allFound = AirtimeCheck::CHECK_FAILED;
|
$allFound = AirtimeCheck::CHECK_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "AIRTIME_CONFIG=$allFound".PHP_EOL;
|
echo "AIRTIME_CONFIG_FILES=$allFound".PHP_EOL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,8 +136,6 @@ class AirtimeCheck{
|
||||||
|
|
||||||
$dbconn = pg_connect("host=$host port=5432 dbname=$dbname user=$dbuser password=$dbpass");
|
$dbconn = pg_connect("host=$host port=5432 dbname=$dbname user=$dbuser password=$dbpass");
|
||||||
|
|
||||||
//echo PHP_EOL."Verifying Airtime Database".PHP_EOL;
|
|
||||||
|
|
||||||
if ($dbconn === false){
|
if ($dbconn === false){
|
||||||
$status = AirtimeCheck::CHECK_FAILED;
|
$status = AirtimeCheck::CHECK_FAILED;
|
||||||
} else {
|
} else {
|
||||||
|
@ -152,6 +145,31 @@ class AirtimeCheck{
|
||||||
echo "TEST_PGSQL_DATABASE=$status".PHP_EOL;
|
echo "TEST_PGSQL_DATABASE=$status".PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function PythonLibrariesInstalled(){
|
||||||
|
$command = "pip freeze | grep kombu";
|
||||||
|
exec($command, $output, $result);
|
||||||
|
|
||||||
|
$status = AirtimeCheck::CHECK_FAILED;
|
||||||
|
if (count($output[0]) > 0){
|
||||||
|
$key_value = split("==", $output[0]);
|
||||||
|
$status = trim($key_value[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "PYTHON_KOMBU_VERSION=$status".PHP_EOL;
|
||||||
|
|
||||||
|
unset($output);
|
||||||
|
$command = "pip freeze | grep poster";
|
||||||
|
exec($command, $output, $result);
|
||||||
|
|
||||||
|
$status = AirtimeCheck::CHECK_FAILED;
|
||||||
|
if (count($output[0]) > 0){
|
||||||
|
$key_value = split("==", $output[0]);
|
||||||
|
$status = trim($key_value[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "PYTHON_POSTER_VERSION=$status".PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
public static function CheckDbTables(){
|
public static function CheckDbTables(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -184,7 +202,6 @@ class AirtimeCheck{
|
||||||
* */
|
* */
|
||||||
|
|
||||||
public static function CheckRabbitMqConnection($airtimeIni){
|
public static function CheckRabbitMqConnection($airtimeIni){
|
||||||
//echo PHP_EOL."Verifying RabbitMQ Service".PHP_EOL;
|
|
||||||
try {
|
try {
|
||||||
$status = AirtimeCheck::CHECK_OK;
|
$status = AirtimeCheck::CHECK_OK;
|
||||||
$conn = new AMQPConnection($airtimeIni["rabbitmq"]["host"],
|
$conn = new AMQPConnection($airtimeIni["rabbitmq"]["host"],
|
||||||
|
@ -192,19 +209,14 @@ class AirtimeCheck{
|
||||||
$airtimeIni["rabbitmq"]["user"],
|
$airtimeIni["rabbitmq"]["user"],
|
||||||
$airtimeIni["rabbitmq"]["password"]);
|
$airtimeIni["rabbitmq"]["password"]);
|
||||||
} catch (Exception $e){
|
} catch (Exception $e){
|
||||||
//echo "\tConnection ... [Failed!]".PHP_EOL;
|
|
||||||
//exit;
|
|
||||||
$status = AirtimeCheck::CHECK_FAILED;
|
$status = AirtimeCheck::CHECK_FAILED;
|
||||||
}
|
}
|
||||||
//echo "\tConnection ... [OK]".PHP_EOL;
|
|
||||||
|
|
||||||
echo "TEST_RABBITMQ_SERVER=$status".PHP_EOL;
|
echo "TEST_RABBITMQ_SERVER=$status".PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function GetAirtimeServerVersion($pypoCfg){
|
public static function GetAirtimeServerVersion($pypoCfg){
|
||||||
|
|
||||||
//echo PHP_EOL."Checking Airtime Server Version".PHP_EOL;
|
|
||||||
|
|
||||||
$baseUrl = $pypoCfg["base_url"];
|
$baseUrl = $pypoCfg["base_url"];
|
||||||
$basePort = $pypoCfg["base_port"];
|
$basePort = $pypoCfg["base_port"];
|
||||||
$apiKey = "%%api_key%%";
|
$apiKey = "%%api_key%%";
|
||||||
|
@ -221,20 +233,14 @@ class AirtimeCheck{
|
||||||
while (($buffer = fgets($rh)) !== false) {
|
while (($buffer = fgets($rh)) !== false) {
|
||||||
$json = json_decode(trim($buffer), true);
|
$json = json_decode(trim($buffer), true);
|
||||||
if (!is_null($json)){
|
if (!is_null($json)){
|
||||||
//echo "\t\tAirtime Version ".$json["version"]." ... [OK] ".PHP_EOL;
|
|
||||||
$version = $json["version"];
|
$version = $json["version"];
|
||||||
echo "AIRTIME_VERSION_STRING=$version".PHP_EOL;
|
echo "AIRTIME_VERSION_STRING=$version".PHP_EOL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
//echo "\t\tConnection ... [Failed!]".PHP_EOL;
|
|
||||||
//exit;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function CheckApacheVHostFiles(){
|
public static function CheckApacheVHostFiles(){
|
||||||
//echo PHP_EOL."Checking for Airtime Apache config files".PHP_EOL;
|
|
||||||
|
|
||||||
$fileNames = array("/etc/apache2/sites-available/airtime",
|
$fileNames = array("/etc/apache2/sites-available/airtime",
|
||||||
"/etc/apache2/sites-enabled/airtime");
|
"/etc/apache2/sites-enabled/airtime");
|
||||||
|
|
||||||
|
|
|
@ -9,15 +9,28 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
set_include_path('/var/www/airtime/library' . PATH_SEPARATOR . get_include_path());
|
$ini = get_ini_file();
|
||||||
set_include_path('/var/www/airtime/application/models' . PATH_SEPARATOR . get_include_path());
|
$airtime_base_dir = $ini['general']['airtime_dir'];
|
||||||
require_once('/var/www/airtime/application/configs/conf.php');
|
|
||||||
require_once('/var/www/airtime/application/models/StoredFile.php');
|
set_include_path("$airtime_base_dir/library" . PATH_SEPARATOR . get_include_path());
|
||||||
|
set_include_path("$airtime_base_dir/application/models" . PATH_SEPARATOR . get_include_path());
|
||||||
|
require_once("$airtime_base_dir/application/configs/conf.php");
|
||||||
|
require_once('StoredFile.php');
|
||||||
require_once('DB.php');
|
require_once('DB.php');
|
||||||
require_once 'propel/runtime/lib/Propel.php';
|
require_once 'propel/runtime/lib/Propel.php';
|
||||||
Propel::init('/var/www/airtime/application/configs/airtime-conf.php');
|
Propel::init("$airtime_base_dir/application/configs/airtime-conf.php");
|
||||||
|
|
||||||
|
|
||||||
|
function get_ini_file(){
|
||||||
|
$ini = parse_ini_file("/etc/airtime/airtime.conf", true);
|
||||||
|
if ($ini === FALSE || !array_key_exists('airtime_dir', $ini['general'])){
|
||||||
|
echo "Could not open /etc/airtime/airtime.conf. Is Airtime installed?".PHP_EOL;
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ini;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Look through all the files in the database and remove the rows
|
* Look through all the files in the database and remove the rows
|
||||||
|
|
|
@ -12,10 +12,13 @@ set_time_limit(0);
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
set_error_handler("import_error_handler", E_ALL & !E_NOTICE);
|
set_error_handler("import_error_handler", E_ALL & !E_NOTICE);
|
||||||
|
|
||||||
set_include_path('/var/www/airtime/library' . PATH_SEPARATOR . get_include_path());
|
$ini = get_ini_file();
|
||||||
|
$airtime_base_dir = $ini['general']['airtime_dir'];
|
||||||
|
|
||||||
require_once("/var/www/airtime/application/configs/conf.php");
|
set_include_path("$airtime_base_dir/library" . PATH_SEPARATOR . get_include_path());
|
||||||
require_once("/var/www/airtime/application/models/StoredFile.php");
|
|
||||||
|
require_once("$airtime_base_dir/application/configs/conf.php");
|
||||||
|
require_once("$airtime_base_dir/application/models/StoredFile.php");
|
||||||
require_once('DB.php');
|
require_once('DB.php');
|
||||||
require_once('Console/Getopt.php');
|
require_once('Console/Getopt.php');
|
||||||
|
|
||||||
|
@ -25,6 +28,16 @@ function import_error_handler()
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_ini_file(){
|
||||||
|
$ini = parse_ini_file("/etc/airtime/airtime.conf", true);
|
||||||
|
if ($ini === FALSE || !array_key_exists('airtime_dir', $ini['general'])){
|
||||||
|
echo "Could not open /etc/airtime/airtime.conf. Is Airtime installed?".PHP_EOL;
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ini;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function printUsage()
|
function printUsage()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue