summaryrefslogtreecommitdiff
path: root/DAnCE/tests/TargetManager/CmpClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'DAnCE/tests/TargetManager/CmpClient.cpp')
-rw-r--r--DAnCE/tests/TargetManager/CmpClient.cpp304
1 files changed, 0 insertions, 304 deletions
diff --git a/DAnCE/tests/TargetManager/CmpClient.cpp b/DAnCE/tests/TargetManager/CmpClient.cpp
deleted file mode 100644
index 2d9b9ca1982..00000000000
--- a/DAnCE/tests/TargetManager/CmpClient.cpp
+++ /dev/null
@@ -1,304 +0,0 @@
-/**
- * @file CmpClient.cpp
- *
- * @brief This file contains a client of TargetManager.
- *
- * It picks up the TM ior from the Targetmanager.ior file
- * present in the current directory, and makes the calls on the
- * TM to getAllResources and getAvailable resources
- */
-
-#include "Deployment/Deployment_DataC.h"
-#include "Deployment/Deployment_ResourceCommitmentManagerC.h"
-#include "DAnCE/TargetManager/TargetManagerC.h"
-#include "ace/iosfwd.h"
-#include "ace/FILE_IO.h"
-#include "ace/FILE_Connector.h"
-#include "ace/FILE_Addr.h"
-#include "ace/Get_Opt.h"
-#include "Config_Handlers/DnC_Dump.h"
-
-/**
- * TM_Tester contains the code to test the TM Component
- */
-namespace TM_Tester
-{
- /**
- * writes the extracted data to file
- */
- void write_to_file (::Deployment::Domain domain);
-
- /// variable contains IOR of the TM
- const ACE_TCHAR * stringified_TM_IOR;
-
- /// if add or delete from domain
- bool add_to_domain = true;
-
- /// whether to test update domain or not
- bool call_update = false;
-
- /// contains the host name
- const ACE_TCHAR* host_name;
-
- /// parses the arguments and extracts the params
- bool parse_args (int argc, ACE_TCHAR *argv[])
- {
- ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("t:u:d"));
- int c;
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 't':
- stringified_TM_IOR = get_opts.opt_arg ();
- break;
- case 'u':
- host_name = get_opts.opt_arg ();
- call_update = true;
- break;
- case 'd':
- add_to_domain = false;
- break;
- case '?': // display help for use of the server.
- default:
- DANCE_ERROR_RETURN (DANCE_LOG_EMERGENCY, (LM_ERROR,
- "usage: %s\n"
- "-t <TM_IOR>\n"
- "-u <host_name in update>\n"
- "-n <delete , default add>\n"
- "\n",
- argv [0]),
- false);
- }
-
- return true;
- }
-}
-
- /// The main function
- int ACE_TMAIN (int argc, ACE_TCHAR* argv[])
- {
- try {
- // First initialize the ORB, that will remove some arguments...
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv);
-
- if (!TM_Tester::parse_args (argc, argv))
- return -1;
-
- // Use the first argument to create the factory object reference,
- // in real applications we use the naming service, but let's do
- // the easy part first!
- CORBA::Object_var factory_object =
- orb->string_to_object (TM_Tester::stringified_TM_IOR);
-
- // Now downcast the object reference to the appropriate type
- CIAO::TargetManagerImpl_var targetCmp =
- CIAO::TargetManagerImpl::_narrow (factory_object.in ());
-
- // Now get the facet reference from the target Manager Component
- Deployment::TargetManager_ptr targetI = targetCmp->provide_targetMgr ();
-
- // Now make calls on the Target Manager facet
-
- try
- {
- Deployment::Domain_var domainV = targetI->getAllResources ();
- ::Deployment::DnC_Dump::dump (domainV);
- }
- catch(CORBA::NO_IMPLEMENT &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR ,"Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
- }
- catch(CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR ,"Error:TargetManager:CORBA Generic Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR ,"Error:TargetManager:Exception in TargetManager call\n"));
- }
-
-
- // make a call to the commit resources .....
-
- bool resource_available = true;
-
- ::Deployment::ResourceAllocations resource_seq;
-
- resource_seq.length (1);
-
- resource_seq[0].elementName = CORBA::string_dup ("TargetManagerNode_1");
-
- resource_seq[0].resourceName = CORBA::string_dup ("Processor");
-
- resource_seq[0].property.length (1);
- resource_seq[0].property[0].name =
- CORBA::string_dup ("LoadAverage");
-
- CORBA::Long d = 20;
- resource_seq[0].property[0].value <<= d;
-
- ::Deployment::ResourceCommitmentManager_ptr manager =
- ::Deployment::ResourceCommitmentManager::_nil ();
-
- try
- {
- manager = targetI->commitResources (resource_seq);
- }
- catch(const CORBA::NO_IMPLEMENT &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
- }
- catch (const ::Deployment::ResourceCommitmentFailure& e)
- {
- resource_available = 0;
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "TargetManager commitResources ResourceCommitmentFailure Exception\n"));
-
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR ,
- "ResourceCommitmentFailure\n reason=[%C]\n elementName=[%C]\n resourceName=[%C]\n propertyName=[%C]\n",
- e.reason.in (),
- resource_seq[e.index].elementName.in (),
- resource_seq[e.index].resourceName.in (),
- e.propertyName.in ()));
- }
- catch(const CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:commitResources Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA Generic Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:Exception in TargetManager call"));
- }
-
- // Make a call to release resources , if resource < 0
- try
- {
- {
- d = 10;
- resource_seq[0].property[0].value <<= d;
- manager->releaseResources (resource_seq);
- }
- }
- catch(const CORBA::NO_IMPLEMENT &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
- }
- catch (const Deployment::ResourceCommitmentFailure&)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager releaseResources ResourceNotAvailable Exception\n"));
- }
- catch(const CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:releaseResources Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA Generic Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:Exception in TargetManager call"));
- }
-
- // Here make a call on the TM with update domain and node deletion
-
- ::Deployment::Domain updated;
- updated.node.length (1);
- updated.node[0].name = CORBA::string_dup (ACE_TEXT_ALWAYS_CHAR (TM_Tester::host_name));
-
- ::CORBA::StringSeq elements;
- elements.length (0);
-
-
- if (TM_Tester::call_update)
- {
- if (TM_Tester::add_to_domain)
- {
- try
- {
- targetI->updateDomain (elements , updated, ::Deployment::Add);
- }
- catch(CORBA::NO_IMPLEMENT &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
- }
- catch(CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA Generic Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:Exception in UpdateDomain call"));
- }
- }
- else
- {
- try
- {
- targetI->updateDomain (elements , updated, ::Deployment::Delete);
- }
- catch(CORBA::NO_IMPLEMENT &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
- }
- catch(CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA Generic Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:Exception in UpdateDomain call"));
- }
- }
- }
-
- // Now make a call of getAvailableResources on the TargetManager ...
- try
- {
- Deployment::Domain_var domainV = targetI->getAvailableResources();
-
- // here write things to file ...
- TM_Tester::write_to_file (domainV.in());
-
- ::Deployment::DnC_Dump::dump (domainV);
- }
- catch(CORBA::NO_IMPLEMENT &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA::NO_IMPLEMENT thrown\n"));
- }
- catch(CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR ,"Error:TargetManager:CORBA Generic Exception\n"));
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:Exception in TargetManager call\n"));
- }
-
- // Finally destroy the ORB
- orb->destroy ();
- }
- catch (const CORBA::Exception &)
- {
- DANCE_ERROR (DANCE_LOG_EMERGENCY, (LM_ERROR, "Error:TargetManager:CORBA exception raised!\n"));
- }
- return 0;
- }
-
-namespace TM_Tester
-{
- void write_to_file (::Deployment::Domain domain)
- {
- for (size_t i = 0;i < domain.node.length ();i++)
- {
- std::ofstream out (domain.node[i].name.in ());
-
- // write in the node usage ...
- for (CORBA::ULong j = 0;j < domain.node[i].resource.length ();j++)
- {
-
- if (!ACE_OS::strcmp (domain.node[i].resource[j].name.in (), "Processor"))
- {
- CORBA::Double node_cpu;
- domain.node[i].resource[j].property[0].value >>= node_cpu;
- out << node_cpu << std::endl;
- }
- if (!ACE_OS::strcmp (domain.node[i].resource[j].name.in (), "NA_Monitor"))
- {
- std::string file_name = "NA_";
- file_name += domain.node[i].name.in ();
- ACE_FILE_IO file_io;
- ACE_FILE_Connector (file_io, ACE_FILE_Addr (ACE_TEXT_ALWAYS_CHAR (file_name.c_str ())));
- CORBA::Double na_node_cpu;
- domain.node[i].resource[j].property[0].value >>= na_node_cpu;
- char buf[BUFSIZ];
- ACE_OS::memset (buf , 0 , BUFSIZ);
- ACE_OS::sprintf (buf , "%f", na_node_cpu);
- file_io.send (buf, ACE_OS::strlen (buf));
- }
- }
-
- out.close ();
- }
- }
-}