fog-ovirt 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +30 -0
- data/CONTRIBUTING.md +18 -0
- data/CONTRIBUTORS.md +21 -0
- data/Gemfile +3 -0
- data/LICENSE.md +20 -0
- data/README.md +47 -0
- data/Rakefile +15 -0
- data/fog-ovirt.gemspec +32 -0
- data/lib/fog/bin/ovirt.rb +28 -0
- data/lib/fog/ovirt/compute.rb +155 -0
- data/lib/fog/ovirt/core.rb +16 -0
- data/lib/fog/ovirt/models/compute/affinity_group.rb +25 -0
- data/lib/fog/ovirt/models/compute/affinity_groups.rb +20 -0
- data/lib/fog/ovirt/models/compute/cluster.rb +20 -0
- data/lib/fog/ovirt/models/compute/clusters.rb +20 -0
- data/lib/fog/ovirt/models/compute/instance_type.rb +39 -0
- data/lib/fog/ovirt/models/compute/instance_types.rb +20 -0
- data/lib/fog/ovirt/models/compute/interface.rb +19 -0
- data/lib/fog/ovirt/models/compute/interfaces.rb +29 -0
- data/lib/fog/ovirt/models/compute/quota.rb +16 -0
- data/lib/fog/ovirt/models/compute/quotas.rb +20 -0
- data/lib/fog/ovirt/models/compute/server.rb +175 -0
- data/lib/fog/ovirt/models/compute/servers.rb +27 -0
- data/lib/fog/ovirt/models/compute/template.rb +58 -0
- data/lib/fog/ovirt/models/compute/templates.rb +20 -0
- data/lib/fog/ovirt/models/compute/volume.rb +36 -0
- data/lib/fog/ovirt/models/compute/volumes.rb +28 -0
- data/lib/fog/ovirt/requests/compute/activate_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/add_interface.rb +20 -0
- data/lib/fog/ovirt/requests/compute/add_to_affinity_group.rb +21 -0
- data/lib/fog/ovirt/requests/compute/add_volume.rb +21 -0
- data/lib/fog/ovirt/requests/compute/attach_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/create_affinity_group.rb +18 -0
- data/lib/fog/ovirt/requests/compute/create_vm.rb +18 -0
- data/lib/fog/ovirt/requests/compute/datacenters.rb +20 -0
- data/lib/fog/ovirt/requests/compute/deactivate_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/destroy_affinity_group.rb +19 -0
- data/lib/fog/ovirt/requests/compute/destroy_interface.rb +22 -0
- data/lib/fog/ovirt/requests/compute/destroy_vm.rb +19 -0
- data/lib/fog/ovirt/requests/compute/destroy_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/detach_volume.rb +22 -0
- data/lib/fog/ovirt/requests/compute/get_affinity_group.rb +18 -0
- data/lib/fog/ovirt/requests/compute/get_api_version.rb +16 -0
- data/lib/fog/ovirt/requests/compute/get_cluster.rb +17 -0
- data/lib/fog/ovirt/requests/compute/get_instance_type.rb +17 -0
- data/lib/fog/ovirt/requests/compute/get_quota.rb +17 -0
- data/lib/fog/ovirt/requests/compute/get_template.rb +17 -0
- data/lib/fog/ovirt/requests/compute/get_virtual_machine.rb +17 -0
- data/lib/fog/ovirt/requests/compute/list_affinity_group_vms.rb +22 -0
- data/lib/fog/ovirt/requests/compute/list_affinity_groups.rb +20 -0
- data/lib/fog/ovirt/requests/compute/list_clusters.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_instance_types.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_networks.rb +16 -0
- data/lib/fog/ovirt/requests/compute/list_quotas.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_template_interfaces.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_template_volumes.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_templates.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_virtual_machines.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_vm_interfaces.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_vm_volumes.rb +19 -0
- data/lib/fog/ovirt/requests/compute/list_volumes.rb +19 -0
- data/lib/fog/ovirt/requests/compute/mock_files/affinitygroup.xml +8 -0
- data/lib/fog/ovirt/requests/compute/mock_files/affinitygroup_vms.xml +9 -0
- data/lib/fog/ovirt/requests/compute/mock_files/affinitygroups.xml +17 -0
- data/lib/fog/ovirt/requests/compute/mock_files/cluster.xml +20 -0
- data/lib/fog/ovirt/requests/compute/mock_files/clusters.xml +39 -0
- data/lib/fog/ovirt/requests/compute/mock_files/data_centers.xml +17 -0
- data/lib/fog/ovirt/requests/compute/mock_files/disks.xml +58 -0
- data/lib/fog/ovirt/requests/compute/mock_files/instance_type.xml +42 -0
- data/lib/fog/ovirt/requests/compute/mock_files/instance_types.xml +197 -0
- data/lib/fog/ovirt/requests/compute/mock_files/nics.xml +10 -0
- data/lib/fog/ovirt/requests/compute/mock_files/quotas.xml +7 -0
- data/lib/fog/ovirt/requests/compute/mock_files/storage_domains.xml +36 -0
- data/lib/fog/ovirt/requests/compute/mock_files/template.xml +39 -0
- data/lib/fog/ovirt/requests/compute/mock_files/templates.xml +110 -0
- data/lib/fog/ovirt/requests/compute/mock_files/vm.xml +52 -0
- data/lib/fog/ovirt/requests/compute/mock_files/vms.xml +152 -0
- data/lib/fog/ovirt/requests/compute/mock_files/volumes.xml +40 -0
- data/lib/fog/ovirt/requests/compute/remove_from_affinity_group.rb +21 -0
- data/lib/fog/ovirt/requests/compute/storage_domains.rb +20 -0
- data/lib/fog/ovirt/requests/compute/update_interface.rb +35 -0
- data/lib/fog/ovirt/requests/compute/update_vm.rb +18 -0
- data/lib/fog/ovirt/requests/compute/update_volume.rb +39 -0
- data/lib/fog/ovirt/requests/compute/vm_action.rb +22 -0
- data/lib/fog/ovirt/requests/compute/vm_start_with_cloudinit.rb +19 -0
- data/lib/fog/ovirt/requests/compute/vm_ticket.rb +17 -0
- data/lib/fog/ovirt/version.rb +5 -0
- data/lib/fog/ovirt.rb +1 -0
- data/spec/fog/bin/ovirt_spec.rb +10 -0
- data/spec/fog/bin_spec.rb +32 -0
- data/tests/helper.rb +1 -0
- data/tests/helpers/mock_helper.rb +16 -0
- data/tests/helpers/succeeds_helper.rb +9 -0
- data/tests/ovirt/compute_tests.rb +25 -0
- data/tests/ovirt/models/compute/cluster_tests.rb +31 -0
- data/tests/ovirt/models/compute/clusters_tests.rb +9 -0
- data/tests/ovirt/models/compute/interface_tests.rb +27 -0
- data/tests/ovirt/models/compute/interfaces_tests.rb +9 -0
- data/tests/ovirt/models/compute/server_tests.rb +51 -0
- data/tests/ovirt/models/compute/servers_tests.rb +14 -0
- data/tests/ovirt/models/compute/template_tests.rb +28 -0
- data/tests/ovirt/models/compute/templates_tests.rb +9 -0
- data/tests/ovirt/requests/compute/create_vm_tests.rb +26 -0
- data/tests/ovirt/requests/compute/destroy_vm_tests.rb +18 -0
- data/tests/ovirt/requests/compute/list_datacenters_tests.rb +13 -0
- data/tests/ovirt/requests/compute/list_quotas_tests.rb +12 -0
- data/tests/ovirt/requests/compute/list_storage_domains_tests.rb +13 -0
- data/tests/ovirt/requests/compute/update_vm_tests.rb +18 -0
- data/tests/ovirt/requests/compute/update_volume_tests.rb +20 -0
- 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,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>
|