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