Vijava学习笔记之Cluster(基础配置信息)
来源:互联网 发布:淘宝评价有效期是多久 编辑:程序博客网 时间:2024/05/18 03:13
Vijava 代码:
实体类:
package com.vmware.pojo;/** * 集群信息 * @author zhb * */public class ClusterInfo extends Entity{ private String name; //名称 //ha配置数据 private Boolean haEnabled; //是否启用ha private String haVmMonitoring; //虚拟机监控状态 private String haHostMonitoring; //主机监控状态 private Integer haFailoverLevel; //主机故障数目 private boolean admisControlEnabled; //接入控制状态 1:表示允许接入控制 0:表示不允许接入控制 private Integer cpuFailoverPercent; //cpu故障切换百分比 private Integer memFailoverPercent; //内存故障切换百分比 private String restartPriority; //虚拟机重新启动优先级 private String isolationResponse;//主机隔离响应 private String dsCandidatePolicy;//数据存储检测信号 //drs配置数据 private boolean drsEnabled; //是否启用drs private boolean drsEnableVmBehaviorOverrides; //启动个别虚拟机自动化级别 private String autoLevel;//自动化级别 manual partiallyAutomated fullyAutomated private Integer dcId; //数据中心ID public Boolean getHaEnabled() { return haEnabled; } public void setHaEnabled(Boolean haEnabled) { this.haEnabled = haEnabled; } public String getHaVmMonitoring() { return haVmMonitoring; } public void setHaVmMonitoring(String haVmMonitoring) { this.haVmMonitoring = haVmMonitoring; } public String getHaHostMonitoring() { return haHostMonitoring; } public void setHaHostMonitoring(String haHostMonitoring) { this.haHostMonitoring = haHostMonitoring; } public Integer getHaFailoverLevel() { return haFailoverLevel; } public void setHaFailoverLevel(Integer haFailoverLevel) { this.haFailoverLevel = haFailoverLevel; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isDrsEnabled() { return drsEnabled; } public void setDrsEnabled(boolean drsEnabled) { this.drsEnabled = drsEnabled; } public boolean isDrsEnableVmBehaviorOverrides() { return drsEnableVmBehaviorOverrides; } public void setDrsEnableVmBehaviorOverrides(boolean drsEnableVmBehaviorOverrides) { this.drsEnableVmBehaviorOverrides = drsEnableVmBehaviorOverrides; } public boolean isAdmisControlEnabled() { return admisControlEnabled; } public void setAdmisControlEnabled(boolean admisControlEnabled) { this.admisControlEnabled = admisControlEnabled; } public String getAutoLevel() { return autoLevel; } public void setAutoLevel(String autoLevel) { this.autoLevel = autoLevel; } public Integer getCpuFailoverPercent() { return cpuFailoverPercent; } public void setCpuFailoverPercent(Integer cpuFailoverPercent) { this.cpuFailoverPercent = cpuFailoverPercent; } public String getDsCandidatePolicy() { return dsCandidatePolicy; } public void setDsCandidatePolicy(String dsCandidatePolicy) { this.dsCandidatePolicy = dsCandidatePolicy; } public String getIsolationResponse() { return isolationResponse; } public void setIsolationResponse(String isolationResponse) { this.isolationResponse = isolationResponse; } public Integer getMemFailoverPercent() { return memFailoverPercent; } public void setMemFailoverPercent(Integer memFailoverPercent) { this.memFailoverPercent = memFailoverPercent; } public String getRestartPriority() { return restartPriority; } public void setRestartPriority(String restartPriority) { this.restartPriority = restartPriority; } public Integer getDcId() { return dcId; } public void setDcId(Integer dcId) { this.dcId = dcId; }}逻辑层:
package com.vmware.cluster;import com.vmware.pojo.ClusterInfo;import com.vmware.vim25.ClusterFailoverResourcesAdmissionControlPolicy;import com.vmware.vim25.mo.*;import java.util.ArrayList;/** * Created by vixuan-008 on 2015/4/27. */public class ClusterOption { /** * 数据集群发现 * @param serviceInstance * @return */ public ArrayList<ClusterInfo> clusterDiscovery(ServiceInstance serviceInstance,String dcName){ ArrayList<ClusterInfo> result = new ArrayList<ClusterInfo>(); // ServiceInstance serviceInstance = null; try{ // serviceInstance = resourcePoolServiceInstance.getServiceInstance(); Folder rootFolder = serviceInstance.getRootFolder(); Datacenter dc = (Datacenter) new InventoryNavigator(rootFolder).searchManagedEntity("Datacenter", dcName); ManagedEntity[] clusters = new InventoryNavigator(dc).searchManagedEntities("ClusterComputeResource"); for(int i=0;i<clusters.length;i++) { ClusterComputeResource cluster = (ClusterComputeResource)clusters[i]; ClusterInfo clusterInfo = getClusterInfo(cluster); //被充信息 result.add(clusterInfo); } }catch(Exception e){ } return result; } /** * 得取集群信息 * @param cluster * @return */ public ClusterInfo getClusterInfo(ClusterComputeResource cluster){ ClusterInfo clusterInfo = new ClusterInfo(); clusterInfo.setName(cluster.getName()); clusterInfo.setHaEnabled(cluster.getConfiguration().getDasConfig().getEnabled()); clusterInfo.setHaFailoverLevel(cluster.getConfiguration().getDasConfig().getFailoverLevel()); clusterInfo.setHaHostMonitoring(cluster.getConfiguration().getDasConfig().getHostMonitoring()); clusterInfo.setHaVmMonitoring(cluster.getConfiguration().getDasConfig().getVmMonitoring()); clusterInfo.setAdmisControlEnabled(cluster.getConfiguration().getDasConfig().getAdmissionControlEnabled()); if(cluster.getConfiguration().getDasConfig().getAdmissionControlPolicy() instanceof ClusterFailoverResourcesAdmissionControlPolicy) { ClusterFailoverResourcesAdmissionControlPolicy policy = (ClusterFailoverResourcesAdmissionControlPolicy)cluster.getConfiguration().getDasConfig().getAdmissionControlPolicy(); clusterInfo.setCpuFailoverPercent(policy.getCpuFailoverResourcesPercent()); clusterInfo.setMemFailoverPercent(policy.getMemoryFailoverResourcesPercent()); } clusterInfo.setRestartPriority(cluster.getConfiguration().getDasConfig().getDefaultVmSettings().getRestartPriority()); clusterInfo.setIsolationResponse(cluster.getConfiguration().getDasConfig().getDefaultVmSettings().getIsolationResponse()); clusterInfo.setDsCandidatePolicy(cluster.getConfiguration().getDasConfig().getHBDatastoreCandidatePolicy()); clusterInfo.setDrsEnabled(cluster.getConfiguration().getDrsConfig().getEnabled()); clusterInfo.setDrsEnableVmBehaviorOverrides(cluster.getConfiguration().getDrsConfig().getEnableVmBehaviorOverrides()); clusterInfo.setAutoLevel(cluster.getConfiguration().getDrsConfig().getDefaultVmBehavior().name()); clusterInfo.setProgId(cluster.getMOR().val); return clusterInfo; }}
测试代码:
package com.vmware.main;import com.vmware.cluster.ClusterOption;import com.vmware.pojo.ClusterInfo;import com.vmware.util.Session;import com.vmware.vim25.mo.*;import java.util.ArrayList;/** * Created by vixuan-008 on 2015/4/27. */public class ClusterOptinTest { public static void main(String[] args){ try{ ServiceInstance serviceInstance= Session.getInstance("***", "**", "**"); ClusterOption clusterOption=new ClusterOption(); ArrayList<ClusterInfo> list=clusterOption.clusterDiscovery(serviceInstance,"Datacenter"); if(list.size()>0){ for(int i=0;i<list.size();i++){ ClusterInfo clusterInfo=list.get(i); System.out.println("name:"+clusterInfo.getName()); System.out.println("haEnabled:"+clusterInfo.getHaEnabled()); System.out.println("haVmMonitoring:"+clusterInfo.getHaVmMonitoring()); System.out.println("haHostMonitoring:"+clusterInfo.getHaHostMonitoring()); System.out.println("haFailoverLevel:"+clusterInfo.getHaFailoverLevel()); System.out.println("cpuFailoverPercent:"+clusterInfo.getCpuFailoverPercent()); System.out.println("memFailoverPercent:"+clusterInfo.getMemFailoverPercent()); } } serviceInstance.getServerConnection().logout(); }catch (Exception e){ e.printStackTrace(); } }}
效果展示:
0 0
- Vijava学习笔记之Cluster(基础配置信息)
- Vijava 学习笔记之VirtualMachine(基础配置信息{VirtualMachineConfigSummary})
- Vijava学习笔记之DataCenter(基础配置信息)
- Vijava 学习笔记之ResourcePool(基础配置信息)
- Vijava 学习笔记之 DataStore(基础配置信息)
- Vijava 学习笔记之NetWork(基础配置信息)
- Vijava 学习笔记之(Cluster 关联资源信息:CPU、内存、Datastore容量信息)
- Vijava 学习笔记之(VirtualMachine 获取网卡配置信息)
- Vijava 学习笔记之(获取自定义规范定义的IP相关配置信息)
- Vijava 学习笔记之模板
- Vijava 学习笔记之(VirtualMachineCloneSpec)
- Vijava 学习笔记之CustomizationPassword
- Vijava 学习笔记之 VCenter连接
- Vijava 学习笔记之 虚拟机连接
- Vijava 学习笔记之 HostSystem 连接
- Vijava 学习笔记之HostSystem(内存利用率)
- Vijava 学习笔记之(VirtualMachineRelocateSpec类)
- Vijava 学习笔记之(ResourcePool 关联VirtualMachine)
- windows下如何github ssh 公钥
- 新闻条、广告条滚动效果
- html在生命周期内的事件
- what is the difference of select single and select up to one row in abap
- Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWo
- Vijava学习笔记之Cluster(基础配置信息)
- C语言之第五课:C语言的整型数据
- How to find the lost testpoint in weblogic12?
- MySQL创建用户带SSL认证,并且有SUBJECT和ISSUER的时候,报错[Note] X509 subject
- 沙盒是什么?
- 【代码】显示一个目录下所有文件
- mvc与三层结构终极区别
- XML中元素VS属性
- SqlServer 查看所有触发器信息的命令