mirror of
https://github.com/OpenNebula/one.git
synced 2024-12-23 17:33:56 +03:00
This commit is contained in:
parent
e3e08b5a77
commit
f1331453b7
@ -32,7 +32,6 @@ public class Image extends PoolElement
|
|||||||
private static final String INFO = METHOD_PREFIX + "info";
|
private static final String INFO = METHOD_PREFIX + "info";
|
||||||
private static final String DELETE = METHOD_PREFIX + "delete";
|
private static final String DELETE = METHOD_PREFIX + "delete";
|
||||||
private static final String UPDATE = METHOD_PREFIX + "update";
|
private static final String UPDATE = METHOD_PREFIX + "update";
|
||||||
private static final String RMATTR = METHOD_PREFIX + "rmattr";
|
|
||||||
private static final String ENABLE = METHOD_PREFIX + "enable";
|
private static final String ENABLE = METHOD_PREFIX + "enable";
|
||||||
private static final String PUBLISH = METHOD_PREFIX + "publish";
|
private static final String PUBLISH = METHOD_PREFIX + "publish";
|
||||||
private static final String CHOWN = METHOD_PREFIX + "chown";
|
private static final String CHOWN = METHOD_PREFIX + "chown";
|
||||||
@ -111,31 +110,16 @@ public class Image extends PoolElement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Modifies an image attribute.
|
* Replaces the template contents.
|
||||||
*
|
*
|
||||||
* @param client XML-RPC Client.
|
* @param client XML-RPC Client.
|
||||||
* @param id The image id of the target image we want to modify.
|
* @param id The image id of the target image we want to modify.
|
||||||
* @param att_name The name of the attribute to update.
|
* @param new_template New template contents
|
||||||
* @param att_val The new value for the attribute.
|
|
||||||
* @return If successful the message contains the image id.
|
* @return If successful the message contains the image id.
|
||||||
*/
|
*/
|
||||||
public static OneResponse update(Client client, int id,
|
public static OneResponse update(Client client, int id, String new_template)
|
||||||
String att_name, String att_val)
|
|
||||||
{
|
{
|
||||||
return client.call(UPDATE, id, att_name, att_val);
|
return client.call(UPDATE, id, new_template);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes an image attribute.
|
|
||||||
*
|
|
||||||
* @param client XML-RPC Client.
|
|
||||||
* @param id The image id of the target image we want to modify.
|
|
||||||
* @param att_name The name of the attribute to remove.
|
|
||||||
* @return If successful the message contains the image id.
|
|
||||||
*/
|
|
||||||
public static OneResponse rmattr(Client client, int id, String att_name)
|
|
||||||
{
|
|
||||||
return client.call(RMATTR, id, att_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -206,26 +190,14 @@ public class Image extends PoolElement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Modifies an image attribute.
|
* Replaces the template contents.
|
||||||
*
|
*
|
||||||
* @param att_name The name of the attribute to update.
|
* @param new_template New template contents
|
||||||
* @param att_val The new value for the attribute.
|
|
||||||
* @return If successful the message contains the image id.
|
* @return If successful the message contains the image id.
|
||||||
*/
|
*/
|
||||||
public OneResponse update(String att_name, String att_val)
|
public OneResponse update(String new_template)
|
||||||
{
|
{
|
||||||
return update(client, id, att_name, att_val);
|
return update(client, id, new_template);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes an image attribute.
|
|
||||||
*
|
|
||||||
* @param att_name The name of the attribute to remove.
|
|
||||||
* @return If successful the message contains the image id.
|
|
||||||
*/
|
|
||||||
public OneResponse rmattr(String att_name)
|
|
||||||
{
|
|
||||||
return rmattr(client, id, att_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -32,9 +32,9 @@ public class Template extends PoolElement
|
|||||||
private static final String INFO = METHOD_PREFIX + "info";
|
private static final String INFO = METHOD_PREFIX + "info";
|
||||||
private static final String DELETE = METHOD_PREFIX + "delete";
|
private static final String DELETE = METHOD_PREFIX + "delete";
|
||||||
private static final String UPDATE = METHOD_PREFIX + "update";
|
private static final String UPDATE = METHOD_PREFIX + "update";
|
||||||
private static final String RMATTR = METHOD_PREFIX + "rmattr";
|
|
||||||
private static final String PUBLISH = METHOD_PREFIX + "publish";
|
private static final String PUBLISH = METHOD_PREFIX + "publish";
|
||||||
private static final String CHOWN = METHOD_PREFIX + "chown";
|
private static final String CHOWN = METHOD_PREFIX + "chown";
|
||||||
|
private static final String INSTANTIATE = METHOD_PREFIX + "instantiate";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new Template representation.
|
* Creates a new Template representation.
|
||||||
@ -98,31 +98,16 @@ public class Template extends PoolElement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Modifies a template attribute.
|
* Replaces the template contents.
|
||||||
*
|
*
|
||||||
* @param client XML-RPC Client.
|
* @param client XML-RPC Client.
|
||||||
* @param id The template id of the target template we want to modify.
|
* @param id The template id of the target template we want to modify.
|
||||||
* @param att_name The name of the attribute to update.
|
* @param new_template New template contents.
|
||||||
* @param att_val The new value for the attribute.
|
|
||||||
* @return If successful the message contains the template id.
|
* @return If successful the message contains the template id.
|
||||||
*/
|
*/
|
||||||
public static OneResponse update(Client client, int id,
|
public static OneResponse update(Client client, int id, String new_template)
|
||||||
String att_name, String att_val)
|
|
||||||
{
|
{
|
||||||
return client.call(UPDATE, id, att_name, att_val);
|
return client.call(UPDATE, id, new_template);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes a template attribute.
|
|
||||||
*
|
|
||||||
* @param client XML-RPC Client.
|
|
||||||
* @param id The template id of the target template we want to modify.
|
|
||||||
* @param att_name The name of the attribute to remove.
|
|
||||||
* @return If successful the message contains the template id.
|
|
||||||
*/
|
|
||||||
public static OneResponse rmattr(Client client, int id, String att_name)
|
|
||||||
{
|
|
||||||
return client.call(RMATTR, id, att_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -152,6 +137,19 @@ public class Template extends PoolElement
|
|||||||
return client.call(CHOWN, id, uid, gid);
|
return client.call(CHOWN, id, uid, gid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a VM instance from a Template
|
||||||
|
*
|
||||||
|
* @param client XML-RPC Client.
|
||||||
|
* @param id The template id of the target template.
|
||||||
|
* @param name A string containing the name of the VM instance, can be empty.
|
||||||
|
* @return If successful the message contains the VM Instance ID.
|
||||||
|
*/
|
||||||
|
public static OneResponse instantiate(Client client, int id, String name)
|
||||||
|
{
|
||||||
|
return client.call(INSTANTIATE, id, name);
|
||||||
|
}
|
||||||
|
|
||||||
// =================================
|
// =================================
|
||||||
// Instanced object XML-RPC methods
|
// Instanced object XML-RPC methods
|
||||||
// =================================
|
// =================================
|
||||||
@ -180,26 +178,14 @@ public class Template extends PoolElement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Modifies a template attribute.
|
* Replaces the template contents.
|
||||||
*
|
*
|
||||||
* @param att_name The name of the attribute to update.
|
* @param new_template New template contents.
|
||||||
* @param att_val The new value for the attribute.
|
|
||||||
* @return If successful the message contains the template id.
|
* @return If successful the message contains the template id.
|
||||||
*/
|
*/
|
||||||
public OneResponse update(String att_name, String att_val)
|
public OneResponse update(String new_template)
|
||||||
{
|
{
|
||||||
return update(client, id, att_name, att_val);
|
return update(client, id, new_template);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes a template attribute.
|
|
||||||
*
|
|
||||||
* @param att_name The name of the attribute to remove.
|
|
||||||
* @return If successful the message contains the template id.
|
|
||||||
*/
|
|
||||||
public OneResponse rmattr(String att_name)
|
|
||||||
{
|
|
||||||
return rmattr(client, id, att_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -267,6 +253,27 @@ public class Template extends PoolElement
|
|||||||
return chown(-1, gid);
|
return chown(-1, gid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a VM instance from a Template
|
||||||
|
*
|
||||||
|
* @param name A string containing the name of the VM instance, can be empty.
|
||||||
|
* @return If successful the message contains the VM Instance ID.
|
||||||
|
*/
|
||||||
|
public OneResponse instantiate(String name)
|
||||||
|
{
|
||||||
|
return instantiate(client, id, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a VM instance from a Template
|
||||||
|
*
|
||||||
|
* @return If successful the message contains the VM Instance ID.
|
||||||
|
*/
|
||||||
|
public OneResponse instantiate()
|
||||||
|
{
|
||||||
|
return instantiate(client, id, "");
|
||||||
|
}
|
||||||
|
|
||||||
// =================================
|
// =================================
|
||||||
// Helpers
|
// Helpers
|
||||||
// =================================
|
// =================================
|
||||||
|
@ -43,7 +43,8 @@ public class ImageTest
|
|||||||
|
|
||||||
return "NAME = \"test_img_" + cont + "\"\n" +
|
return "NAME = \"test_img_" + cont + "\"\n" +
|
||||||
"PATH = /etc/hosts\n" +
|
"PATH = /etc/hosts\n" +
|
||||||
"ATT1 = \"val1\"";
|
"ATT1 = \"VAL1\"\n" +
|
||||||
|
"ATT2 = \"VAL2\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -122,34 +123,26 @@ public class ImageTest
|
|||||||
@Test
|
@Test
|
||||||
public void update()
|
public void update()
|
||||||
{
|
{
|
||||||
// Update an existing att.
|
res = image.info();
|
||||||
res = image.update("ATT1", "new_val_1");
|
|
||||||
assertTrue( !res.isError() );
|
assertTrue( !res.isError() );
|
||||||
|
|
||||||
|
assertTrue( image.xpath("TEMPLATE/ATT1").equals( "VAL1" ) );
|
||||||
|
assertTrue( image.xpath("TEMPLATE/ATT2").equals( "VAL2" ) );
|
||||||
|
|
||||||
|
String new_template = "ATT2 = NEW_VAL\n" +
|
||||||
|
"ATT3 = VAL3";
|
||||||
|
|
||||||
|
res = image.update(new_template);
|
||||||
|
assertTrue( !res.isError() );
|
||||||
|
|
||||||
|
|
||||||
res = image.info();
|
res = image.info();
|
||||||
assertTrue( !res.isError() );
|
assertTrue( !res.isError() );
|
||||||
assertTrue( image.xpath("TEMPLATE/ATT1").equals("new_val_1") );
|
assertTrue( image.xpath("TEMPLATE/ATT1").equals( "" ) );
|
||||||
|
assertTrue( image.xpath("TEMPLATE/ATT2").equals( "NEW_VAL" ) );
|
||||||
// Create a new att.
|
assertTrue( image.xpath("TEMPLATE/ATT3").equals( "VAL3" ) );
|
||||||
res = image.update("ATT2", "new_val_2");
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
|
|
||||||
res = image.info();
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
assertTrue( image.xpath("TEMPLATE/ATT2").equals("new_val_2") );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void rmattr()
|
|
||||||
{
|
|
||||||
res = image.rmattr("ATT1");
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
|
|
||||||
res = image.info();
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
|
|
||||||
assertTrue( image.xpath("ATT1").equals("") );
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
// @Test
|
// @Test
|
||||||
|
@ -43,7 +43,8 @@ public class TemplateTest
|
|||||||
|
|
||||||
private static String template_str =
|
private static String template_str =
|
||||||
"NAME = \"" + name + "\"\n" +
|
"NAME = \"" + name + "\"\n" +
|
||||||
"ATT1 = \"val1\"";
|
"ATT1 = \"VAL1\"\n" +
|
||||||
|
"ATT2 = \"VAL2\"";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws java.lang.Exception
|
* @throws java.lang.Exception
|
||||||
@ -121,33 +122,24 @@ public class TemplateTest
|
|||||||
@Test
|
@Test
|
||||||
public void update()
|
public void update()
|
||||||
{
|
{
|
||||||
// Update an existing att.
|
|
||||||
res = template.update("ATT1", "new_val_1");
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
|
|
||||||
res = template.info();
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
assertTrue( template.xpath("TEMPLATE/ATT1").equals("new_val_1") );
|
|
||||||
|
|
||||||
// Create a new att.
|
|
||||||
res = template.update("ATT2", "new_val_2");
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
|
|
||||||
res = template.info();
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
assertTrue( template.xpath("TEMPLATE/ATT2").equals("new_val_2") );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void rmattr()
|
|
||||||
{
|
|
||||||
res = template.rmattr("ATT1");
|
|
||||||
assertTrue( !res.isError() );
|
|
||||||
|
|
||||||
res = template.info();
|
res = template.info();
|
||||||
assertTrue( !res.isError() );
|
assertTrue( !res.isError() );
|
||||||
|
|
||||||
assertTrue( template.xpath("ATT1").equals("") );
|
assertTrue( template.xpath("TEMPLATE/ATT1").equals( "VAL1" ) );
|
||||||
|
assertTrue( template.xpath("TEMPLATE/ATT2").equals( "VAL2" ) );
|
||||||
|
|
||||||
|
String new_template = "ATT2 = NEW_VAL\n" +
|
||||||
|
"ATT3 = VAL3";
|
||||||
|
|
||||||
|
res = template.update(new_template);
|
||||||
|
assertTrue( !res.isError() );
|
||||||
|
|
||||||
|
|
||||||
|
res = template.info();
|
||||||
|
assertTrue( !res.isError() );
|
||||||
|
assertTrue( template.xpath("TEMPLATE/ATT1").equals( "" ) );
|
||||||
|
assertTrue( template.xpath("TEMPLATE/ATT2").equals( "NEW_VAL" ) );
|
||||||
|
assertTrue( template.xpath("TEMPLATE/ATT3").equals( "VAL3" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -237,4 +229,19 @@ public class TemplateTest
|
|||||||
assertTrue( template.uid() == uid );
|
assertTrue( template.uid() == uid );
|
||||||
assertTrue( template.gid() == 0 );
|
assertTrue( template.gid() == 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void instantiate()
|
||||||
|
{
|
||||||
|
res = template.instantiate("new_vm_name");
|
||||||
|
assertTrue( !res.isError() );
|
||||||
|
|
||||||
|
int vm_id = Integer.parseInt(res.getMessage());
|
||||||
|
VirtualMachine vm = new VirtualMachine(vm_id, client);
|
||||||
|
|
||||||
|
res = vm.info();
|
||||||
|
assertTrue( !res.isError() );
|
||||||
|
|
||||||
|
assertTrue( vm.getName().equals( "new_vm_name" ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user