summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-02-26 23:25:13 +0000
committerwolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-02-26 23:25:13 +0000
commit9924407b5ebcbc839a188b985447dd598c5925da (patch)
treeb7fd22ccc74d8fed46f43d0e93eeafa5437603c1
parent089e539a1346031496a691b0379347d380bb76f7 (diff)
downloadATCD-9924407b5ebcbc839a188b985447dd598c5925da.tar.gz
ChangeLogTag: Thu Feb 26 23:23:05 UTC 2009 Friedhelm Wolf <fwolf@dre.vanderbilt.edu>
-rw-r--r--CIAO/ChangeLog19
-rw-r--r--CIAO/DAnCE/Deployment/DAnCE_Core.mpc29
-rw-r--r--CIAO/DAnCE/Deployment/FaultCorrelationManager.idl3
-rw-r--r--CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager.mpc2
-rw-r--r--CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.cpp45
-rw-r--r--CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Impl.h46
-rw-r--r--CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.cpp22
-rw-r--r--CIAO/DAnCE/FaultCorrelationManager/FaultCorrelationManager_Module.h7
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 <fwolf@dre.vanderbilt.edu>
+
+ * 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 <fwolf@dre.vanderbilt.edu>
* 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<ACE_CString,
+ Deployment::DomainApplicationManager_var,
+ ACE_Null_Mutex> TDomainManagers;
+
+ typedef ACE_Map_Manager<ACE_CString,
+ ACE_CString,
+ ACE_Null_Mutex> 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)