Exemplo n.º 1
0
 public function getSearchResults($input)
 {
     $results = array();
     $param = strtoupper($input->srchparam);
     $inputArray = array('exec' => 'datareturner', 'datacenter' => $param, 'rf' => array('config.fqdn', 'config.ipaddress', 'facts.ilo_ipaddress', 'cloud.rightscale.links.self'));
     GlobalArgParser::setGlobalArgs($inputArray);
     GlobalArgParser::setUser(CMDB_USER);
     GlobalArgParser::setPassword(CMDB_PASS);
     $output = QueryWrapper::execute(GlobalArgParser::getQueryLocation());
     foreach ($output as $idx => $hostObj) {
         if (!isset($hostObj->fields) || empty($hostObj->fields)) {
             continue;
         }
         $fields = get_object_vars($hostObj->fields);
         if (empty($fields)) {
             continue;
         }
         $host = $fields['config.fqdn'];
         $results[$host]['host_name'] = $fields['config.fqdn'];
         $results[$host]['address'] = $fields['config.ipaddress'];
         if (isset($fields['facts.ilo_ipaddress']) && !empty($fields['facts.ilo_ipaddress'])) {
             $results[$host]['action_url'] = 'https://' . $fields['facts.ilo_ipaddress'];
         } elseif (isset($fields['cloud.rightscale.links.self']) && !empty($fields['cloud.rightscale.links.self'])) {
             $results[$host]['action_url'] = CMDBHelperFuncs::buildCloudHostUrl($fields['cloud.rightscale.links.self']);
         }
     }
     return $results;
 }
Exemplo n.º 2
0
 private function getHosts($mode, $param, $state = 'active')
 {
     $results = array();
     if ($mode == 'physical') {
         $inputArray = array('exec' => 'datareturner', 'state' => $state, 'glob' => '*.' . strtolower($param) . '.host.com', 'rf' => array('config.fqdn', 'config.ipaddress', 'facts.ilo_ipaddress'));
     } elseif ($mode == 'virtual') {
         $inputArray = array('exec' => 'datareturner', 'state' => $state, 'glob' => '*.' . strtolower($param) . '.host.com', 'rf' => array('config.fqdn', 'config.ipaddress', 'cfacts.parent', 'cloud.rightscale.links.self'));
     } else {
         return array();
     }
     GlobalArgParser::setGlobalArgs($inputArray);
     GlobalArgParser::setUser(CMDB_USER);
     GlobalArgParser::setPassword(CMDB_PASS);
     $output = QueryWrapper::execute(GlobalArgParser::getQueryLocation());
     foreach ($output as $idx => $hostObj) {
         if (!isset($hostObj->fields) || empty($hostObj->fields)) {
             continue;
         }
         $fields = get_object_vars($hostObj->fields);
         if (empty($fields)) {
             continue;
         }
         $host = $fields['config.fqdn'];
         $results[$host]['host_name'] = $fields['config.fqdn'];
         $results[$host]['address'] = $fields['config.ipaddress'];
         if ($mode == 'physical') {
             if (isset($fields['facts.ilo_ipaddress']) && !empty($fields['facts.ilo_ipaddress'])) {
                 $results[$host]['action_url'] = 'https://' . $fields['facts.ilo_ipaddress'];
             }
         } elseif ($mode == 'virtual') {
             if (isset($fields['cloud.rightscale.links.self']) && !empty($fields['cloud.rightscale.links.self'])) {
                 $results[$host]['action_url'] = CMDBHelperFuncs::buildCloudHostUrl($fields['cloud.rightscale.links.self']);
             }
         }
         if (isset($fields['cfacts.parent']) && !empty($fields['cfacts.parent'])) {
             $results[$host]['parents'] = $fields['cfacts.parent'];
         }
         if ($mode == 'physical') {
             if ($state == 'active') {
                 $results[$host]['icon_image'] = 'linux40.png';
                 $results[$host]['icon_image_alt'] = 'Active / Operating';
             } elseif ($state == 'active_repair') {
                 $results[$host]['icon_image'] = 'ignore_me.png';
                 $results[$host]['icon_image_alt'] = 'Active Repair / Ignore Me!!';
             }
         } elseif ($mode == 'virtual') {
             if ($state == 'active') {
                 $results[$host]['icon_image'] = 'xen.png';
                 $results[$host]['icon_image_alt'] = 'Active / Operating';
             }
         }
     }
     return $results;
 }
Exemplo n.º 3
0
 public function getSearchResults($input)
 {
     $results = array();
     $param = $input->srchparam;
     $inputArray = array('exec' => 'datareturner', 'glob' => $param, 'rf' => array('config.fqdn', 'facts.ipaddress_eth0', 'facts.ipaddress_eth1', 'facts.ilo_ipaddress', 'cloud.rightscale.links.self'));
     GlobalArgParser::setGlobalArgs($inputArray);
     GlobalArgParser::setUser(CMDB_USER);
     GlobalArgParser::setPassword(CMDB_PASS);
     $output = QueryWrapper::execute(GlobalArgParser::getQueryLocation());
     foreach ($output as $idx => $hostObj) {
         if (!isset($hostObj->fields) || empty($hostObj->fields)) {
             continue;
         }
         $fields = get_object_vars($hostObj->fields);
         if (empty($fields)) {
             continue;
         } elseif (!isset($fields['facts.ipaddress_eth0']) || empty($fields['facts.ipaddress_eth0'])) {
             continue;
         } elseif (!isset($fields['facts.ipaddress_eth1']) || empty($fields['facts.ipaddress_eth1'])) {
             continue;
         }
         // Build out Host based on eth0 address
         $eth0host = $fields['config.fqdn'];
         $results[$eth0host]['host_name'] = $fields['config.fqdn'];
         $results[$eth0host]['address'] = $fields['facts.ipaddress_eth0'];
         if (isset($fields['facts.ilo_ipaddress']) && !empty($fields['facts.ilo_ipaddress'])) {
             $results[$eth0host]['action_url'] = 'https://' . $fields['facts.ilo_ipaddress'];
         } elseif (isset($fields['cloud.rightscale.links.self']) && !empty($fields['cloud.rightscale.links.self'])) {
             $results[$eth0host]['action_url'] = CMDBHelperFuncs::buildCloudHostUrl($fields['cloud.rightscale.links.self']);
         }
         // Build out Host based on eth1 address
         $tmpfields = preg_split("/\\./", $fields['config.fqdn']);
         $eth1host = array_shift($tmpfields);
         $eth1host .= "-eth1." . implode(".", $tmpfields);
         $results[$eth1host]['host_name'] = $eth1host;
         $results[$eth1host]['address'] = $fields['facts.ipaddress_eth1'];
         if (isset($fields['facts.ilo_ipaddress']) && !empty($fields['facts.ilo_ipaddress'])) {
             $results[$eth1host]['action_url'] = 'https://' . $fields['facts.ilo_ipaddress'];
         } elseif (isset($fields['cloud.rightscale.links.self']) && !empty($fields['cloud.rightscale.links.self'])) {
             $results[$eth1host]['action_url'] = CMDBHelperFuncs::buildCloudHostUrl($fields['cloud.rightscale.links.self']);
         }
     }
     return $results;
 }