// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.hypervisor.ovm3.objects;
public class Cluster extends OvmObject {
public Cluster(Connection c) {
setClient(c);
}
/*
* leave_cluster, <class 'agent.api.cluster.o2cb.ClusterO2CB'> argument:
* self - default: None argument: poolfsUuid - default: None
*/
public Boolean leaveCluster(String poolfsUuid) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("leave_cluster", poolfsUuid);
}
/*
* configure_server_for_cluster, <class
* 'agent.api.cluster.o2cb.ClusterO2CB'> argument: self - default: None <( ?
* argument: o2cb_conf - default: None <( ? argument: clusterConf - default:
* None <( ? argument: poolfs_type - default: None argument: poolfs_target -
* default: None argument: poolfsUuid - default: None argument:
* poolfs_nfsbase_uuid - default: None
*/
public Boolean configureServerForCluster(String poolfsUuid) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("configure_server_for_cluster", poolfsUuid);
}
/*
* deconfigure_server_for_cluster, <class
* 'agent.api.cluster.o2cb.ClusterO2CB'> argument: self - default: None
* argument: poolfsUuid - default: None
*/
public Boolean deconfigureServerForCluster(String poolfsUuid) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("deconfigure_server_for_cluster", poolfsUuid);
}
/*
* join_cluster, <class 'agent.api.cluster.o2cb.ClusterO2CB'> argument: self
* - default: None argument: poolfsUuid - default: None
*/
public Boolean joinCLuster(String poolfsUuid) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("join_cluster", poolfsUuid);
}
/*
* discover_cluster, <class 'agent.api.cluster.o2cb.ClusterO2CB'> argument:
* self - default: None
*/
/*
* <Discover_Cluster_Result>< <O2CB_Config>
* <O2CB_HEARTBEAT_THRESHOLD>61</O2CB_HEARTBEAT_THRESHOLD>
* <O2CB_RECONNECT_DELAY_MS>2000</O2CB_RECONNECT_DELAY_MS>
* <O2CB_KEEPALIVE_DELAY_MS>2000</O2CB_KEEPALIVE_DELAY_MS>
* <O2CB_BOOTCLUSTER>ba9aaf00ae5e2d73</O2CB_BOOTCLUSTER>
* <O2CB_IDLE_TIMEOUT_MS>60000</O2CB_IDLE_TIMEOUT_MS>
* <O2CB_ENABLED>true</O2CB_ENABLED> <O2CB_STACK>o2cb</O2CB_STACK>
* </O2CB_Config> <Cluster_Information> <Stored> <Clusters> <Cluster>
* <Name>ba9aaf00ae5e2d73</Name> <Node_Count>1</Node_Count>
* <Heartbeat_Mode>global</Heartbeat_Mode> </Cluster> </Clusters>
* <Heartbeats> <Heartbeat>
* <Region>0004FB0000050000E70FBDDEB802208F</Region>
* <Cluster>ba9aaf00ae5e2d73</Cluster> </Heartbeat> </Heartbeats> <Nodes>
* <Node> <Number>0</Number> <IP_Port>7777</IP_Port>
* <IP_Address>192.168.1.64</IP_Address> <Name>ovm-1</Name>
* <Cluster_Name>ba9aaf00ae5e2d73</Cluster_Name> </Node> </Nodes> </Stored>
* </Cluster_Information> </Discover_Cluster_Result>
*/
/* TODO: Intepret existing clusters... */
public Boolean discoverCluster() throws Ovm3ResourceException {
return nullIsTrueCallWrapper("discover_cluster");
}
/*
* update_clusterConfiguration, <class 'agent.api.cluster.o2cb.ClusterO2CB'>
* argument: self - default: None argument: cluster_conf - default: None <(
* ? cluster_conf can be a "dict" or a plain file: print
* master.update_clusterConfiguration(
* "heartbeat:\n\tregion = 0004FB0000050000E70FBDDEB802208F\n\tcluster = ba9aaf00ae5e2d72\n\nnode:\n\tip_port = 7777\n\tip_address = 192.168.1.64\n\tnumber = 0\n\tname = ovm-1\n\tcluster = ba9aaf00ae5e2d72\n\nnode:\n\tip_port = 7777\n\tip_address = 192.168.1.65\n\tnumber = 1\n\tname = ovm-2\n\tcluster = ba9aaf00ae5e2d72\n\ncluster:\n\tnode_count = 2\n\theartbeat_mode = global\n\tname = ba9aaf00ae5e2d72\n"
* )
*/
public Boolean updateClusterConfiguration(String clusterConf) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("update_clusterConfiguration", clusterConf);
}
/*
* destroy_cluster, <class 'agent.api.cluster.o2cb.ClusterO2CB'> argument:
* self - default: None argument: poolfsUuid - default: None
*/
public Boolean destroyCluster(String poolfsUuid) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("destroy_cluster", poolfsUuid);
}
/*
* is_cluster_online, <class 'agent.api.cluster.o2cb.ClusterO2CB'> argument:
* self - default: None
*/
public Boolean isClusterOnline() throws Ovm3ResourceException {
Object x = callWrapper("is_cluster_online");
return Boolean.valueOf(x.toString());
}
/*
* create_cluster, <class 'agent.api.cluster.o2cb.ClusterO2CB'> argument:
* self - default: None argument: poolfsUuid - default: None
*/
public Boolean createCluster(String poolfsUuid) throws Ovm3ResourceException {
return nullIsTrueCallWrapper("create_cluster", poolfsUuid);
}
}