From 9924407b5ebcbc839a188b985447dd598c5925da Mon Sep 17 00:00:00 2001 From: wolff1 Date: Thu, 26 Feb 2009 23:25:13 +0000 Subject: ChangeLogTag: Thu Feb 26 23:23:05 UTC 2009 Friedhelm Wolf --- CIAO/ChangeLog | 19 +++++++++ CIAO/DAnCE/Deployment/DAnCE_Core.mpc | 29 ++++++++++++-- CIAO/DAnCE/Deployment/FaultCorrelationManager.idl | 3 +- .../FaultCorrelationManager.mpc | 2 + .../FaultCorrelationManager_Impl.cpp | 45 ++++++++++++++++++++- .../FaultCorrelationManager_Impl.h | 46 +++++++++++++++++++++- .../FaultCorrelationManager_Module.cpp | 22 ++++++++++- .../FaultCorrelationManager_Module.h | 7 +++- 8 files changed, 163 insertions(+), 10 deletions(-) diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 26b03e8e944..570a52c29ce 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,22 @@ +Thu Feb 26 23:23:05 UTC 2009 Friedhelm Wolf + + * DAnCE/Deployment/FaultCorrelationManager.idl: + + Added execution manager interface as inherited interface. + + * DAnCE/Deployment/DAnCE_Core.mpc: + + Created a separate library for the FaultCorrelationManager + interface. + + * DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.h + * DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.h + * DAnCE/FaultCorrelationManager/FaultCorrelationManager.mpc + * DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.cpp + * DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.cpp: + + Implemented basic funtionality of execution manager forwarding. + Thu Feb 26 18:17:03 UTC 2009 Friedhelm Wolf * DAnCE/Deployment/FaultCorrelationManager.idl diff --git a/CIAO/DAnCE/Deployment/DAnCE_Core.mpc b/CIAO/DAnCE/Deployment/DAnCE_Core.mpc index 876d0bc6341..24d578fe2da 100644 --- a/CIAO/DAnCE/Deployment/DAnCE_Core.mpc +++ b/CIAO/DAnCE/Deployment/DAnCE_Core.mpc @@ -42,7 +42,6 @@ project(Deployment_IDL) : ciaolib_with_idl, ciao_output, valuetype, gen_ostream Deployment_DomainApplication.idl Deployment_ExecutionManager.idl Deployment_RepositoryManager.idl - FaultCorrelationManager.idl } } @@ -83,7 +82,6 @@ project(Deployment_stub) : ciaolib_with_idl, ciao_output, valuetype, ifr_client, Deployment_RepositoryManagerC.cpp Deployment_ResourceCommitmentManagerC.cpp DAnCE_PropertiesC.cpp - FaultCorrelationManagerC.cpp } } @@ -115,7 +113,32 @@ project(Deployment_svnt) : dance_deployment_stub, ciao_output, ciaolib_with_idl, Deployment_ExecutionManagerS.cpp Deployment_TargetManagerS.cpp Deployment_ResourceCommitmentManagerS.cpp - FaultCorrelationManagerS.cpp } } + +project(FCM) : ciaolib_with_idl, ciao_output, valuetype, ifr_client, messaging, dance_lib, dance_logger, gen_ostream, lwft_client { + after += Deployment_svnt + libs += DAnCE_Deployment_svnt DAnCE_Deployment_stub + sharedname = FCM + + // This is necessary for MPC to pull in rules.ciao.GNU + includes += $(CIAO_ROOT) + + dynamicflags += DEPLOYMENT_STUB_BUILD_DLL + + idlflags += -Wb,stub_export_macro=Deployment_stub_Export + idlflags += -Wb,stub_export_include=Deployment_stub_export.h + idlflags += -Wb,skel_export_macro=Deployment_stub_Export + idlflags += -Wb,skel_export_include=Deployment_stub_export.h + + + IDL_Files { + FaultCorrelationManager.idl + } + + Source_Files { + FaultCorrelationManagerC.cpp + FaultCorrelationManagerS.cpp + } +} diff --git a/CIAO/DAnCE/Deployment/FaultCorrelationManager.idl b/CIAO/DAnCE/Deployment/FaultCorrelationManager.idl index 77722488201..f559c9f3823 100644 --- a/CIAO/DAnCE/Deployment/FaultCorrelationManager.idl +++ b/CIAO/DAnCE/Deployment/FaultCorrelationManager.idl @@ -4,10 +4,11 @@ #define FAULTCORRELATIONMANAGER_IDL #include "orbsvcs/orbsvcs/LWFT/FaultNotification.idl" +#include "Deployment_ExecutionManager.idl" module FTDeployment { - interface FaultCorrelationManager : FLARE::FaultNotification { + interface FaultCorrelationManager : FLARE::FaultNotification, Deployment::ExecutionManager { void stop_failver_unit (in string fou_id); }; }; diff --git a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager.mpc b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager.mpc index 03340f84a9f..642de59dfc2 100644 --- a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager.mpc +++ b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager.mpc @@ -1,9 +1,11 @@ project(FaultCorrelationManager_Module) : dance_lib, dance_deployment_svnt, dance_deployment_stub, naming_serv, lwft_client, utils { sharedname = FaultCorrelationManager + libs += FCM dynamicflags = FAULTCORRELATIONMANAGER_BUILD_DLL FAULTCORRELATIONMANAGER_MODULE_BUILD_DLL Source_Files { + // FaultCorrelation_Task.cpp FaultCorrelationManager_Impl.cpp FaultCorrelationManager_Module.cpp } diff --git a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.cpp b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.cpp index 30ee3061e87..0c8af7563af 100644 --- a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.cpp +++ b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.cpp @@ -16,8 +16,10 @@ namespace DAnCE { FaultCorrelationManager_Impl::FaultCorrelationManager_Impl ( CORBA::ORB_ptr orb, + Deployment::ExecutionManager_ptr exec_mgr, const PROPERTY_MAP & options) : orb_ (CORBA::ORB::_duplicate (orb)), + exec_mgr_ (Deployment::ExecutionManager::_duplicate (exec_mgr)), properties_ (options.current_size ()) { } @@ -32,8 +34,47 @@ namespace DAnCE } void - FaultCorrelationManager_Impl::proc_failure (const char *, - const char *) + FaultCorrelationManager_Impl::proc_failure (const char * /* object_id */, + const char * /* node_id */) { } + + ::Deployment::DomainApplicationManager_ptr + FaultCorrelationManager_Impl::preparePlan ( + const ::Deployment::DeploymentPlan & plan, + ::Deployment::ResourceCommitmentManager_ptr resourceCommitment) + { + Deployment::DomainApplicationManager_var dam = + exec_mgr_->preparePlan (plan, resourceCommitment); + + dams_.bind (plan.UUID.in(), dam.in ()); + + this->process_deployment_plan (plan); + + return Deployment::DomainApplicationManager::_duplicate (dam.in ()); + } + + ::Deployment::DomainApplicationManagers * + FaultCorrelationManager_Impl::getManagers (void) + { + return exec_mgr_->getManagers (); + } + + void + FaultCorrelationManager_Impl::destroyManager ( + Deployment::DomainApplicationManager_ptr manager) + { + Deployment::DeploymentPlan_var plan = manager->getPlan (); + + dams_.unbind (plan->UUID.in ()); + + exec_mgr_->destroyManager (manager); + } + + void + FaultCorrelationManager_Impl::process_deployment_plan ( + const Deployment::DeploymentPlan & /* plan */) + { + } + }; diff --git a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.h b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.h index 2e229310f01..5ceb8f932eb 100644 --- a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.h +++ b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.h @@ -13,10 +13,13 @@ #ifndef FAULTCORRELATIONMANAGER_IMPL_H_ #define FAULTCORRELATIONMANAGER_IMPL_H_ +#include "ace/Map_Manager.h" #include "tao/ORB.h" #include "FaultCorrelationManager_export.h" #include "Deployment/FaultCorrelationManagerS.h" #include "Deployment/Deployment_common.h" +#include "Deployment/Deployment_ExecutionManagerC.h" +//#include "Deployment/Deployment_DomainApplicationManagerC.h" namespace DAnCE { @@ -30,6 +33,7 @@ namespace DAnCE public: // the fixed listener port is caused by the usage of CCM Object locator FaultCorrelationManager_Impl (CORBA::ORB_ptr orb, + Deployment::ExecutionManager_ptr exec_mgr, const PROPERTY_MAP &options); virtual ~FaultCorrelationManager_Impl(); @@ -37,12 +41,50 @@ namespace DAnCE virtual void stop_failver_unit (const char * fou_id); // methods from inherited interfaces - virtual void proc_failure (const char *, - const char *); + + // FaultNotification + virtual void proc_failure (const char * object_id, + const char * node_id); + + // ExecutionManager + virtual ::Deployment::DomainApplicationManager_ptr preparePlan ( + const ::Deployment::DeploymentPlan & plan, + ::Deployment::ResourceCommitmentManager_ptr resourceCommitment); + + virtual ::Deployment::DomainApplicationManagers * getManagers ( + void); + + virtual void destroyManager ( + ::Deployment::DomainApplicationManager_ptr manager); + + private: + + void process_deployment_plan (const Deployment::DeploymentPlan & plan); + + private: + typedef ACE_Map_Manager TDomainManagers; + + typedef ACE_Map_Manager TStringMap; + + typedef TStringMap TInstancesOfPlan; + typedef TStringMap TNodeComponents; private: CORBA::ORB_var orb_; + + Deployment::ExecutionManager_var exec_mgr_; + PROPERTY_MAP properties_; + + TDomainManagers dams_; + + TInstancesOfPlan instances_; + + TNodeComponents nodes_; }; } diff --git a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.cpp b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.cpp index 8fcb79f1cfe..271aa8b3d8d 100644 --- a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.cpp +++ b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.cpp @@ -110,6 +110,9 @@ FaultCorrelationManager_Module::parse_args (int argc, ACE_TCHAR * argv[]) get_opts.opt_arg ())); this->options_.domain_nc_ = get_opts.opt_arg (); break; + case 'e': + this->options_.exec_mgr_ior_ = get_opts.opt_arg (); + break; case 'h': //case '?': // Display help for use of the server. @@ -295,8 +298,24 @@ FaultCorrelationManager_Module::create_object (CORBA::ORB_ptr orb, } } + /* + DANCE_DEBUG ((LM_DEBUG, DLINFO "FaultCorrelationManager_Module::create_object - " + "starting thread.\n")); + + if (task_.activate () != 0) + { + DANCE_DEBUG ((LM_ERROR, DLINFO "FaultCorrelationManager_Module::create_object - " + "ERROR - could not start new thread.\n")); + } + */ + DANCE_DEBUG ((LM_DEBUG, DLINFO "FaultCorrelationManager_Module::create_object - " - "FaultCorrelationManager::run_main - creating FaultCorrelationManager\n")); + "creating FaultCorrelationManager\n")); + + CORBA::Object_var obj = orb->string_to_object (this->options_.exec_mgr_ior_); + + Deployment::ExecutionManager_var exec_mgr = + Deployment::ExecutionManager::_narrow (obj.in ()); //Creating node manager servant DAnCE::FaultCorrelationManager_Impl * fcm = 0; @@ -307,6 +326,7 @@ FaultCorrelationManager_Module::create_object (CORBA::ORB_ptr orb, ACE_NEW_RETURN (fcm, DAnCE::FaultCorrelationManager_Impl (orb, + exec_mgr.in (), properties), CORBA::Object::_nil ()); diff --git a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.h b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.h index 0111938790e..0a6080e2704 100644 --- a/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.h +++ b/CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.h @@ -31,6 +31,7 @@ #include "tao/Object_Loader.h" #include "DAnCE/Deployment/DAnCE_Loader.h" #include "DAnCE/Deployment/Deployment_common.h" +//#include "FaultCorrelation_Task.h" namespace DAnCE { class FaultCorrelationManager_Impl; @@ -56,6 +57,7 @@ class FaultCorrelationManager_Module_Export FaultCorrelationManager_Module const char* create_plan_ns_ior_; const char * domain_nc_; const char * instance_nc_; + const char * exec_mgr_ior_; SOptions() : process_ns_ (false), @@ -63,7 +65,8 @@ class FaultCorrelationManager_Module_Export FaultCorrelationManager_Module create_plan_ns_ (false), create_plan_ns_ior_ (0), domain_nc_ (0), - instance_nc_ (0) + instance_nc_ (0), + exec_mgr_ior_ (0) { } }; @@ -97,6 +100,8 @@ class FaultCorrelationManager_Module_Export FaultCorrelationManager_Module PortableServer::POA_var root_poa_; PortableServer::POA_var fcm_poa_; + + // FaultCorrelation_Task task_; }; ACE_FACTORY_DECLARE (FaultCorrelationManager_Module, FaultCorrelationManager_Module) -- cgit v1.2.1