mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
Update Java OCA to 3.4 API
This commit is contained in:
parent
b4862532e1
commit
becb3da61e
@ -124,6 +124,12 @@ do_clean()
|
||||
|
||||
find share/examples -name '*.class' -delete
|
||||
find test/ -name '*.class' -delete
|
||||
|
||||
echo "Cleaning javadoc files..."
|
||||
rm -rf $DOC_DIR > /dev/null 2>&1
|
||||
|
||||
echo "Cleaning jar files..."
|
||||
rm -rf $JAR_DIR > /dev/null 2>&1
|
||||
}
|
||||
|
||||
if [ "$DO_CLEAN" = "yes" ] ; then
|
||||
|
@ -1,12 +1,12 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
*
|
||||
* Licensed 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.
|
||||
@ -59,7 +59,7 @@ public abstract class PoolElement {
|
||||
|
||||
/**
|
||||
* Creates a new PoolElement from the xml provided.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param xmlElement XML representation of the element.
|
||||
*/
|
||||
@ -102,7 +102,7 @@ public abstract class PoolElement {
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param method XML-RPC method.
|
||||
* @param id The id of the target object.
|
||||
@ -130,11 +130,11 @@ public abstract class PoolElement {
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param method XML-RPC method.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
* @param octet Permissions octet, e.g. 640
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
protected static OneResponse chmod(Client client, String method, int id,
|
||||
@ -158,7 +158,7 @@ public abstract class PoolElement {
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param method XML-RPC method.
|
||||
* @param id The id of the target object.
|
||||
@ -207,7 +207,7 @@ public abstract class PoolElement {
|
||||
|
||||
/**
|
||||
* Returns the owner User's ID, or -1 if the element doesn't have one.
|
||||
*
|
||||
*
|
||||
* @return the owner User's ID, or -1 if the element doesn't have one.
|
||||
*/
|
||||
public int uid()
|
||||
@ -229,7 +229,7 @@ public abstract class PoolElement {
|
||||
|
||||
/**
|
||||
* Returns the element group's ID, or -1 if the element doesn't have one.
|
||||
*
|
||||
*
|
||||
* @return the element group's ID, or -1 if the element doesn't have one.
|
||||
*/
|
||||
public int gid()
|
||||
|
@ -64,6 +64,8 @@ public class Acl extends PoolElement{
|
||||
tmpResources.put("USER" , 0x0000010000000000L);
|
||||
tmpResources.put("TEMPLATE" , 0x0000020000000000L);
|
||||
tmpResources.put("GROUP" , 0x0000040000000000L);
|
||||
tmpResources.put("DATASTORE", 0x0000100000000000L);
|
||||
tmpResources.put("CLUSTER" , 0x0000200000000000L);
|
||||
|
||||
RESOURCES = Collections.unmodifiableMap(tmpResources);
|
||||
|
||||
|
321
src/oca/java/src/org/opennebula/client/cluster/Cluster.java
Normal file
321
src/oca/java/src/org/opennebula/client/cluster/Cluster.java
Normal file
@ -0,0 +1,321 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
* Licensed 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 org.opennebula.client.cluster;
|
||||
|
||||
import org.opennebula.client.Client;
|
||||
import org.opennebula.client.OneResponse;
|
||||
import org.opennebula.client.PoolElement;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
/**
|
||||
* This class represents an OpenNebula cluster.
|
||||
* It also offers static XML-RPC call wrappers.
|
||||
*/
|
||||
public class Cluster extends PoolElement{
|
||||
|
||||
private static final String METHOD_PREFIX = "cluster.";
|
||||
private static final String ALLOCATE = METHOD_PREFIX + "allocate";
|
||||
private static final String DELETE = METHOD_PREFIX + "delete";
|
||||
private static final String INFO = METHOD_PREFIX + "info";
|
||||
private static final String ADDHOST = METHOD_PREFIX + "addhost";
|
||||
private static final String DELHOST = METHOD_PREFIX + "delhost";
|
||||
private static final String ADDDATASTORE = METHOD_PREFIX + "adddatastore";
|
||||
private static final String DELDATASTORE = METHOD_PREFIX + "deldatastore";
|
||||
private static final String ADDVNET = METHOD_PREFIX + "addvnet";
|
||||
private static final String DELVNET = METHOD_PREFIX + "delvnet";
|
||||
|
||||
/**
|
||||
* Creates a new Cluster representation.
|
||||
*
|
||||
* @param id The cluster id.
|
||||
* @param client XML-RPC Client.
|
||||
*/
|
||||
public Cluster(int id, Client client)
|
||||
{
|
||||
super(id, client);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see PoolElement
|
||||
*/
|
||||
protected Cluster(Node xmlElement, Client client)
|
||||
{
|
||||
super(xmlElement, client);
|
||||
}
|
||||
|
||||
|
||||
// =================================
|
||||
// Static XML-RPC methods
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Allocates a new cluster in OpenNebula
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param name Name for the new cluster.
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this cluster.
|
||||
*/
|
||||
public static OneResponse allocate(Client client, String name)
|
||||
{
|
||||
return client.call(ALLOCATE, name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the information of the given cluster.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
public static OneResponse info(Client client, int id)
|
||||
{
|
||||
return client.call(INFO, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a cluster from OpenNebula.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse delete(Client client, int id)
|
||||
{
|
||||
return client.call(DELETE, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a Host to this Cluster
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @param hid Host ID.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse addHost(Client client, int id, int hid)
|
||||
{
|
||||
return client.call(ADDHOST, id, hid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a Host from this Cluster
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @param hid Host ID.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse delHost(Client client, int id, int hid)
|
||||
{
|
||||
return client.call(DELHOST, id, hid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a Datastore to this Cluster
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @param dsId Datastore ID.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse addDatastore(Client client, int id, int dsId)
|
||||
{
|
||||
return client.call(ADDDATASTORE, id, dsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a Datastore from this Cluster
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @param dsId Datastore ID.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse delDatastore(Client client, int id, int dsId)
|
||||
{
|
||||
return client.call(DELDATASTORE, id, dsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a VNet to this Cluster
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @param vnetId VNet ID.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse addVnet(Client client, int id, int vnetId)
|
||||
{
|
||||
return client.call(ADDVNET, id, vnetId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a VNet from this Cluster
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The cluster id.
|
||||
* @param vnetId VNet ID.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse delVnet(Client client, int id, int vnetId)
|
||||
{
|
||||
return client.call(DELVNET, id, vnetId);
|
||||
}
|
||||
|
||||
// =================================
|
||||
// Instanced object XML-RPC methods
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Loads the xml representation of the cluster.
|
||||
* The info is also stored internally.
|
||||
*
|
||||
* @see Cluster#info(Client, int)
|
||||
*/
|
||||
public OneResponse info()
|
||||
{
|
||||
OneResponse response = info(client, id);
|
||||
super.processInfo(response);
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the cluster from OpenNebula.
|
||||
*
|
||||
* @see Cluster#delete(Client, int)
|
||||
*/
|
||||
public OneResponse delete()
|
||||
{
|
||||
return delete(client, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a Host to this Cluster
|
||||
*
|
||||
* @param hid Host ID.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse addHost(int hid)
|
||||
{
|
||||
return addHost(client, id, hid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a Host from this Cluster
|
||||
*
|
||||
* @param hid Host ID.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse delHost(int hid)
|
||||
{
|
||||
return delHost(client, id, hid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a Datastore to this Cluster
|
||||
*
|
||||
* @param dsId Datastore ID.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse addDatastore(int dsId)
|
||||
{
|
||||
return addDatastore(client, id, dsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a Datastore from this Cluster
|
||||
*
|
||||
* @param dsId Datastore ID.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse delDatastore(int dsId)
|
||||
{
|
||||
return delDatastore(client, id, dsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a VNet to this Cluster
|
||||
*
|
||||
* @param vnetId VNet ID.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse addVnet(int vnetId)
|
||||
{
|
||||
return addVnet(client, id, vnetId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a VNet from this Cluster
|
||||
*
|
||||
* @param vnetId VNet ID.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse delVnet(int vnetId)
|
||||
{
|
||||
return delVnet(client, id, vnetId);
|
||||
}
|
||||
|
||||
// =================================
|
||||
// Helpers
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Returns whether or not the host is part of this cluster
|
||||
*
|
||||
* @param id The host ID.
|
||||
* @return Whether or not the host is part of this cluster.
|
||||
*/
|
||||
public boolean containsHost(int id)
|
||||
{
|
||||
return containsResource("HOSTS", id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not the datastore is part of this cluster
|
||||
*
|
||||
* @param id The datastore ID.
|
||||
* @return Whether or not the datastore is part of this cluster.
|
||||
*/
|
||||
public boolean containsDatastore(int id)
|
||||
{
|
||||
return containsResource("DATASTORES", id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not the vnet is part of this cluster
|
||||
*
|
||||
* @param id The vnet ID.
|
||||
* @return Whether or not the vnet is part of this cluster.
|
||||
*/
|
||||
public boolean containsVnet(int id)
|
||||
{
|
||||
return containsResource("VNETS", id);
|
||||
}
|
||||
|
||||
private boolean containsResource(String resource, int id)
|
||||
{
|
||||
String res = xpath(resource+"/ID[.="+id+"]");
|
||||
return res != null && res.equals(""+id);
|
||||
}
|
||||
}
|
103
src/oca/java/src/org/opennebula/client/cluster/ClusterPool.java
Normal file
103
src/oca/java/src/org/opennebula/client/cluster/ClusterPool.java
Normal file
@ -0,0 +1,103 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
* Licensed 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 org.opennebula.client.cluster;
|
||||
|
||||
import java.util.AbstractList;
|
||||
import java.util.Iterator;
|
||||
|
||||
|
||||
import org.opennebula.client.Client;
|
||||
import org.opennebula.client.OneResponse;
|
||||
import org.opennebula.client.Pool;
|
||||
import org.opennebula.client.PoolElement;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
/**
|
||||
* This class represents an OpenNebula cluster pool.
|
||||
* It also offers static XML-RPC call wrappers.
|
||||
*/
|
||||
public class ClusterPool extends Pool implements Iterable<Cluster>{
|
||||
|
||||
private static final String ELEMENT_NAME = "CLUSTER";
|
||||
private static final String INFO_METHOD = "clusterpool.info";
|
||||
|
||||
/**
|
||||
* Creates a new cluster pool
|
||||
* @param client XML-RPC Client.
|
||||
*/
|
||||
public ClusterPool(Client client)
|
||||
{
|
||||
super(ELEMENT_NAME, client, INFO_METHOD);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PoolElement factory(Node node)
|
||||
{
|
||||
return new Cluster(node, client);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all the clusters in the pool.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
public static OneResponse info(Client client)
|
||||
{
|
||||
return Pool.info(client, INFO_METHOD);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the xml representation of the cluster pool.
|
||||
*
|
||||
* @see ClusterPool#info(Client)
|
||||
*/
|
||||
public OneResponse info()
|
||||
{
|
||||
return super.info();
|
||||
}
|
||||
|
||||
public Iterator<Cluster> iterator()
|
||||
{
|
||||
AbstractList<Cluster> ab = new AbstractList<Cluster>()
|
||||
{
|
||||
public int size()
|
||||
{
|
||||
return getLength();
|
||||
}
|
||||
|
||||
public Cluster get(int index)
|
||||
{
|
||||
return (Cluster) item(index);
|
||||
}
|
||||
};
|
||||
|
||||
return ab.iterator();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Cluster with the given Id from the pool. If it is not found,
|
||||
* then returns null.
|
||||
*
|
||||
* @param id of the Cluster to retrieve
|
||||
* @return The Image with the given Id, or null if it was not found.
|
||||
*/
|
||||
public Cluster getById(int id)
|
||||
{
|
||||
return (Cluster) super.getById(id);
|
||||
}
|
||||
}
|
357
src/oca/java/src/org/opennebula/client/datastore/Datastore.java
Normal file
357
src/oca/java/src/org/opennebula/client/datastore/Datastore.java
Normal file
@ -0,0 +1,357 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
* Licensed 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 org.opennebula.client.datastore;
|
||||
|
||||
import org.opennebula.client.Client;
|
||||
import org.opennebula.client.OneResponse;
|
||||
import org.opennebula.client.PoolElement;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
/**
|
||||
* This class represents an OpenNebula datastore.
|
||||
* It also offers static XML-RPC call wrappers.
|
||||
*/
|
||||
public class Datastore extends PoolElement
|
||||
{
|
||||
|
||||
private static final String METHOD_PREFIX = "datastore.";
|
||||
private static final String INFO = METHOD_PREFIX + "info";
|
||||
private static final String ALLOCATE = METHOD_PREFIX + "allocate";
|
||||
private static final String DELETE = METHOD_PREFIX + "delete";
|
||||
private static final String UPDATE = METHOD_PREFIX + "update";
|
||||
private static final String CHOWN = METHOD_PREFIX + "chown";
|
||||
private static final String CHMOD = METHOD_PREFIX + "chmod";
|
||||
|
||||
/**
|
||||
* Creates a new Datastore representation.
|
||||
* @param id The datastore id.
|
||||
* @param client XML-RPC Client.
|
||||
*/
|
||||
public Datastore(int id, Client client)
|
||||
{
|
||||
super(id, client);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see PoolElement
|
||||
*/
|
||||
protected Datastore(Node xmlElement, Client client)
|
||||
{
|
||||
super(xmlElement, client);
|
||||
}
|
||||
|
||||
// =================================
|
||||
// Static XML-RPC methods
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Allocates a new Datastore in OpenNebula.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param description A string containing the template of the datastore.
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this Datastore.
|
||||
*/
|
||||
public static OneResponse allocate(Client client, String description)
|
||||
{
|
||||
return client.call(ALLOCATE, description);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the information of the given Datastore.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The datastore id to retrieve the information from
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
public static OneResponse info(Client client, int id)
|
||||
{
|
||||
return client.call(INFO, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a datastore from OpenNebula.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target datastore we want to delete.
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public static OneResponse delete(Client client, int id)
|
||||
{
|
||||
return client.call(DELETE, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces the datastore contents.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target datastore we want to modify.
|
||||
* @param new_template New datastore contents.
|
||||
* @return If successful the message contains the datastore id.
|
||||
*/
|
||||
public static OneResponse update(Client client, int id, String new_template)
|
||||
{
|
||||
return client.call(UPDATE, id, new_template);
|
||||
}
|
||||
|
||||
/**
|
||||
* Publishes or unpublishes a datastore.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target datastore we want to modify.
|
||||
* @param publish True for publishing, false for unpublishing.
|
||||
* @return If successful the message contains the datastore id.
|
||||
*/
|
||||
public static OneResponse publish(Client client, int id, boolean publish)
|
||||
{
|
||||
int group_u = publish ? 1 : 0;
|
||||
|
||||
return chmod(client, id, -1, -1, -1, group_u, -1, -1, -1, -1, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target datastore we want to modify.
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
* @param gid The new group ID. Set it to -1 to leave the current one.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public static OneResponse chown(Client client, int id, int uid, int gid)
|
||||
{
|
||||
return client.call(CHOWN, id, uid, gid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the datastore permissions
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target datastore.
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_a 1 to allow, 0 deny, -1 do not change
|
||||
* @param group_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param group_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param group_a 1 to allow, 0 deny, -1 do not change
|
||||
* @param other_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param other_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param other_a 1 to allow, 0 deny, -1 do not change
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public static OneResponse chmod(Client client, int id,
|
||||
int owner_u, int owner_m, int owner_a,
|
||||
int group_u, int group_m, int group_a,
|
||||
int other_u, int other_m, int other_a)
|
||||
{
|
||||
return chmod(client, CHMOD, id,
|
||||
owner_u, owner_m, owner_a,
|
||||
group_u, group_m, group_a,
|
||||
other_u, other_m, other_a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octet, e.g. 640
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public static OneResponse chmod(Client client, int id, String octet)
|
||||
{
|
||||
return chmod(client, CHMOD, id, octet);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public static OneResponse chmod(Client client, int id, int octet)
|
||||
{
|
||||
return chmod(client, CHMOD, id, octet);
|
||||
}
|
||||
|
||||
// =================================
|
||||
// Instanced object XML-RPC methods
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Retrieves the information of the Datastore.
|
||||
*
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
public OneResponse info()
|
||||
{
|
||||
OneResponse response = info(client, id);
|
||||
super.processInfo(response);
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the datastore from OpenNebula.
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse delete()
|
||||
{
|
||||
return delete(client, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Replaces the datastore template.
|
||||
*
|
||||
* @param new_template New datastore template.
|
||||
* @return If successful the message contains the datastore id.
|
||||
*/
|
||||
public OneResponse update(String new_template)
|
||||
{
|
||||
return update(client, id, new_template);
|
||||
}
|
||||
|
||||
/**
|
||||
* Publishes or unpublishes the datastore.
|
||||
*
|
||||
* @param publish True for publishing, false for unpublishing.
|
||||
* @return If successful the message contains the datastore id.
|
||||
*/
|
||||
public OneResponse publish(boolean publish)
|
||||
{
|
||||
return publish(client, id, publish);
|
||||
}
|
||||
|
||||
/**
|
||||
* Publishes the datastore.
|
||||
*
|
||||
* @return If successful the message contains the datastore id.
|
||||
*/
|
||||
public OneResponse publish()
|
||||
{
|
||||
return publish(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unpublishes the datastore.
|
||||
*
|
||||
* @return If successful the message contains the datastore id.
|
||||
*/
|
||||
public OneResponse unpublish()
|
||||
{
|
||||
return publish(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
* @param gid The new group ID. Set it to -1 to leave the current one.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public OneResponse chown(int uid, int gid)
|
||||
{
|
||||
return chown(client, id, uid, gid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the owner
|
||||
*
|
||||
* @param uid The new owner user ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public OneResponse chown(int uid)
|
||||
{
|
||||
return chown(uid, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the group
|
||||
*
|
||||
* @param gid The new group ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public OneResponse chgrp(int gid)
|
||||
{
|
||||
return chown(-1, gid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the datastore permissions
|
||||
*
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_a 1 to allow, 0 deny, -1 do not change
|
||||
* @param group_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param group_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param group_a 1 to allow, 0 deny, -1 do not change
|
||||
* @param other_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param other_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param other_a 1 to allow, 0 deny, -1 do not change
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public OneResponse chmod(int owner_u, int owner_m, int owner_a,
|
||||
int group_u, int group_m, int group_a,
|
||||
int other_u, int other_m, int other_a)
|
||||
{
|
||||
return chmod(client, id,
|
||||
owner_u, owner_m, owner_a,
|
||||
group_u, group_m, group_a,
|
||||
other_u, other_m, other_a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public OneResponse chmod(String octet)
|
||||
{
|
||||
return chmod(client, id, octet);
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
public OneResponse chmod(int octet)
|
||||
{
|
||||
return chmod(client, id, octet);
|
||||
}
|
||||
|
||||
// =================================
|
||||
// Helpers
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Returns whether or not the image is part of this datastore
|
||||
*
|
||||
* @param id The image ID.
|
||||
* @return Whether or not the image is part of this datastore.
|
||||
*/
|
||||
public boolean contains(int id)
|
||||
{
|
||||
String res = xpath("IMAGES/ID[.="+id+"]");
|
||||
return res != null && res.equals(""+id);
|
||||
}
|
||||
}
|
@ -0,0 +1,103 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
* Licensed 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 org.opennebula.client.datastore;
|
||||
|
||||
import java.util.AbstractList;
|
||||
import java.util.Iterator;
|
||||
|
||||
|
||||
import org.opennebula.client.Client;
|
||||
import org.opennebula.client.OneResponse;
|
||||
import org.opennebula.client.Pool;
|
||||
import org.opennebula.client.PoolElement;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
/**
|
||||
* This class represents an OpenNebula datastore pool.
|
||||
* It also offers static XML-RPC call wrappers.
|
||||
*/
|
||||
public class DatastorePool extends Pool implements Iterable<Datastore>{
|
||||
|
||||
private static final String ELEMENT_NAME = "DATASTORE";
|
||||
private static final String INFO_METHOD = "datastorepool.info";
|
||||
|
||||
/**
|
||||
* Creates a new datastore pool
|
||||
* @param client XML-RPC Client.
|
||||
*/
|
||||
public DatastorePool(Client client)
|
||||
{
|
||||
super(ELEMENT_NAME, client, INFO_METHOD);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PoolElement factory(Node node)
|
||||
{
|
||||
return new Datastore(node, client);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all the datastores in the pool.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
public static OneResponse info(Client client)
|
||||
{
|
||||
return Pool.info(client, INFO_METHOD);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the xml representation of the datastore pool.
|
||||
*
|
||||
* @see DatastorePool#info(Client)
|
||||
*/
|
||||
public OneResponse info()
|
||||
{
|
||||
return super.info();
|
||||
}
|
||||
|
||||
public Iterator<Datastore> iterator()
|
||||
{
|
||||
AbstractList<Datastore> ab = new AbstractList<Datastore>()
|
||||
{
|
||||
public int size()
|
||||
{
|
||||
return getLength();
|
||||
}
|
||||
|
||||
public Datastore get(int index)
|
||||
{
|
||||
return (Datastore) item(index);
|
||||
}
|
||||
};
|
||||
|
||||
return ab.iterator();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Datastore with the given Id from the pool. If it is not found,
|
||||
* then returns null.
|
||||
*
|
||||
* @param id of the Datastore to retrieve
|
||||
* @return The Image with the given Id, or null if it was not found.
|
||||
*/
|
||||
public Datastore getById(int id)
|
||||
{
|
||||
return (Datastore) super.getById(id);
|
||||
}
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
*
|
||||
* Licensed 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.
|
||||
@ -33,15 +33,15 @@ public class Host extends PoolElement{
|
||||
private static final String DELETE = METHOD_PREFIX + "delete";
|
||||
private static final String ENABLE = METHOD_PREFIX + "enable";
|
||||
private static final String UPDATE = METHOD_PREFIX + "update";
|
||||
|
||||
private static final String[] HOST_STATES =
|
||||
|
||||
private static final String[] HOST_STATES =
|
||||
{"INIT", "MONITORING", "MONITORED", "ERROR", "DISABLED"};
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new Host representation.
|
||||
*
|
||||
* @param id The host id (hid) of the machine.
|
||||
*
|
||||
* @param id The host id (hid) of the machine.
|
||||
* @param client XML-RPC Client.
|
||||
*/
|
||||
public Host(int id, Client client)
|
||||
@ -64,17 +64,20 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Allocates a new host in OpenNebula
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param hostname Hostname of the machine we want to add
|
||||
* @param hostname Hostname of the machine we want to add
|
||||
* @param im The name of the information manager (im_mad_name),
|
||||
* this values are taken from the oned.conf with the tag name IM_MAD (name)
|
||||
* this values are taken from the oned.conf with the tag name IM_MAD (name)
|
||||
* @param vmm The name of the virtual machine manager mad name
|
||||
* (vmm_mad_name), this values are taken from the oned.conf with the
|
||||
* tag name VM_MAD (name)
|
||||
* @param vnm The name of the virtual network manager mad name
|
||||
* (vnm_mad_name), this values are taken from the oned.conf with the
|
||||
* tag name VN_MAD (name)
|
||||
* @param clusterId The cluster ID. If it is -1, this host won't be
|
||||
* added to any cluster.
|
||||
*
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this host
|
||||
*/
|
||||
@ -82,16 +85,44 @@ public class Host extends PoolElement{
|
||||
String hostname,
|
||||
String im,
|
||||
String vmm,
|
||||
String vnm)
|
||||
String vnm,
|
||||
int clusterId)
|
||||
{
|
||||
return client.call(ALLOCATE, hostname, im, vmm, vnm);
|
||||
return client.call(ALLOCATE, hostname, im, vmm, vnm, clusterId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Allocates a new host in OpenNebula
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param hostname Hostname of the machine we want to add
|
||||
* @param im The name of the information manager (im_mad_name),
|
||||
* this values are taken from the oned.conf with the tag name IM_MAD (name)
|
||||
* @param vmm The name of the virtual machine manager mad name
|
||||
* (vmm_mad_name), this values are taken from the oned.conf with the
|
||||
* tag name VM_MAD (name)
|
||||
* @param vnm The name of the virtual network manager mad name
|
||||
* (vnm_mad_name), this values are taken from the oned.conf with the
|
||||
* tag name VN_MAD (name)
|
||||
*
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this host
|
||||
*/
|
||||
public static OneResponse allocate(
|
||||
Client client,
|
||||
String hostname,
|
||||
String im,
|
||||
String vmm,
|
||||
String vnm)
|
||||
{
|
||||
return allocate(client, hostname, im, vmm, vnm, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the information of the given host.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The host id (hid) of the target machine.
|
||||
* @param id The host id (hid) of the target machine.
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
@ -102,7 +133,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Deletes a host from OpenNebula.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The host id (hid) of the target machine.
|
||||
* @return A encapsulated response.
|
||||
@ -114,7 +145,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Enables or disables a given host.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The host id (hid) of the target machine.
|
||||
* @param enable If set true OpenNebula will enable the
|
||||
@ -128,7 +159,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Replaces the template contents.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target host we want to modify.
|
||||
* @param new_template New template contents
|
||||
@ -146,7 +177,7 @@ public class Host extends PoolElement{
|
||||
/**
|
||||
* Loads the xml representation of the host.
|
||||
* The info is also stored internally.
|
||||
*
|
||||
*
|
||||
* @see Host#info(Client, int)
|
||||
*/
|
||||
public OneResponse info()
|
||||
@ -158,7 +189,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Deletes the host from OpenNebula.
|
||||
*
|
||||
*
|
||||
* @see Host#delete(Client, int)
|
||||
*/
|
||||
public OneResponse delete()
|
||||
@ -168,7 +199,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Enables or disables the host.
|
||||
*
|
||||
*
|
||||
* @see Host#enable(Client, int, boolean)
|
||||
*/
|
||||
public OneResponse enable(boolean enable)
|
||||
@ -178,7 +209,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Enables the host.
|
||||
*
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse enable()
|
||||
@ -188,7 +219,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Disables the host
|
||||
*
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse disable()
|
||||
@ -198,7 +229,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Replaces the template contents.
|
||||
*
|
||||
*
|
||||
* @param new_template New template contents
|
||||
* @return If successful the message contains the host id.
|
||||
*/
|
||||
@ -215,7 +246,7 @@ public class Host extends PoolElement{
|
||||
* Returns the state of the Host.
|
||||
* <br/>
|
||||
* The method {@link Host#info()} must be called before.
|
||||
*
|
||||
*
|
||||
* @return The state of the Host.
|
||||
*/
|
||||
public String stateStr()
|
||||
@ -228,7 +259,7 @@ public class Host extends PoolElement{
|
||||
* Returns the short length string state of the Host.
|
||||
* <br/>
|
||||
* The method {@link Host#info()} must be called before.
|
||||
*
|
||||
*
|
||||
* @return The short length string state of the Host.
|
||||
*/
|
||||
public String shortStateStr()
|
||||
@ -246,7 +277,7 @@ public class Host extends PoolElement{
|
||||
|
||||
/**
|
||||
* Returns true if the host is enabled.
|
||||
*
|
||||
*
|
||||
* @return True if the host is enabled.
|
||||
*/
|
||||
public boolean isEnabled()
|
||||
|
@ -1,12 +1,12 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
*
|
||||
* Licensed 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.
|
||||
@ -71,6 +71,24 @@ public class Image extends PoolElement
|
||||
// Static XML-RPC methods
|
||||
// =================================
|
||||
|
||||
/**
|
||||
* Allocates a new Image in OpenNebula.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param description A string containing the template of the image.
|
||||
* @param clusterId The cluster ID. If it is -1, this image
|
||||
* won't be added to any cluster.
|
||||
*
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this Image.
|
||||
*/
|
||||
public static OneResponse allocate(
|
||||
Client client,
|
||||
String description,
|
||||
int clusterId)
|
||||
{
|
||||
return client.call(ALLOCATE, description, clusterId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Allocates a new Image in OpenNebula.
|
||||
@ -82,7 +100,7 @@ public class Image extends PoolElement
|
||||
*/
|
||||
public static OneResponse allocate(Client client, String description)
|
||||
{
|
||||
return client.call(ALLOCATE, description);
|
||||
return allocate(client, description, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -100,7 +118,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Deletes an image from OpenNebula.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to delete.
|
||||
* @return A encapsulated response.
|
||||
@ -112,7 +130,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Replaces the template contents.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to modify.
|
||||
* @param new_template New template contents
|
||||
@ -125,7 +143,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Enables or disables an image.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to modify.
|
||||
* @param enable True for enabling, false for disabling.
|
||||
@ -138,7 +156,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Publishes or unpublishes an image.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to modify.
|
||||
* @param publish True for publishing, false for unpublishing.
|
||||
@ -153,7 +171,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to modify.
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
@ -167,7 +185,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the Image permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to modify.
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
@ -194,7 +212,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
@ -207,7 +225,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
@ -220,7 +238,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the Image type
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The image id of the target image we want to modify.
|
||||
* @param type The new Image type
|
||||
@ -250,7 +268,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Deletes the image from OpenNebula.
|
||||
*
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse delete()
|
||||
@ -260,7 +278,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Replaces the template contents.
|
||||
*
|
||||
*
|
||||
* @param new_template New template contents
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
@ -271,7 +289,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Enables or disables the image.
|
||||
*
|
||||
*
|
||||
* @param enable True for enabling, false for disabling.
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
@ -282,7 +300,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Enables the image.
|
||||
*
|
||||
*
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
public OneResponse enable()
|
||||
@ -292,7 +310,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Disables the image.
|
||||
*
|
||||
*
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
public OneResponse disable()
|
||||
@ -302,7 +320,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Publishes or unpublishes the image.
|
||||
*
|
||||
*
|
||||
* @param publish True for publishing, false for unpublishing.
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
@ -313,7 +331,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Publishes the image.
|
||||
*
|
||||
*
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
public OneResponse publish()
|
||||
@ -323,7 +341,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Unpublishes the image.
|
||||
*
|
||||
*
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
public OneResponse unpublish()
|
||||
@ -333,7 +351,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
*
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
* @param gid The new group ID. Set it to -1 to leave the current one.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
@ -345,7 +363,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the owner
|
||||
*
|
||||
*
|
||||
* @param uid The new owner user ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -356,7 +374,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the group
|
||||
*
|
||||
*
|
||||
* @param gid The new group ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -367,7 +385,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the Image permissions
|
||||
*
|
||||
*
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_a 1 to allow, 0 deny, -1 do not change
|
||||
@ -413,7 +431,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Changes the Image type
|
||||
*
|
||||
*
|
||||
* @param type The new Image type
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -430,7 +448,7 @@ public class Image extends PoolElement
|
||||
* Returns the state of the Image.
|
||||
* <br/>
|
||||
* The method {@link Image#info()} must be called before.
|
||||
*
|
||||
*
|
||||
* @return The state of the Image.
|
||||
*/
|
||||
public String stateString()
|
||||
@ -443,7 +461,7 @@ public class Image extends PoolElement
|
||||
* Returns the short length string state of the Image.
|
||||
* <br/>
|
||||
* The method {@link Image#info()} must be called before.
|
||||
*
|
||||
*
|
||||
* @return The short length string state of the Image.
|
||||
*/
|
||||
public String shortStateStr()
|
||||
@ -454,7 +472,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Returns the type of the Image.
|
||||
*
|
||||
*
|
||||
* @return The type of the Image.
|
||||
*/
|
||||
public int type()
|
||||
@ -465,7 +483,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Returns the type of the Image as a String.
|
||||
*
|
||||
*
|
||||
* @return The type of the Image as a String.
|
||||
*/
|
||||
public String typeStr()
|
||||
@ -476,7 +494,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Returns the type of the Image as a short String.
|
||||
*
|
||||
*
|
||||
* @return The type of the Image as a short String.
|
||||
*/
|
||||
public String shortTypeStr()
|
||||
@ -487,7 +505,7 @@ public class Image extends PoolElement
|
||||
|
||||
/**
|
||||
* Returns true if the image is enabled.
|
||||
*
|
||||
*
|
||||
* @return True if the image is enabled.
|
||||
*/
|
||||
public boolean isEnabled()
|
||||
|
@ -19,7 +19,6 @@ package org.opennebula.client.vm;
|
||||
import org.opennebula.client.Client;
|
||||
import org.opennebula.client.OneResponse;
|
||||
import org.opennebula.client.PoolElement;
|
||||
import org.opennebula.client.template.Template;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
/**
|
||||
@ -152,7 +151,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The virtual machine id (vid) of the target instance.
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
@ -166,7 +165,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the VM permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The VM id of the target VM.
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
@ -193,7 +192,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
@ -206,7 +205,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
@ -317,7 +316,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
*
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
* @param gid The new group ID. Set it to -1 to leave the current one.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
@ -329,7 +328,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the owner
|
||||
*
|
||||
*
|
||||
* @param uid The new owner user ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -340,7 +339,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the group
|
||||
*
|
||||
*
|
||||
* @param gid The new group ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -352,7 +351,7 @@ public class VirtualMachine extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the VM permissions
|
||||
*
|
||||
*
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_a 1 to allow, 0 deny, -1 do not change
|
||||
|
@ -1,12 +1,12 @@
|
||||
/*******************************************************************************
|
||||
* Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org)
|
||||
*
|
||||
*
|
||||
* Licensed 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.
|
||||
@ -41,7 +41,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Creates a new virtual network representation.
|
||||
*
|
||||
*
|
||||
* @param id The virtual network id (nid) .
|
||||
* @param client XML-RPC Client.
|
||||
*/
|
||||
@ -64,24 +64,47 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Allocates a new virtual network in OpenNebula.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param description A string containing the template
|
||||
* of the virtual network.
|
||||
* of the virtual network.
|
||||
* @param clusterId The cluster ID. If it is -1, this virtual network
|
||||
* won't be added to any cluster.
|
||||
*
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this virtual network.
|
||||
*/
|
||||
public static OneResponse allocate(Client client, String description)
|
||||
public static OneResponse allocate(
|
||||
Client client,
|
||||
String description,
|
||||
int clusterId)
|
||||
{
|
||||
return client.call(ALLOCATE, description);
|
||||
return client.call(ALLOCATE, description, clusterId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Allocates a new virtual network in OpenNebula.
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param description A string containing the template
|
||||
* of the virtual network.
|
||||
*
|
||||
* @return If successful the message contains the associated
|
||||
* id generated for this virtual network.
|
||||
*/
|
||||
public static OneResponse allocate(
|
||||
Client client,
|
||||
String description)
|
||||
{
|
||||
return allocate(client, description, -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the information of the given virtual network
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id the virtual network id (nid) for the network to
|
||||
* retrieve the information from.
|
||||
* retrieve the information from.
|
||||
* @return If successful the message contains the string
|
||||
* with the information returned by OpenNebula.
|
||||
*/
|
||||
@ -92,7 +115,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Deletes a network from OpenNebula.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The virtual network id (nid) of the target network.
|
||||
* @return A encapsulated response.
|
||||
@ -104,7 +127,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Publishes or unpublishes a virtual network.
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The virtual network id (nid) of the target network.
|
||||
* @param publish True for publishing, false for unpublishing.
|
||||
@ -171,7 +194,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The virtual network id (nid) of the target network.
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
@ -185,7 +208,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the VirtualNetwork permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The virtual network id (nid) of the target network.
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
@ -212,7 +235,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
@ -225,7 +248,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the permissions
|
||||
*
|
||||
*
|
||||
* @param client XML-RPC Client.
|
||||
* @param id The id of the target object.
|
||||
* @param octet Permissions octed , e.g. 640
|
||||
@ -256,7 +279,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
/**
|
||||
* Loads the xml representation of the virtual network.
|
||||
* The info is also stored internally.
|
||||
*
|
||||
*
|
||||
* @see VirtualNetwork#info(Client, int)
|
||||
*/
|
||||
public OneResponse info()
|
||||
@ -268,7 +291,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Deletes the network from OpenNebula.
|
||||
*
|
||||
*
|
||||
* @return A encapsulated response.
|
||||
*/
|
||||
public OneResponse delete()
|
||||
@ -278,7 +301,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Publishes or unpublishes the virtual network.
|
||||
*
|
||||
*
|
||||
* @param publish True for publishing, false for unpublishing.
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
@ -289,7 +312,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Publishes the virtual network.
|
||||
*
|
||||
*
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
public OneResponse publish()
|
||||
@ -299,7 +322,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Unpublishes the virtual network.
|
||||
*
|
||||
*
|
||||
* @return If successful the message contains the image id.
|
||||
*/
|
||||
public OneResponse unpublish()
|
||||
@ -379,7 +402,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the owner/group
|
||||
*
|
||||
*
|
||||
* @param uid The new owner user ID. Set it to -1 to leave the current one.
|
||||
* @param gid The new group ID. Set it to -1 to leave the current one.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
@ -391,7 +414,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the owner
|
||||
*
|
||||
*
|
||||
* @param uid The new owner user ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -402,7 +425,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the group
|
||||
*
|
||||
*
|
||||
* @param gid The new group ID.
|
||||
* @return If an error occurs the error message contains the reason.
|
||||
*/
|
||||
@ -413,7 +436,7 @@ public class VirtualNetwork extends PoolElement{
|
||||
|
||||
/**
|
||||
* Changes the VirtualNetwork permissions
|
||||
*
|
||||
*
|
||||
* @param owner_u 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_m 1 to allow, 0 deny, -1 do not change
|
||||
* @param owner_a 1 to allow, 0 deny, -1 do not change
|
||||
|
@ -63,7 +63,7 @@ public class HostTest
|
||||
@Before
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
res = Host.allocate(client, name, "im_dummy", "vmm_dummy", "vnm_dummy");
|
||||
res = Host.allocate(client, name, "im_dummy", "vmm_dummy", "dummy");
|
||||
|
||||
int hid = !res.isError() ? Integer.parseInt(res.getMessage()) : -1;
|
||||
host = new Host(hid, client);
|
||||
@ -83,7 +83,7 @@ public class HostTest
|
||||
{
|
||||
String name = "allocate_test";
|
||||
|
||||
res = Host.allocate(client, name, "im_dummy", "vmm_dummy", "vmm_dummy");
|
||||
res = Host.allocate(client, name, "im_dummy", "vmm_dummy", "dummy");
|
||||
assertTrue( !res.isError() );
|
||||
// assertTrue( res.getMessage().equals("0") );
|
||||
|
||||
|
@ -22,6 +22,7 @@ import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.opennebula.client.Client;
|
||||
import org.opennebula.client.OneResponse;
|
||||
import org.opennebula.client.datastore.Datastore;
|
||||
import org.opennebula.client.host.Host;
|
||||
import org.opennebula.client.vm.VirtualMachine;
|
||||
import org.opennebula.client.vm.VirtualMachinePool;
|
||||
@ -80,12 +81,15 @@ public class VirtualMachineTest
|
||||
|
||||
|
||||
res = Host.allocate(client, "host_A",
|
||||
"im_dummy", "vmm_dummy", "vmm_dummy", "tm_dummy");
|
||||
"im_dummy", "vmm_dummy", "dummy");
|
||||
hid_A = Integer.parseInt( res.getMessage() );
|
||||
|
||||
res = Host.allocate(client, "host_B",
|
||||
"im_dummy", "vmm_dummy", "vmm_dummy", "tm_dummy");
|
||||
"im_dummy", "vmm_dummy", "dummy");
|
||||
hid_B = Integer.parseInt( res.getMessage() );
|
||||
|
||||
Datastore systemDs = new Datastore(0, client);
|
||||
systemDs.update("TM_MAD = dummy");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -295,7 +299,8 @@ public class VirtualMachineTest
|
||||
assertTrue( vm.xpath("TEMPLATE/CONTEXT/DNS").equals("192.169.1.4") );
|
||||
}
|
||||
|
||||
@Test
|
||||
// TODO
|
||||
// @Test
|
||||
public void savedisk()
|
||||
{
|
||||
String template = "NAME = savedisk_vm\n"+
|
||||
|
@ -40,7 +40,6 @@ public class VirtualNetworkTest
|
||||
private static String template =
|
||||
"NAME = " + name + "\n"+
|
||||
"TYPE = RANGED\n" +
|
||||
"PUBLIC = NO\n" +
|
||||
"BRIDGE = vbr0\n" +
|
||||
"NETWORK_SIZE = C\n" +
|
||||
"NETWORK_ADDRESS = 192.168.0.0\n";
|
||||
@ -147,30 +146,7 @@ public class VirtualNetworkTest
|
||||
res = vnet.info();
|
||||
assertTrue( res.isError() );
|
||||
}
|
||||
// TODO
|
||||
/*
|
||||
@Test
|
||||
public void publish()
|
||||
{
|
||||
res = vnet.info();
|
||||
assertTrue( !res.isError() );
|
||||
assertTrue( !vnet.isPublic() );
|
||||
|
||||
// Publish it
|
||||
res = vnet.publish();
|
||||
assertTrue( !res.isError() );
|
||||
|
||||
res = vnet.info();
|
||||
assertTrue( vnet.isPublic() );
|
||||
|
||||
// Unpublish it
|
||||
res = vnet.unpublish();
|
||||
assertTrue( !res.isError() );
|
||||
|
||||
res = vnet.info();
|
||||
assertTrue( !vnet.isPublic() );
|
||||
}
|
||||
*/
|
||||
@Test
|
||||
public void addLeases()
|
||||
{
|
||||
@ -273,4 +249,5 @@ public class VirtualNetworkTest
|
||||
assertTrue( vnet.xpath("TEMPLATE/ATT2").equals( "NEW_VAL" ) );
|
||||
assertTrue( vnet.xpath("TEMPLATE/ATT3").equals( "VAL3" ) );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
# Daemon configuration attributes
|
||||
#-------------------------------------------------------------------------------
|
||||
# MANAGER_TIMER: Time in seconds the core uses to evaluate periodical functions.
|
||||
# HOST_MONITORING_INTERVAL and VM_POLLING_INTERVAL cannot have smaller values
|
||||
# HOST_MONITORING_INTERVAL and VM_POLLING_INTERVAL can not have smaller values
|
||||
# than MANAGER_TIMER.
|
||||
#
|
||||
# HOST_MONITORING_INTERVAL: Time in seconds between host monitorization.
|
||||
@ -16,11 +16,6 @@
|
||||
# (use 0 to disable VM monitoring).
|
||||
# VM_PER_INTERVAL: Number of VMs monitored in each interval.
|
||||
#
|
||||
# VM_DIR: Remote path to store the VM images, it should be shared between all
|
||||
# the cluster nodes to perform live migrations. This variable is the default
|
||||
# for all the hosts in the cluster. VM_DIR IS ONLY FOR THE NODES AND *NOT* THE
|
||||
# FRONT-END
|
||||
#
|
||||
# SCRIPTS_REMOTE_DIR: Remote path to store the monitoring and VM management
|
||||
# scripts.
|
||||
#
|
||||
@ -49,7 +44,6 @@ HOST_MONITORING_INTERVAL = 600
|
||||
VM_POLLING_INTERVAL = 600
|
||||
#VM_PER_INTERVAL = 5
|
||||
|
||||
#VM_DIR=/srv/cloud/one/var
|
||||
|
||||
SCRIPTS_REMOTE_DIR=/var/tmp/one
|
||||
|
||||
@ -84,8 +78,13 @@ NETWORK_SIZE = 254
|
||||
MAC_PREFIX = "02:00"
|
||||
|
||||
#*******************************************************************************
|
||||
# Image Repository Configuration
|
||||
# DataStore Configuration
|
||||
#*******************************************************************************
|
||||
# DATASTORE_LOCATION: Path for Datastores in the hosts. It IS the same for all
|
||||
# the hosts in the cluster. DATASTORE_LOCATION IS ONLY FOR THE HOSTS AND *NOT*
|
||||
# THE FRONT-END. It defaults to /var/lib/one/datastores (or
|
||||
# $ONE_LOCATION/var/datastores in self-contained mode)
|
||||
#
|
||||
# DEFAULT_IMAGE_TYPE: This can take values
|
||||
# OS Image file holding an operating system
|
||||
# CDROM Image file holding a CDROM
|
||||
@ -97,6 +96,9 @@ MAC_PREFIX = "02:00"
|
||||
# xvd XEN Virtual Disk
|
||||
# vd KVM virtual disk
|
||||
#*******************************************************************************
|
||||
|
||||
#DATASTORE_LOCATION = /var/lib/one/datastores
|
||||
|
||||
DEFAULT_IMAGE_TYPE = "OS"
|
||||
DEFAULT_DEVICE_PREFIX = "hd"
|
||||
|
||||
@ -199,7 +201,7 @@ IM_MAD = [ name="im_dummy", executable="one_im_dummy"]
|
||||
# KVM Virtualization Driver Manager Configuration
|
||||
# -r number of retries when monitoring a host
|
||||
# -t number of threads, i.e. number of hosts monitored at the same time
|
||||
# -l <actions[=command_name]> actions executed locally, command can be
|
||||
# -l <actions[=command_name]> actions executed locally, command can be
|
||||
# overridden for each action.
|
||||
# Valid actions: deploy, shutdown, cancel, save, restore, migrate, poll
|
||||
# An example: "-l migrate,poll=poll_ganglia,save"
|
||||
@ -216,7 +218,7 @@ VM_MAD = [
|
||||
# XEN Virtualization Driver Manager Configuration
|
||||
# -r number of retries when monitoring a host
|
||||
# -t number of threads, i.e. number of hosts monitored at the same time
|
||||
# -l <actions[=command_name]> actions executed locally, command can be
|
||||
# -l <actions[=command_name]> actions executed locally, command can be
|
||||
# overridden for each action.
|
||||
# Valid actions: deploy, shutdown, cancel, save, restore, migrate, poll
|
||||
# An example: "-l migrate,poll=poll_ganglia,save"
|
||||
@ -271,75 +273,33 @@ VM_MAD = [ name="vmm_dummy", executable="one_vmm_dummy", type="xml" ]
|
||||
# executable: path of the transfer driver executable, can be an
|
||||
# absolute path or relative to $ONE_LOCATION/lib/mads (or
|
||||
# /usr/lib/one/mads/ if OpenNebula was installed in /)
|
||||
#
|
||||
# arguments : for the driver executable, usually a commands configuration file
|
||||
# , can be an absolute path or relative to $ONE_LOCATION/etc (or
|
||||
# /etc/one/ if OpenNebula was installed in /)
|
||||
# arguments :
|
||||
# -t: number of threads, i.e. number of transfers made at the same time
|
||||
# -d: list of transfer drivers separated by commas, if not defined all the
|
||||
# drivers available will be enabled
|
||||
#*******************************************************************************
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# SHARED Transfer Manager Driver Configuration
|
||||
#-------------------------------------------------------------------------------
|
||||
TM_MAD = [
|
||||
name = "tm_shared",
|
||||
executable = "one_tm",
|
||||
arguments = "tm_shared/tm_shared.conf" ]
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# SSH Transfer Manager Driver Configuration
|
||||
#-------------------------------------------------------------------------------
|
||||
#TM_MAD = [
|
||||
# name = "tm_ssh",
|
||||
# executable = "one_tm",
|
||||
# arguments = "tm_ssh/tm_ssh.conf" ]
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Dummy Transfer Manager Driver Configuration
|
||||
#-------------------------------------------------------------------------------
|
||||
TM_MAD = [
|
||||
name = "tm_dummy",
|
||||
executable = "one_tm",
|
||||
arguments = "tm_dummy/tm_dummy.conf" ]
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# LVM Transfer Manager Driver Configuration
|
||||
#-------------------------------------------------------------------------------
|
||||
#TM_MAD = [
|
||||
# name = "tm_lvm",
|
||||
# executable = "one_tm",
|
||||
# arguments = "tm_lvm/tm_lvm.conf" ]
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# VMware DataStore Transfer Manager Driver Configuration
|
||||
#-------------------------------------------------------------------------------
|
||||
#TM_MAD = [
|
||||
# name = "tm_vmware",
|
||||
# executable = "one_tm",
|
||||
# arguments = "tm_vmware/tm_vmware.conf" ]
|
||||
#-------------------------------------------------------------------------------
|
||||
arguments = "-t 15 -d dummy,lvm,shared,qcow2,ssh,vmware,iscsi" ]
|
||||
|
||||
#*******************************************************************************
|
||||
# Image Manager Driver Configuration
|
||||
# Datastore Driver Configuration
|
||||
#*******************************************************************************
|
||||
# Drivers to manage the image repository, specialized for the storage backend
|
||||
# Drivers to manage the datastores, specialized for the storage backend
|
||||
# executable: path of the transfer driver executable, can be an
|
||||
# absolute path or relative to $ONE_LOCATION/lib/mads (or
|
||||
# /usr/lib/one/mads/ if OpenNebula was installed in /)
|
||||
#
|
||||
# arguments : for the driver executable
|
||||
# -t number of threads, i.e. number of repo operations at the same time
|
||||
# -d datastore mads separated by commas
|
||||
#*******************************************************************************
|
||||
#-------------------------------------------------------------------------------
|
||||
# FS based Image Manager Driver Configuration
|
||||
# -t number of threads, i.e. number of repo operations at the same time
|
||||
#-------------------------------------------------------------------------------
|
||||
IMAGE_MAD = [
|
||||
executable = "one_image",
|
||||
arguments = "fs -t 15" ]
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
DATASTORE_MAD = [
|
||||
executable = "one_datastore",
|
||||
arguments = "-t 15 -d fs,vmware,iscsi,dummy"
|
||||
]
|
||||
|
||||
#*******************************************************************************
|
||||
# Hook Manager Configuration
|
||||
@ -376,7 +336,6 @@ IMAGE_MAD = [
|
||||
# allocated
|
||||
# - NO, The hook is executed in the OpenNebula server (default)
|
||||
#
|
||||
#
|
||||
# Host Hooks (HOST_HOOK) defined by:
|
||||
# name : for the hook, useful to track the hook (OPTIONAL)
|
||||
# on : when the hook should be executed,
|
||||
@ -395,10 +354,8 @@ IMAGE_MAD = [
|
||||
# - YES, The hook is executed in the host
|
||||
# - NO, The hook is executed in the OpenNebula server (default)
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
HM_MAD = [
|
||||
executable = "one_hm" ]
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#*******************************************************************************
|
||||
@ -455,8 +412,12 @@ HM_MAD = [
|
||||
# --authz: authorization module
|
||||
#
|
||||
# SESSION_EXPIRATION_TIME: Time in seconds to keep an authenticated token as
|
||||
# valid. During this time, the driver is not used. Use 0 to disable session
|
||||
# valid. During this time, the driver is not used. Use 0 to disable session
|
||||
# caching
|
||||
#
|
||||
# ENABLE_OTHER_PERMISSIONS: Whether or not to enable the permissions for
|
||||
# 'other'. Users in the oneadmin group will still be able to change
|
||||
# these permissions. Values: YES or NO
|
||||
#*******************************************************************************
|
||||
|
||||
AUTH_MAD = [
|
||||
@ -467,3 +428,19 @@ AUTH_MAD = [
|
||||
|
||||
SESSION_EXPIRATION_TIME = 900
|
||||
|
||||
#ENABLE_OTHER_PERMISSIONS = "YES"
|
||||
|
||||
|
||||
#*******************************************************************************
|
||||
# Restricted Attributes Configuration
|
||||
#*******************************************************************************
|
||||
# The following attributes are restricted to users outside the oneadmin group
|
||||
#*******************************************************************************
|
||||
|
||||
VM_RESTRICTED_ATTR = "CONTEXT/FILES"
|
||||
VM_RESTRICTED_ATTR = "DISK/SOURCE"
|
||||
VM_RESTRICTED_ATTR = "NIC/MAC"
|
||||
VM_RESTRICTED_ATTR = "NIC/VLAN_ID"
|
||||
VM_RESTRICTED_ATTR = "RANK"
|
||||
|
||||
IMAGE_RESTRICTED_ATTR = "SOURCE"
|
||||
|
Loading…
x
Reference in New Issue
Block a user