fog-ovirt 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +30 -0
  3. data/CONTRIBUTING.md +18 -0
  4. data/CONTRIBUTORS.md +21 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE.md +20 -0
  7. data/README.md +47 -0
  8. data/Rakefile +15 -0
  9. data/fog-ovirt.gemspec +32 -0
  10. data/lib/fog/bin/ovirt.rb +28 -0
  11. data/lib/fog/ovirt/compute.rb +155 -0
  12. data/lib/fog/ovirt/core.rb +16 -0
  13. data/lib/fog/ovirt/models/compute/affinity_group.rb +25 -0
  14. data/lib/fog/ovirt/models/compute/affinity_groups.rb +20 -0
  15. data/lib/fog/ovirt/models/compute/cluster.rb +20 -0
  16. data/lib/fog/ovirt/models/compute/clusters.rb +20 -0
  17. data/lib/fog/ovirt/models/compute/instance_type.rb +39 -0
  18. data/lib/fog/ovirt/models/compute/instance_types.rb +20 -0
  19. data/lib/fog/ovirt/models/compute/interface.rb +19 -0
  20. data/lib/fog/ovirt/models/compute/interfaces.rb +29 -0
  21. data/lib/fog/ovirt/models/compute/quota.rb +16 -0
  22. data/lib/fog/ovirt/models/compute/quotas.rb +20 -0
  23. data/lib/fog/ovirt/models/compute/server.rb +175 -0
  24. data/lib/fog/ovirt/models/compute/servers.rb +27 -0
  25. data/lib/fog/ovirt/models/compute/template.rb +58 -0
  26. data/lib/fog/ovirt/models/compute/templates.rb +20 -0
  27. data/lib/fog/ovirt/models/compute/volume.rb +36 -0
  28. data/lib/fog/ovirt/models/compute/volumes.rb +28 -0
  29. data/lib/fog/ovirt/requests/compute/activate_volume.rb +22 -0
  30. data/lib/fog/ovirt/requests/compute/add_interface.rb +20 -0
  31. data/lib/fog/ovirt/requests/compute/add_to_affinity_group.rb +21 -0
  32. data/lib/fog/ovirt/requests/compute/add_volume.rb +21 -0
  33. data/lib/fog/ovirt/requests/compute/attach_volume.rb +22 -0
  34. data/lib/fog/ovirt/requests/compute/create_affinity_group.rb +18 -0
  35. data/lib/fog/ovirt/requests/compute/create_vm.rb +18 -0
  36. data/lib/fog/ovirt/requests/compute/datacenters.rb +20 -0
  37. data/lib/fog/ovirt/requests/compute/deactivate_volume.rb +22 -0
  38. data/lib/fog/ovirt/requests/compute/destroy_affinity_group.rb +19 -0
  39. data/lib/fog/ovirt/requests/compute/destroy_interface.rb +22 -0
  40. data/lib/fog/ovirt/requests/compute/destroy_vm.rb +19 -0
  41. data/lib/fog/ovirt/requests/compute/destroy_volume.rb +22 -0
  42. data/lib/fog/ovirt/requests/compute/detach_volume.rb +22 -0
  43. data/lib/fog/ovirt/requests/compute/get_affinity_group.rb +18 -0
  44. data/lib/fog/ovirt/requests/compute/get_api_version.rb +16 -0
  45. data/lib/fog/ovirt/requests/compute/get_cluster.rb +17 -0
  46. data/lib/fog/ovirt/requests/compute/get_instance_type.rb +17 -0
  47. data/lib/fog/ovirt/requests/compute/get_quota.rb +17 -0
  48. data/lib/fog/ovirt/requests/compute/get_template.rb +17 -0
  49. data/lib/fog/ovirt/requests/compute/get_virtual_machine.rb +17 -0
  50. data/lib/fog/ovirt/requests/compute/list_affinity_group_vms.rb +22 -0
  51. data/lib/fog/ovirt/requests/compute/list_affinity_groups.rb +20 -0
  52. data/lib/fog/ovirt/requests/compute/list_clusters.rb +19 -0
  53. data/lib/fog/ovirt/requests/compute/list_instance_types.rb +19 -0
  54. data/lib/fog/ovirt/requests/compute/list_networks.rb +16 -0
  55. data/lib/fog/ovirt/requests/compute/list_quotas.rb +19 -0
  56. data/lib/fog/ovirt/requests/compute/list_template_interfaces.rb +19 -0
  57. data/lib/fog/ovirt/requests/compute/list_template_volumes.rb +19 -0
  58. data/lib/fog/ovirt/requests/compute/list_templates.rb +19 -0
  59. data/lib/fog/ovirt/requests/compute/list_virtual_machines.rb +19 -0
  60. data/lib/fog/ovirt/requests/compute/list_vm_interfaces.rb +19 -0
  61. data/lib/fog/ovirt/requests/compute/list_vm_volumes.rb +19 -0
  62. data/lib/fog/ovirt/requests/compute/list_volumes.rb +19 -0
  63. data/lib/fog/ovirt/requests/compute/mock_files/affinitygroup.xml +8 -0
  64. data/lib/fog/ovirt/requests/compute/mock_files/affinitygroup_vms.xml +9 -0
  65. data/lib/fog/ovirt/requests/compute/mock_files/affinitygroups.xml +17 -0
  66. data/lib/fog/ovirt/requests/compute/mock_files/cluster.xml +20 -0
  67. data/lib/fog/ovirt/requests/compute/mock_files/clusters.xml +39 -0
  68. data/lib/fog/ovirt/requests/compute/mock_files/data_centers.xml +17 -0
  69. data/lib/fog/ovirt/requests/compute/mock_files/disks.xml +58 -0
  70. data/lib/fog/ovirt/requests/compute/mock_files/instance_type.xml +42 -0
  71. data/lib/fog/ovirt/requests/compute/mock_files/instance_types.xml +197 -0
  72. data/lib/fog/ovirt/requests/compute/mock_files/nics.xml +10 -0
  73. data/lib/fog/ovirt/requests/compute/mock_files/quotas.xml +7 -0
  74. data/lib/fog/ovirt/requests/compute/mock_files/storage_domains.xml +36 -0
  75. data/lib/fog/ovirt/requests/compute/mock_files/template.xml +39 -0
  76. data/lib/fog/ovirt/requests/compute/mock_files/templates.xml +110 -0
  77. data/lib/fog/ovirt/requests/compute/mock_files/vm.xml +52 -0
  78. data/lib/fog/ovirt/requests/compute/mock_files/vms.xml +152 -0
  79. data/lib/fog/ovirt/requests/compute/mock_files/volumes.xml +40 -0
  80. data/lib/fog/ovirt/requests/compute/remove_from_affinity_group.rb +21 -0
  81. data/lib/fog/ovirt/requests/compute/storage_domains.rb +20 -0
  82. data/lib/fog/ovirt/requests/compute/update_interface.rb +35 -0
  83. data/lib/fog/ovirt/requests/compute/update_vm.rb +18 -0
  84. data/lib/fog/ovirt/requests/compute/update_volume.rb +39 -0
  85. data/lib/fog/ovirt/requests/compute/vm_action.rb +22 -0
  86. data/lib/fog/ovirt/requests/compute/vm_start_with_cloudinit.rb +19 -0
  87. data/lib/fog/ovirt/requests/compute/vm_ticket.rb +17 -0
  88. data/lib/fog/ovirt/version.rb +5 -0
  89. data/lib/fog/ovirt.rb +1 -0
  90. data/spec/fog/bin/ovirt_spec.rb +10 -0
  91. data/spec/fog/bin_spec.rb +32 -0
  92. data/tests/helper.rb +1 -0
  93. data/tests/helpers/mock_helper.rb +16 -0
  94. data/tests/helpers/succeeds_helper.rb +9 -0
  95. data/tests/ovirt/compute_tests.rb +25 -0
  96. data/tests/ovirt/models/compute/cluster_tests.rb +31 -0
  97. data/tests/ovirt/models/compute/clusters_tests.rb +9 -0
  98. data/tests/ovirt/models/compute/interface_tests.rb +27 -0
  99. data/tests/ovirt/models/compute/interfaces_tests.rb +9 -0
  100. data/tests/ovirt/models/compute/server_tests.rb +51 -0
  101. data/tests/ovirt/models/compute/servers_tests.rb +14 -0
  102. data/tests/ovirt/models/compute/template_tests.rb +28 -0
  103. data/tests/ovirt/models/compute/templates_tests.rb +9 -0
  104. data/tests/ovirt/requests/compute/create_vm_tests.rb +26 -0
  105. data/tests/ovirt/requests/compute/destroy_vm_tests.rb +18 -0
  106. data/tests/ovirt/requests/compute/list_datacenters_tests.rb +13 -0
  107. data/tests/ovirt/requests/compute/list_quotas_tests.rb +12 -0
  108. data/tests/ovirt/requests/compute/list_storage_domains_tests.rb +13 -0
  109. data/tests/ovirt/requests/compute/update_vm_tests.rb +18 -0
  110. data/tests/ovirt/requests/compute/update_volume_tests.rb +20 -0
  111. metadata +298 -0
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def get_cluster(id)
6
+ ovirt_attrs client.cluster(id)
7
+ end
8
+ end
9
+ class Mock
10
+ def get_cluster(id)
11
+ xml = read_xml('cluster.xml')
12
+ ovirt_attrs OVIRT::Cluster::new(self, Nokogiri::XML(xml).root)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def get_instance_type(id)
6
+ ovirt_attrs client.instance_type(id)
7
+ end
8
+ end
9
+ class Mock
10
+ def get_instance_type(id)
11
+ xml = read_xml 'instance_type.xml'
12
+ ovirt_attrs OVIRT::InstanceType::new(self, Nokogiri::XML(xml).root)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def get_quota(id)
6
+ ovirt_attrs client.quota(id)
7
+ end
8
+ end
9
+ class Mock
10
+ def get_quota(id)
11
+ xml = read_xml('quota.xml')
12
+ ovirt_attrs OVIRT::Quota::new(self, Nokogiri::XML(xml).root)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def get_template(id)
6
+ ovirt_attrs client.template(id)
7
+ end
8
+ end
9
+ class Mock
10
+ def get_template(id)
11
+ xml = read_xml 'template.xml'
12
+ ovirt_attrs OVIRT::Template::new(self, Nokogiri::XML(xml).root)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def get_virtual_machine(id)
6
+ ovirt_attrs client.vm(id)
7
+ end
8
+ end
9
+ class Mock
10
+ def get_virtual_machine(id)
11
+ xml = read_xml 'vm.xml'
12
+ ovirt_attrs OVIRT::VM::new(self, Nokogiri::XML(xml).root)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_affinity_group_vms(id)
6
+ client.affinity_group_vms(id).map {|vm| servers.get(vm.id)}
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_affinity_group_vms(id)
12
+ vms = []
13
+ Nokogiri::XML(read_xml('affinitygroup_vms.xml')).xpath('/vms/vm/@id').each do |id|
14
+ xml = Nokogiri::XML(read_xml('vms.xml')).xpath("/vms/vm[@id='%s']" % id.value).first
15
+ vms << ovirt_attrs(OVIRT::VM::new(self, xml))
16
+ end
17
+ vms
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_affinity_groups(filters = {})
6
+ client.affinity_groups(filters).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_affinity_groups(filters = {})
12
+ xml = read_xml('affinitygroups.xml')
13
+ Nokogiri::XML(xml).xpath('/affinity_groups/affinity_group').map do |ag|
14
+ ovirt_attrs OVIRT::AffinityGroup::new(self, ag)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_clusters(filters = {})
6
+ client.clusters(filters).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_clusters(filters = {})
11
+ xml = read_xml 'clusters.xml'
12
+ Nokogiri::XML(xml).xpath('/clusters/cluster').map do |cl|
13
+ ovirt_attrs OVIRT::Cluster::new(self, cl)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_instance_types(filters = {})
6
+ client.instance_types(filters).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_instance_types(filters = {})
11
+ xml = read_xml 'instance_types.xml'
12
+ Nokogiri::XML(xml).xpath('/instance_types/instance_type').map do |t|
13
+ ovirt_attrs OVIRT::InstanceType::new(self, t)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_networks(cluster_id)
6
+ client.networks(:cluster_id => cluster_id)
7
+ end
8
+ end
9
+ class Mock
10
+ def list_networks(cluster_id)
11
+ []
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_quotas(filters = {})
6
+ client.quotas(filters).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_quotas(filters = {})
11
+ xml = read_xml 'quotas.xml'
12
+ Nokogiri::XML(xml).xpath('/quotas/quota').map do |q|
13
+ ovirt_attrs OVIRT::Quotas::new(self, q)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_template_interfaces(vm_id)
6
+ client.template_interfaces(vm_id).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_template_interfaces(vm_id)
11
+ xml = read_xml 'nics.xml'
12
+ Nokogiri::XML(xml).xpath('/nics/nic').map do |nic|
13
+ ovirt_attrs OVIRT::Interface::new(self, nic)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_template_volumes(template_id)
6
+ client.template_volumes(template_id).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_template_volumes(template_id)
11
+ xml = read_xml 'volumes.xml'
12
+ Nokogiri::XML(xml).xpath('/disks/disk').map do |vol|
13
+ ovirt_attrs OVIRT::Volume::new(self, vol)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_templates(filters = {})
6
+ client.templates(filters).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_templates(filters = {})
11
+ xml = read_xml 'templates.xml'
12
+ Nokogiri::XML(xml).xpath('/templates/template').map do |t|
13
+ ovirt_attrs OVIRT::Template::new(self, t)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_virtual_machines(filters = {})
6
+ client.vms(filters).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_virtual_machines(filters = {})
11
+ xml = read_xml 'vms.xml'
12
+ Nokogiri::XML(xml).xpath('/vms/vm').map do |vm|
13
+ ovirt_attrs OVIRT::VM::new(self, vm)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_vm_interfaces(vm_id)
6
+ client.vm_interfaces(vm_id).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_vm_interfaces(vm_id)
11
+ xml = read_xml 'nics.xml'
12
+ Nokogiri::XML(xml).xpath('/nics/nic').map do |nic|
13
+ ovirt_attrs OVIRT::Interface::new(self, nic)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_vm_volumes(vm_id)
6
+ client.vm_volumes(vm_id).map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_vm_volumes(vm_id)
11
+ xml = read_xml 'volumes.xml'
12
+ Nokogiri::XML(xml).xpath('/disks/disk').map do |vol|
13
+ ovirt_attrs OVIRT::Volume::new(self, vol)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Ovirt
4
+ class Real
5
+ def list_volumes
6
+ client.disks.map {|ovirt_obj| ovirt_attrs ovirt_obj}
7
+ end
8
+ end
9
+ class Mock
10
+ def list_volumes
11
+ xml = read_xml 'disks.xml'
12
+ Nokogiri::XML(xml).xpath('/disks/disk').map do |vol|
13
+ ovirt_attrs OVIRT::Volume::new(self, vol)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <affinity_group href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f" id="9aaec56b-e24d-4fce-82a1-21a7b642ab0f">
3
+ <name>test1_ag</name>
4
+ <link href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f/vms" rel="vms"/>
5
+ <cluster href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa" id="a240aac1-d03a-4c69-923e-a295200539fa"/>
6
+ <positive>true</positive>
7
+ <enforcing>false</enforcing>
8
+ </affinity_group>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <vms>
3
+ <vm href="/api/vms/5ee86332-7b19-465b-8801-2a12ed0d6c1b" id="5ee86332-7b19-465b-8801-2a12ed0d6c1b">
4
+ <name>test-vm1</name>
5
+ </vm>
6
+ <vm href="/api/vms/349764bb-eba3-4466-abef-f18f4c40c9f1" id="349764bb-eba3-4466-abef-f18f4c40c9f1">
7
+ <name>fosdem</name>
8
+ </vm>
9
+ </vms>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <affinity_groups>
3
+ <affinity_group href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/ff73a83f-10b2-44ae-8c98-a29b13ae0c19" id="ff73a83f-10b2-44ae-8c98-a29b13ae0c19">
4
+ <name>test2_ag</name>
5
+ <link href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/ff73a83f-10b2-44ae-8c98-a29b13ae0c19/vms" rel="vms"/>
6
+ <cluster href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa" id="a240aac1-d03a-4c69-923e-a295200539fa"/>
7
+ <positive>true</positive>
8
+ <enforcing>true</enforcing>
9
+ </affinity_group>
10
+ <affinity_group href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f" id="9aaec56b-e24d-4fce-82a1-21a7b642ab0f">
11
+ <name>test1_ag</name>
12
+ <link href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa/affinitygroups/9aaec56b-e24d-4fce-82a1-21a7b642ab0f/vms" rel="vms"/>
13
+ <cluster href="/api/clusters/a240aac1-d03a-4c69-923e-a295200539fa" id="a240aac1-d03a-4c69-923e-a295200539fa"/>
14
+ <positive>true</positive>
15
+ <enforcing>false</enforcing>
16
+ </affinity_group>
17
+ </affinity_groups>
@@ -0,0 +1,20 @@
1
+ <clusters>
2
+ <cluster href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc" id="9ce445e8-4c03-11e1-b3c8-5254009970cc">
3
+ <name>cluster1</name>
4
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/networks" rel="networks"/>
5
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/permissions" rel="permissions"/>
6
+ <cpu id="Intel Conroe Family"/>
7
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc"/>
8
+ <memory_policy>
9
+ <overcommit percent="200"/>
10
+ <transparent_hugepages>
11
+ <enabled>true</enabled>
12
+ </transparent_hugepages>
13
+ </memory_policy>
14
+ <scheduling_policy/>
15
+ <version major="3" minor="0"/>
16
+ <error_handling>
17
+ <on_error>migrate_highly_available</on_error>
18
+ </error_handling>
19
+ </cluster>
20
+ </clusters>
@@ -0,0 +1,39 @@
1
+ <clusters>
2
+ <cluster href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95" id="99408929-82cf-4dc7-a532-9d998063fa95">
3
+ <name>Cluster1</name>
4
+ <description>The default server cluster</description>
5
+ <link href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks" rel="networks"/>
6
+ <link href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/permissions" rel="permissions"/>
7
+ <cpu id="Intel Conroe Family"/>
8
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc"/>
9
+ <memory_policy>
10
+ <overcommit percent="100"/>
11
+ <transparent_hugepages>
12
+ <enabled>true</enabled>
13
+ </transparent_hugepages>
14
+ </memory_policy>
15
+ <scheduling_policy/>
16
+ <version major="3" minor="0"/>
17
+ <error_handling>
18
+ <on_error>migrate</on_error>
19
+ </error_handling>
20
+ </cluster>
21
+ <cluster href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc" id="9ce445e8-4c03-11e1-b3c8-5254009970cc">
22
+ <name>Cluster2</name>
23
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/networks" rel="networks"/>
24
+ <link href="/api/clusters/9ce445e8-4c03-11e1-b3c8-5254009970cc/permissions" rel="permissions"/>
25
+ <cpu id="Intel Conroe Family"/>
26
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc"/>
27
+ <memory_policy>
28
+ <overcommit percent="200"/>
29
+ <transparent_hugepages>
30
+ <enabled>true</enabled>
31
+ </transparent_hugepages>
32
+ </memory_policy>
33
+ <scheduling_policy/>
34
+ <version major="3" minor="0"/>
35
+ <error_handling>
36
+ <on_error>migrate_highly_available</on_error>
37
+ </error_handling>
38
+ </cluster>
39
+ </clusters>
@@ -0,0 +1,17 @@
1
+ <data_centers>
2
+ <data_center href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc" id="c0645886-4b4b-11e1-a0ae-5254009970cc">
3
+ <name>Datacenter1</name>
4
+ <description>The first Data Center</description>
5
+ <link href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc/storagedomains" rel="storagedomains"/>
6
+ <link href="/api/datacenters/c0645886-4b4b-11e1-a0ae-5254009970cc/permissions" rel="permissions"/>
7
+ <storage_type>nfs</storage_type>
8
+ <storage_format>v1</storage_format>
9
+ <version major="3" minor="0"/>
10
+ <supported_versions>
11
+ <version major="3" minor="0"/>
12
+ </supported_versions>
13
+ <status>
14
+ <state>up</state>
15
+ </status>
16
+ </data_center>
17
+ </data_centers>
@@ -0,0 +1,58 @@
1
+ <disks>
2
+ <disk href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05" id="4d1abf9a-da81-4de2-bf20-f5f060018e05">
3
+ <actions>
4
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/export" rel="export"/>
5
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/move" rel="move"/>
6
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/copy" rel="copy"/>
7
+ </actions>
8
+ <name>Disk 2</name>
9
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/permissions" rel="permissions"/>
10
+ <link href="/api/disks/4d1abf9a-da81-4de2-bf20-f5f060018e05/statistics" rel="statistics"/>
11
+ <alias>Disk 2</alias>
12
+ <image_id>d6034a90-39fa-46ee-888f-208a76f3baa4</image_id>
13
+ <storage_domains>
14
+ <storage_domain id="a23a4329-33b9-4246-a393-4f91071825b6"/>
15
+ </storage_domains>
16
+ <size>4294967296</size>
17
+ <provisioned_size>4294967296</provisioned_size>
18
+ <actual_size>1073741824</actual_size>
19
+ <status>
20
+ <state>ok</state>
21
+ </status>
22
+ <interface>virtio</interface>
23
+ <format>cow</format>
24
+ <sparse>true</sparse>
25
+ <bootable>false</bootable>
26
+ <shareable>false</shareable>
27
+ <wipe_after_delete>false</wipe_after_delete>
28
+ <propagate_errors>false</propagate_errors>
29
+ </disk>
30
+ <disk href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863" id="cfebdac5-cefb-488a-8b55-f5f273a1e863">
31
+ <actions>
32
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/export" rel="export"/>
33
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/move" rel="move"/>
34
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/copy" rel="copy"/>
35
+ </actions>
36
+ <name>Disk 3</name>
37
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/permissions" rel="permissions"/>
38
+ <link href="/api/disks/cfebdac5-cefb-488a-8b55-f5f273a1e863/statistics" rel="statistics"/>
39
+ <alias>Disk 3</alias>
40
+ <image_id>3d7edbe9-54e1-484c-a77c-3d170f1906bb</image_id>
41
+ <storage_domains>
42
+ <storage_domain id="c8431bb5-f57b-4ce8-8ba0-17c1859bc767"/>
43
+ </storage_domains>
44
+ <size>21474836480</size>
45
+ <provisioned_size>21474836480</provisioned_size>
46
+ <actual_size>1073741824</actual_size>
47
+ <status>
48
+ <state>ok</state>
49
+ </status>
50
+ <interface>virtio</interface>
51
+ <format>cow</format>
52
+ <sparse>true</sparse>
53
+ <bootable>false</bootable>
54
+ <shareable>false</shareable>
55
+ <wipe_after_delete>false</wipe_after_delete>
56
+ <propagate_errors>false</propagate_errors>
57
+ </disk>
58
+ </disks>
@@ -0,0 +1,42 @@
1
+ <instance_types>
2
+ <instance_type href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa" id="00000009-0009-0009-0009-0000000002fa">
3
+ <name>Large</name>
4
+ <description>Large instance type</description>
5
+ <link href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa/nics" rel="nics"/>
6
+ <link href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa/watchdogs" rel="watchdogs"/>
7
+ <link href="/api/instancetypes/00000009-0009-0009-0009-0000000002fa/graphicsconsoles" rel="graphicsconsoles"/>
8
+ <memory>8589934592</memory>
9
+ <cpu>
10
+ <topology sockets="2" cores="1" threads="1"/>
11
+ </cpu>
12
+ <os>
13
+ <boot dev="hd"/>
14
+ </os>
15
+ <creation_time>2014-05-05T02:30:00.000+05:30</creation_time>
16
+ <high_availability>
17
+ <enabled>false</enabled>
18
+ <priority>0</priority>
19
+ </high_availability>
20
+ <display>
21
+ <type>spice</type>
22
+ <monitors>1</monitors>
23
+ <single_qxl_pci>false</single_qxl_pci>
24
+ <smartcard_enabled>false</smartcard_enabled>
25
+ </display>
26
+ <usb>
27
+ <enabled>false</enabled>
28
+ </usb>
29
+ <migration_downtime>-1</migration_downtime>
30
+ <migration>
31
+ <auto_converge>inherit</auto_converge>
32
+ <compressed>inherit</compressed>
33
+ </migration>
34
+ <io>
35
+ <threads>0</threads>
36
+ </io>
37
+ <memory_policy>
38
+ <guaranteed>8589934592</guaranteed>
39
+ <ballooning>false</ballooning>
40
+ </memory_policy>
41
+ </instance_type>
42
+ </instance_types>