public function putMaintenance(EtvaNode $etva_sparenode = null, $off = false) { if (!$etva_sparenode || $etva_sparenode->isNodeFree() && $etva_sparenode->getState() == EtvaNode::NODE_ACTIVE) { // if has sparenode, migrate all servers only if node is free and is active // else do right distribution of servers for each node $this->migrateAllServers($etva_sparenode, $off); } // put node in maintenance $this->etva_node->setState(EtvaNode::NODE_MAINTENANCE); $this->etva_node->save(); }