Example #1
0
function check_revision_status($deployment)
{
    $currRev = RevDeploy::getDeploymentRev($deployment);
    $nextRev = RevDeploy::getDeploymentNextRev($deployment);
    if ($currRev == $nextRev) {
        $incrRev = RevDeploy::incrDeploymentNextRev($deployment);
        CopyDeploy::copyDeploymentRevision($deployment, $currRev, $incrRev);
    }
    return true;
}
Example #2
0
 public static function copyDeploymentRevision($deployment, $fromrev, $torev)
 {
     if (self::$init === false) {
         self::init();
     }
     self::$m_commonrepo = RevDeploy::getDeploymentCommonRepo($deployment);
     $results = array();
     $results['timeperiods'] = RevDeploy::getCommonMergedDeploymentTimeperiodswData($deployment, $fromrev);
     $results['commands'] = RevDeploy::getCommonMergedDeploymentCommands($deployment, $fromrev, false);
     $results['contacttemplates'] = RevDeploy::getCommonMergedDeploymentContactTemplates($deployment, $fromrev);
     $results['contactgroups'] = RevDeploy::getCommonMergedDeploymentContactGroups($deployment, $fromrev);
     $results['contacts'] = RevDeploy::getCommonMergedDeploymentContacts($deployment, $fromrev);
     $results['hosttemplates'] = RevDeploy::getCommonMergedDeploymentHostTemplates($deployment, $fromrev);
     $results['hostgroups'] = RevDeploy::getCommonMergedDeploymentHostGroups($deployment, $fromrev);
     $results['servicetemplates'] = RevDeploy::getCommonMergedDeploymentSvcTemplates($deployment, $fromrev);
     $results['servicegroups'] = RevDeploy::getCommonMergedDeploymentSvcGroups($deployment, $fromrev);
     $results['servicedependencies'] = RevDeploy::getCommonMergedDeploymentSvcDependencies($deployment, $fromrev);
     $results['serviceescalations'] = RevDeploy::getDeploymentSvcEscalationswInfo($deployment, $fromrev);
     $results['services'] = RevDeploy::getCommonMergedDeploymentSvcs($deployment, $fromrev);
     $results['nodetemplates'] = RevDeploy::getDeploymentNodeTemplateswInfo($deployment, $fromrev);
     $results['resourcecfg'] = RevDeploy::getDeploymentResourceCfg($deployment, $fromrev);
     $results['cgicfg'] = RevDeploy::getDeploymentCgiCfg($deployment, $fromrev);
     $results['modgearmancfg'] = RevDeploy::getDeploymentModgearmanCfg($deployment, $fromrev);
     $results['nagioscfg'] = RevDeploy::getDeploymentNagiosCfg($deployment, $fromrev);
     $results['nrpecmds'] = RevDeploy::getDeploymentNRPECmdswInfo($deployment, $fromrev);
     $results['nrpecfg'] = RevDeploy::getDeploymentNRPECfg($deployment, $fromrev);
     $results['nrpeplugins'] = RevDeploy::getDeploymentNRPEPluginswData($deployment, $fromrev);
     $results['supnrpecfg'] = RevDeploy::getDeploymentSupNRPECfg($deployment, $fromrev);
     $results['supnrpeplugins'] = RevDeploy::getDeploymentSupNRPEPluginswData($deployment, $fromrev);
     $results['nagiosplugins'] = RevDeploy::getDeploymentNagiosPluginswData($deployment, $fromrev);
     foreach ($results as $key => $value) {
         if (empty($value)) {
             continue;
         }
         switch ($key) {
             case 'timeperiods':
                 self::copyTimeperiods($deployment, $torev, $results['timeperiods']);
                 break;
             case 'commands':
                 self::copyCommands($deployment, $torev, $results['commands']);
                 break;
             case 'contacttemplates':
                 self::copyContactTemplates($deployment, $torev, $results['contacttemplates']);
                 break;
             case 'contactgroups':
                 self::copyContactGroups($deployment, $torev, $results['contactgroups']);
                 break;
             case 'contacts':
                 self::copyContacts($deployment, $torev, $results['contacts']);
                 break;
             case 'hosttemplates':
                 self::copyHostTemplates($deployment, $torev, $results['hosttemplates']);
                 break;
             case 'hostgroups':
                 self::copyHostGroups($deployment, $torev, $results['hostgroups']);
                 break;
             case 'servicetemplates':
                 self::copyServiceTemplates($deployment, $torev, $results['servicetemplates']);
                 break;
             case 'servicegroups':
                 self::copyServiceGroups($deployment, $torev, $results['servicegroups']);
                 break;
             case 'servicedependencies':
                 self::copyServiceDependencies($deployment, $torev, $results['servicedependencies']);
                 break;
             case 'serviceescalations':
                 self::copyServiceEscalations($deployment, $torev, $results['serviceescalations']);
                 break;
             case 'services':
                 self::copyServices($deployment, $torev, $results['services']);
                 break;
             case 'nodetemplates':
                 self::copyNodeTemplates($deployment, $torev, $results['nodetemplates']);
                 break;
             case 'resourcecfg':
                 self::copyResourceCfg($deployment, $torev, $results['resourcecfg']);
                 break;
             case 'cgicfg':
                 self::copyCGICfg($deployment, $torev, $results['cgicfg']);
                 break;
             case 'modgearmancfg':
                 self::copyModgearmanCfg($deployment, $torev, $results['modgearmancfg']);
                 break;
             case 'nagioscfg':
                 self::copyNagiosCfg($deployment, $torev, $results['nagioscfg']);
                 break;
             case 'nrpecmds':
                 self::copyNRPECmds($deployment, $torev, $results['nrpecmds']);
                 break;
             case 'nrpecfg':
                 self::copyNRPECfg($deployment, $torev, $results['nrpecfg']);
                 break;
             case 'nrpeplugins':
                 self::copyNRPEPlugins($deployment, $torev, $results['nrpeplugins']);
                 break;
             case 'supnrpecfg':
                 self::copySupNRPECfg($deployment, $torev, $results['supnrpecfg']);
                 break;
             case 'supnrpeplugins':
                 self::copySupNRPEPlugins($deployment, $torev, $results['supnrpeplugins']);
                 break;
             case 'nagiosplugins':
                 self::copyNagiosPlugins($deployment, $torev, $results['nagiosplugins']);
                 break;
             default:
                 break;
         }
     }
 }
