当前位置: 首页>>代码示例>>C++>>正文


C++ Oam::getStorageConfig方法代码示例

本文整理汇总了C++中Oam::getStorageConfig方法的典型用法代码示例。如果您正苦于以下问题:C++ Oam::getStorageConfig方法的具体用法?C++ Oam::getStorageConfig怎么用?C++ Oam::getStorageConfig使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Oam的用法示例。


在下文中一共展示了Oam::getStorageConfig方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: diskMonitor

/*****************************************************************************************
* @brief	diskMonitor Thread
*
* purpose:	Get current Local and External disk usage and report alarms
*
*****************************************************************************************/
void diskMonitor()
{
	ServerMonitor serverMonitor;
	Oam oam;
    SystemConfig systemConfig;
	ModuleTypeConfig moduleTypeConfig;
	typedef std::vector<std::string> LocalFileSystems;
	LocalFileSystems lfs;
	struct statvfs buf; 

	// set defaults
	int localDiskCritical = 90,
		localDiskMajor = 80,
		localDiskMinor = 70,
		ExternalDiskCritical = 90,
		ExternalDiskMajor = 80,
		ExternalDiskMinor = 70;

	// get module types
	string moduleType;
	int moduleID=-1;
	string moduleName;
	oamModuleInfo_t t;
	try {
		t = oam.getModuleInfo();
		moduleType = boost::get<1>(t);
		moduleID = boost::get<2>(t);
		moduleName = boost::get<0>(t);
	}
	catch (exception& e) {}

	bool Externalflag = false;

	//check for external disk
	DBrootList dbrootList;
	if (moduleType == "pm") {
		systemStorageInfo_t t;
		t = oam.getStorageConfig();
		if ( boost::get<0>(t) == "external")
			Externalflag = true;

		// get dbroot list and storage type from config file
		DBRootConfigList dbrootConfigList;
		oam.getPmDbrootConfig(moduleID, dbrootConfigList);
	
		DBRootConfigList::iterator pt = dbrootConfigList.begin();
		for( ; pt != dbrootConfigList.end() ; pt++)
		{
			int dbrootID = *pt;
	
			string dbroot = "DBRoot" + oam.itoa(dbrootID);
	
			string dbootdir;
			try{
				oam.getSystemConfig(dbroot, dbootdir);
			}
			catch(...) {}
	
			if ( dbootdir.empty() || dbootdir == "" )
				continue;
	
			DBrootData dbrootData;
			dbrootData.dbrootDir = dbootdir;
			dbrootData.downFlag = false;
	
			dbrootList.push_back(dbrootData);
		}
	}

	string cloud = oam::UnassignedName;
	try {
		oam.getSystemConfig( "Cloud", cloud);
	}
	catch(...) {
		cloud = oam::UnassignedName;
	}

	//get Gluster Config setting
	string GlusterConfig = "n";
	try {
		oam.getSystemConfig( "GlusterConfig", GlusterConfig);
	}
	catch(...)
	{
		GlusterConfig = "n";
	}

	int diskSpaceCheck = 0;

	while(true)
	{
		SystemStatus systemstatus;
		try {
			oam.getSystemStatus(systemstatus);
//.........这里部分代码省略.........
开发者ID:dmitrikr,项目名称:infinidb,代码行数:101,代码来源:diskMonitor.cpp

示例2: main


//.........这里部分代码省略.........
		catch(...)
		{ }
	
		if ( cloud == "no" )
			cloud = "n";
	
		try {
			sysConfigNew->setConfig(InstallSection, "Cloud", cloud);
			sysConfigNew->setConfig(InstallSection, "AmazonX509Certificate", x509Cert);
			sysConfigNew->setConfig(InstallSection, "AmazonX509PrivateKey", x509PriKey);
			sysConfigNew->setConfig(InstallSection, "UMStorageType", UMStorageType);
			sysConfigNew->setConfig(InstallSection, "rpw", rpw);
			sysConfigNew->setConfig(InstallSection, "PMInstanceType", PMInstanceType);
			sysConfigNew->setConfig(InstallSection, "UMInstanceType", UMInstanceType);
			sysConfigNew->setConfig(InstallSection, "UMSecurityGroup", UMSecurityGroup);
			sysConfigNew->setConfig(InstallSection, "UMVolumeSize", UMVolumeSize);
			sysConfigNew->setConfig(InstallSection, "PMVolumeSize", PMVolumeSize);
			sysConfigNew->setConfig(InstallSection, "UMAutoSync", UMAutoSync);
			sysConfigNew->setConfig(InstallSection, "UMSyncTime", UMSyncTime);
			sysConfigNew->setConfig(InstallSection, "AmazonAutoTagging", AmazonAutoTagging);
			sysConfigNew->setConfig(InstallSection, "AmazonRegion", AmazonRegion);
		}
		catch(...)
		{
	//		cout << "ERROR: Problem setting Cloud Parameters from the Calpont System Configuration file" << endl;
	//		exit(-1);
		}

		//setup um storage
		if ( cloud == "amazon" && UMStorageType == "external") {
            try
            {
                systemStorageInfo_t t;
                t = oam.getStorageConfig();

				ModuleTypeConfig moduletypeconfig;
				oam.getSystemConfig("um", moduletypeconfig);
				for ( int id = 1; id < moduletypeconfig.ModuleCount+1 ; id++)
				{
					string volumeNameID = "UMVolumeName" + oam.itoa(id);
					string volumeName = oam::UnassignedName;
					string deviceNameID = "UMVolumeDeviceName" + oam.itoa(id);
					string deviceName = oam::UnassignedName;
					try {
						volumeName = sysConfigOld->getConfig(InstallSection, volumeNameID);
						deviceName = sysConfigOld->getConfig(InstallSection, deviceNameID);
					}
					catch(...)
					{}
	
					try {
						sysConfigNew->setConfig(InstallSection, volumeNameID, volumeName);
						sysConfigNew->setConfig(InstallSection, deviceNameID, deviceName);
					}
					catch(...)
					{}
				}
			}
            catch (exception& e)
            {
                cout << endl << "**** getStorageConfig Failed :  " << e.what() << endl;
            }
		}

		//setup dbroot storage
		try
开发者ID:Kangmo,项目名称:infinidb,代码行数:67,代码来源:autoConfigure.cpp


注:本文中的Oam::getStorageConfig方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。