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; }
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; }
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; }