public function preDelete(PropelPDO $con = null) { $mac = EtvaMacPeer::retrieveByMac($this->getMac()); $mac->setInUse(0); $mac->save(); $mac_strip = str_replace(':', '', $this->getMac()); $server = $this->getEtvaServer(); $node = $server->getEtvaNode(); $network_rra = new ServerNetworkRRA($node->getUuid(), $server->getUuid(), $mac_strip, false); $network_rra->delete(); return true; }
public function executeGraphPNG(sfWebRequest $request) { $etva_network = EtvaNetworkPeer::retrieveByPK($request->getParameter('id')); $etva_server = $etva_network->getEtvaServer(); $etva_node = $etva_server->getEtvaNode(); $graph_start = $request->getParameter('graph_start'); $graph_end = $request->getParameter('graph_end'); $mac_strip = str_replace(':', '', $etva_network->getMac()); try { $network_rra = new ServerNetworkRRA($etva_node->getUuid(), $etva_server->getUuid(), $mac_strip); $title = sprintf("%s :: %s", $etva_server->getName(), $etva_network->getMac()); $this->getResponse()->setContentType('image/png'); $this->getResponse()->setHttpHeader('Content-Type', 'image/png', TRUE); $this->getResponse()->sendHttpHeaders(); $this->getResponse()->setContent(print $network_rra->getGraphImg($title, $graph_start, $graph_end)); return sfView::HEADER_ONLY; } catch (sfFileException $e) { $error = array('success' => false, 'error' => $e->getMessage()); $error = $this->setJsonError($error); return $this->renderText($error); } }
function updateVirtAgentLogs($node_uuid, $data) { $c = new Criteria(); $c->add(EtvaNodePeer::UUID, $node_uuid); $return = 0; $etva_node = EtvaNodePeer::doSelectOne($c); if (!($etva_node = EtvaNodePeer::doSelectOne($c))) { $error_msg = sprintf('Object etva_node does not exist (%s).', $node_uuid); $error = array('success' => false, 'error' => $error_msg); return $error; } $node_initialize = $etva_node->getInitialize(); if ($node_initialize != EtvaNode_VA::INITIALIZE_OK) { $error_msg = sprintf('Etva node initialize status: %s', $node_initialize); $error = array('success' => false, 'error' => $error_msg); return $error; } $node_uuid = $etva_node->getUuid(); $cpu_load = $data->load; $cpu_load_sort = array($cpu_load->onemin, $cpu_load->fivemin, $cpu_load->fifteenmin); $cpu_load = new NodeLoadRRA($node_uuid); $cpu_load->update($cpu_load_sort); $virtServers = $data->virtualmachines; if ($virtServers) { foreach ($virtServers as $server_name => $server_data) { if ($etva_server = $etva_node->retrieveServerByName($server_name)) { if (isset($server_data->network)) { /* * store network info in RRA file */ $server_network_data = $server_data->network; /* * create file per network device */ foreach ($server_network_data as $intfname => $intfdata) { $macaddr = $intfdata->macaddr; $etva_network = $etva_server->retrieveByMac($macaddr); if ($etva_network) { $target = $etva_network->getTarget(); // if target not in network table of the DB if ($target != $intfname) { $etva_network->updateTarget($intfname); } $tx = $intfdata->tx_bytes; $rx = $intfdata->rx_bytes; $intf_sort = array($rx, $tx); $mac_strip = str_replace(':', '', $macaddr); // create log file $server_network_rra = new ServerNetworkRRA($node_uuid, $etva_server->getUuid(), $mac_strip); //send/update file information $return = $server_network_rra->update($intf_sort); } } } // end server networks /* * disk stuff */ if (isset($server_data->disk)) { $server_disk_data = $server_data->disk; foreach ($server_disk_data as $disk => $diskdata) { $diskname = $diskdata->name; $read_b = $diskdata->rd_bytes; $write_b = $diskdata->wr_bytes; $disk_sort = array($read_b, $write_b); // create log file $server_disk_rw_log = new ServerDisk_rwRRA($node_uuid, $etva_server->getUuid(), $diskname); //send/update file information $return = $server_disk_rw_log->update($disk_sort); /* * DISK SPACE RRA NOT USED ANYMORE */ //$size = $diskdata->size; //$freesize = $diskdata->freesize; //$disk_space = array($size,$freesize); //$server_disk_spaceRRA = new ServerDiskSpaceRRA($node_uuid,$etva_server->getUuid(),$diskname); //$return = $server_disk_spaceRRA->update($disk_space); } // end server disk } // store cpu utilization $server_cpu_data = $server_data->cpu; $server_cpu_per = array($server_cpu_data->cpu_per); // $logger->log("cpu ".$server_cpu_data->cpu_per); // create log file $server_cpu_per_rra = new ServerCpuUsageRRA($node_uuid, $etva_server->getUuid()); //send/update file information $return = $server_cpu_per_rra->update($server_cpu_per); /* * store memory info */ // store memory utilization $server_memory_data = $server_data->memory; $server_memory_per = array($server_memory_data->mem_per); // create log file $server_memory_per_rra = new ServerMemoryUsageRRA($node_uuid, $etva_server->getUuid()); //send/update file information $return = $server_memory_per_rra->update($server_memory_per); $server_memory_sort = array($server_memory_data->mem_m, $server_memory_data->mem_v); $server_memory = new ServerMemoryRRA($node_uuid, $etva_server->getUuid()); $server_memory->update($server_memory_sort); } // end virtualmachine stuff } } // $this->updateVirtAgentLogs_($node_uuid,$data); $all_params = array('request' => array('uuid' => $etva_node->getUuid(), 'data' => $data, 'method' => 'updateVirtAgentLogs'), 'response' => $return); // log function called $dispatcher = sfContext::getInstance()->getEventDispatcher(); $dispatcher->notify(new sfEvent($this, sfConfig::get('app_virtsoap_log'), $all_params)); return $return; }