Example #3
0
    } else {
        $msg = "Successfully Removed Revision [ {$revisions} ]";
    }
    $apiResponse = new APIViewData(0, $deployment, $msg);
    $apiResponse->printJson();
})->name('saigon-api-delete-revisions');
$app->map('/sapi/deployment/:deployment/resetstagedrevision', function ($deployment) use($app) {
    check_deployment_exists($app, $deployment);
    check_auth($app, $deployment);
    $currRev = RevDeploy::getDeploymentRev($deployment);
    $nextRev = RevDeploy::getDeploymentNextRev($deployment);
    if ($currRev == $nextRev) {
        $apiResponse = new APIViewData(1, $deployment, "Unable to process request, no staged revision exists to reset");
        $app->halt(404, $apiResponse->returnJson());
    }
    CopyDeploy::resetDeploymentRevision($deployment, $currRev, $nextRev);
    $apiResponse = new APIViewData(0, $deployment, "Successfully Reset Staged Revision [ {$nextRev} ] From The Current Revision [ {$currRev} ]");
    $apiResponse->printJson();
})->via('GET', 'POST')->name('saigon-api-reset-revisions');
$app->map('/sapi/deployment/:deployment/revisionlog', function ($deployment) use($app) {
    check_deployment_exists($app, $deployment);
    $revisionInfo = RevDeploy::getAuditLog($deployment);
    $apiResponse = new APIViewData(0, $deployment, false);
    $apiResponse->setExtraResponseData('log', $revisionInfo);
    $apiResponse->printJson();
})->via('GET', 'POST')->name('saigon-api-revisionlog');
$app->get('/sapi/deployment/:deployment/hosttypes', function ($deployment) use($app) {
    check_deployment_exists($app, $deployment);
    $locations = HostInputs::fetchLocations();
    $inputs = HostInputs::fetchInputs();
    $merged = array_merge($locations, $inputs);
Example #4
0
 /**
  * checkDeploymentRevStatus 
  * 
  * @param mixed $deployment deployment we are processing 
  *
  * @access public
  * @return void
  */
 public function checkDeploymentRevStatus($deployment)
 {
     $currRev = RevDeploy::getDeploymentRev($deployment);
     $nextRev = RevDeploy::getDeploymentNextRev($deployment);
     if ($currRev === false && $nextRev === false) {
         return;
     }
     if ($currRev == $nextRev) {
         $incrRev = RevDeploy::incrDeploymentNextRev($deployment);
         CopyDeploy::copyDeploymentRevision($deployment, $currRev, $incrRev);
     }
 }
 /**
  * reset_ftr_rev - reset future revision to match current revision information 
  * 
  * @access public
  * @return void
  */
 public function reset_ftr_rev()
 {
     $viewData = new ViewData();
     $deployment = $this->getDeployment('deployment_error');
     $this->checkGroupAuth($deployment);
     $currrev = RevDeploy::getDeploymentRev($deployment);
     $nextrev = RevDeploy::getDeploymentNextRev($deployment);
     if ($currrev == $nextrev) {
         $viewData->header = $this->getErrorHeader('deployment_error');
         $viewData->error = 'Unable to process request, no new revision exists to reset';
         $this->sendError('generic_error', $viewData);
     }
     CopyDeploy::resetDeploymentRevision($deployment, $currrev, $nextrev);
     $viewData->deployment = $deployment;
     $viewData->currrev = $currrev;
     $viewData->nextrev = $nextrev;
     $this->sendResponse('deployment_rfr', $viewData);
 }