opennebula 6.10.3 → 6.99.85.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cloud/CloudClient.rb +3 -3
  3. data/lib/models/role.rb +349 -823
  4. data/lib/models/service.rb +156 -80
  5. data/lib/models/vmrole.rb +703 -0
  6. data/lib/models/vrrole.rb +284 -0
  7. data/lib/models.rb +3 -1
  8. data/lib/opennebula/acl.rb +1 -1
  9. data/lib/opennebula/acl_pool.rb +1 -1
  10. data/lib/opennebula/backupjob.rb +1 -1
  11. data/lib/opennebula/backupjob_pool.rb +1 -1
  12. data/lib/opennebula/client.rb +1 -1
  13. data/lib/opennebula/cluster.rb +45 -2
  14. data/lib/opennebula/cluster_pool.rb +1 -1
  15. data/lib/opennebula/datastore.rb +1 -1
  16. data/lib/opennebula/datastore_pool.rb +1 -1
  17. data/lib/opennebula/document.rb +1 -1
  18. data/lib/opennebula/document_json.rb +1 -1
  19. data/lib/opennebula/document_pool.rb +1 -1
  20. data/lib/opennebula/document_pool_json.rb +1 -1
  21. data/lib/opennebula/error.rb +1 -1
  22. data/lib/opennebula/flow/grammar.rb +1 -1
  23. data/lib/opennebula/flow/service_pool.rb +1 -1
  24. data/lib/opennebula/flow/service_template.rb +353 -97
  25. data/lib/opennebula/flow/service_template_ext.rb +3 -3
  26. data/lib/opennebula/flow/service_template_pool.rb +1 -1
  27. data/lib/opennebula/flow/validator.rb +458 -410
  28. data/lib/opennebula/flow.rb +1 -1
  29. data/lib/opennebula/group.rb +1 -1
  30. data/lib/opennebula/group_pool.rb +1 -1
  31. data/lib/opennebula/hook.rb +1 -1
  32. data/lib/opennebula/hook_log.rb +1 -1
  33. data/lib/opennebula/hook_pool.rb +1 -1
  34. data/lib/opennebula/host.rb +1 -60
  35. data/lib/opennebula/host_pool.rb +1 -1
  36. data/lib/opennebula/image.rb +1 -1
  37. data/lib/opennebula/image_pool.rb +1 -1
  38. data/lib/opennebula/ldap_auth.rb +1 -1
  39. data/lib/opennebula/ldap_auth_spec.rb +1 -1
  40. data/lib/opennebula/lockable_ext.rb +1 -1
  41. data/lib/opennebula/marketplace.rb +1 -1
  42. data/lib/opennebula/marketplace_pool.rb +1 -1
  43. data/lib/opennebula/marketplaceapp.rb +1 -1
  44. data/lib/opennebula/marketplaceapp_ext.rb +14 -211
  45. data/lib/opennebula/marketplaceapp_pool.rb +1 -1
  46. data/lib/opennebula/oneflow_client.rb +11 -9
  47. data/lib/opennebula/pool.rb +1 -1
  48. data/lib/opennebula/pool_element.rb +1 -1
  49. data/lib/opennebula/security_group.rb +1 -1
  50. data/lib/opennebula/security_group_pool.rb +1 -1
  51. data/lib/opennebula/server_cipher_auth.rb +1 -1
  52. data/lib/opennebula/server_x509_auth.rb +1 -1
  53. data/lib/opennebula/ssh_auth.rb +1 -1
  54. data/lib/opennebula/system.rb +1 -1
  55. data/lib/opennebula/template.rb +1 -1
  56. data/lib/opennebula/template_ext.rb +1 -1
  57. data/lib/opennebula/template_pool.rb +1 -1
  58. data/lib/opennebula/user.rb +1 -1
  59. data/lib/opennebula/user_pool.rb +1 -1
  60. data/lib/opennebula/utils.rb +2 -2
  61. data/lib/opennebula/vdc.rb +1 -1
  62. data/lib/opennebula/vdc_pool.rb +1 -1
  63. data/lib/opennebula/virtual_machine.rb +3 -12
  64. data/lib/opennebula/virtual_machine_ext.rb +2 -31
  65. data/lib/opennebula/virtual_machine_pool.rb +1 -1
  66. data/lib/opennebula/virtual_network.rb +1 -1
  67. data/lib/opennebula/virtual_network_pool.rb +1 -1
  68. data/lib/opennebula/virtual_router.rb +1 -1
  69. data/lib/opennebula/virtual_router_pool.rb +1 -1
  70. data/lib/opennebula/vm_group.rb +1 -1
  71. data/lib/opennebula/vm_group_pool.rb +1 -1
  72. data/lib/opennebula/vntemplate.rb +1 -1
  73. data/lib/opennebula/vntemplate_pool.rb +1 -1
  74. data/lib/opennebula/wait_ext.rb +1 -1
  75. data/lib/opennebula/x509_auth.rb +1 -1
  76. data/lib/opennebula/xml_element.rb +2 -2
  77. data/lib/opennebula/xml_pool.rb +1 -1
  78. data/lib/opennebula/xml_utils.rb +1 -1
  79. data/lib/opennebula/zone.rb +1 -1
  80. data/lib/opennebula/zone_pool.rb +1 -1
  81. data/lib/opennebula.rb +2 -2
  82. metadata +6 -67
  83. data/lib/ActionManager.rb +0 -280
  84. data/lib/CommandManager.rb +0 -328
  85. data/lib/DriverExecHelper.rb +0 -213
  86. data/lib/HostSyncManager.rb +0 -111
  87. data/lib/OpenNebulaDriver.rb +0 -223
  88. data/lib/VirtualMachineDriver.rb +0 -404
  89. data/lib/datacenter.rb +0 -1319
  90. data/lib/datastore.rb +0 -1049
  91. data/lib/distributed_firewall.rb +0 -293
  92. data/lib/file_helper.rb +0 -374
  93. data/lib/host.rb +0 -1518
  94. data/lib/logical_port.rb +0 -50
  95. data/lib/logical_switch.rb +0 -77
  96. data/lib/memoize.rb +0 -74
  97. data/lib/network.rb +0 -705
  98. data/lib/nsx_client.rb +0 -157
  99. data/lib/nsx_component.rb +0 -28
  100. data/lib/nsx_constants.rb +0 -162
  101. data/lib/nsx_driver.rb +0 -91
  102. data/lib/nsx_error.rb +0 -77
  103. data/lib/nsx_rule.rb +0 -206
  104. data/lib/nsxt_client.rb +0 -189
  105. data/lib/nsxt_dfw.rb +0 -196
  106. data/lib/nsxt_logical_port.rb +0 -94
  107. data/lib/nsxt_rule.rb +0 -188
  108. data/lib/nsxt_tz.rb +0 -38
  109. data/lib/nsxv_client.rb +0 -189
  110. data/lib/nsxv_dfw.rb +0 -202
  111. data/lib/nsxv_logical_port.rb +0 -107
  112. data/lib/nsxv_rule.rb +0 -172
  113. data/lib/nsxv_tz.rb +0 -41
  114. data/lib/opaque_network.rb +0 -134
  115. data/lib/rest_client.rb +0 -191
  116. data/lib/scripts_common.rb +0 -176
  117. data/lib/transport_zone.rb +0 -43
  118. data/lib/vcenter_driver.rb +0 -152
  119. data/lib/vcenter_importer.rb +0 -626
  120. data/lib/vi_client.rb +0 -273
  121. data/lib/vi_helper.rb +0 -328
  122. data/lib/virtual_machine.rb +0 -3574
  123. data/lib/virtual_wire.rb +0 -158
  124. data/lib/vm_device.rb +0 -80
  125. data/lib/vm_disk.rb +0 -202
  126. data/lib/vm_folder.rb +0 -69
  127. data/lib/vm_helper.rb +0 -30
  128. data/lib/vm_monitor.rb +0 -305
  129. data/lib/vm_nic.rb +0 -70
  130. data/lib/vm_template.rb +0 -2112
  131. data/lib/vmm_importer.rb +0 -165
data/lib/vmm_importer.rb DELETED
@@ -1,165 +0,0 @@
1
- module VCenterDriver
2
-
3
- # Functionality to import vCenter VMs into OpenNebula
4
- class VmmImporter < VCenterDriver::VcImporter
5
-
6
- def initialize(one_client, vi_client)
7
- super(one_client, vi_client)
8
- @one_class = OpenNebula::VirtualMachine
9
- @defaults = {}
10
- end
11
-
12
- def list(key, list)
13
- @list = { key => list }
14
- end
15
-
16
- def request_vnc(vc_vm)
17
- one_vm = vc_vm.one_item
18
- vnc_port = one_vm['TEMPLATE/GRAPHICS/PORT']
19
- elapsed_seconds = 0
20
-
21
- # Let's update the info to gather VNC port
22
- until vnc_port || elapsed_seconds > 30
23
- sleep(1)
24
- one_vm.info
25
- vnc_port = one_vm['TEMPLATE/GRAPHICS/PORT']
26
- elapsed_seconds += 1
27
- end
28
-
29
- return unless vnc_port
30
-
31
- extraconfig = []
32
- extraconfig += vc_vm.extraconfig_vnc
33
- spec_hash = { :extraConfig => extraconfig }
34
- spec = RbVmomi::VIM.VirtualMachineConfigSpec(spec_hash)
35
- vc_vm.item.ReconfigVM_Task(:spec => spec).wait_for_completion
36
- end
37
-
38
- def build
39
- xml = OpenNebula::VirtualMachine.build_xml
40
- OpenNebula::VirtualMachine.new(xml, @one_client)
41
- end
42
-
43
- def import(selected)
44
- import_tmplt = selected['IMPORT_TEMPLATE']
45
- import_tmplt = Base64.decode64(import_tmplt) if import_tmplt
46
- vm_ref = selected['DEPLOY_ID'] || selected[:wild]['DEPLOY_ID']
47
- vm = selected[:one_item] || build
48
- template = selected[:template] || import_tmplt
49
- template = "DEPLOY_ID = #{vm_ref}\n" + template
50
-
51
- # Index where start GRAPHICS block
52
- graphics_index = template.index('GRAPHICS = [')
53
- unless graphics_index.nil?
54
- # Index where finish GRAPHICS block
55
- end_of_graphics = template[graphics_index..-1].index(']') + 1
56
-
57
- # GRAPHICS block
58
- graphics_sub_string =
59
- template[graphics_index, end_of_graphics]
60
-
61
- # GRAPHICS block with PORT removed
62
- # OpenNebula will asing a new not used PORT
63
- graphics_sub_string =
64
- graphics_sub_string.gsub(/PORT(.*?),[\r\n]/, '')
65
-
66
- # Index where graphics block finish
67
- before_graphics = template[0, graphics_index]
68
-
69
- # Block after graphics block
70
- after_graphics =
71
- template[graphics_index..-1][end_of_graphics..-1]
72
-
73
- # Template with out PORT inside GRAPHICS
74
- template =
75
- before_graphics +
76
- graphics_sub_string +
77
- after_graphics
78
- end
79
-
80
- host_id = selected[:host] || @list.keys[0]
81
-
82
- vc_uuid = @vi_client.vim.serviceContent.about.instanceUuid
83
- vc_name = @vi_client.vim.host
84
- dpool, ipool, npool, hpool = create_pools
85
-
86
- vc_vm = VCenterDriver::VirtualMachine.new_without_id(@vi_client,
87
- vm_ref)
88
-
89
- # clear OpenNebula attributes
90
- vc_vm.clear_tags
91
-
92
- # Importing Wild VMs with snapshots is not supported
93
- # https://github.com/OpenNebula/one/issues/1268
94
- if vc_vm.snapshots? && vc_vm.disk_keys.empty?
95
- raise 'Disk metadata not present and snapshots exist, '\
96
- 'cannot import this VM'
97
- end
98
-
99
- vname = vc_vm['name']
100
-
101
- type = { :object => 'VM', :id => vname }
102
- error, template_disks = vc_vm.import_vcenter_disks(vc_uuid, dpool,
103
- ipool, type)
104
- raise error unless error.empty?
105
-
106
- template << template_disks
107
-
108
- opts = {
109
- :vi_client => @vi_client,
110
- :vc_uuid => vc_uuid,
111
- :npool => npool,
112
- :hpool => hpool,
113
- :vcenter => vc_name,
114
- :template_moref => vm_ref,
115
- :vm_object => vc_vm,
116
- :ipv4 => selected[:ipv4],
117
- :ipv6 => selected[:ipv6]
118
- }
119
-
120
- # Create images or get nics information for template
121
- error, template_nics, ar_ids =
122
- vc_vm.import_vcenter_nics(opts)
123
- opts = { :uuid => vc_uuid, :npool => npool, :error => error }
124
- Raction.delete_ars(ar_ids, opts) unless error.empty?
125
-
126
- template << template_nics
127
- template << "VCENTER_ESX_HOST = #{vc_vm['runtime.host.name']}\n"
128
-
129
- # Get DS_ID for the deployment, the wild VM needs a System DS
130
- dc_ref = vc_vm.datacenter.item._ref
131
- ds_ref = template.match(/^VCENTER_DS_REF *= *"(.*)" *$/)[1]
132
-
133
- ds_one = dpool.select do |e|
134
- e['TEMPLATE/TYPE'] == 'SYSTEM_DS' &&
135
- e['TEMPLATE/VCENTER_DS_REF'] == ds_ref &&
136
- e['TEMPLATE/VCENTER_DC_REF'] == dc_ref &&
137
- e['TEMPLATE/VCENTER_INSTANCE_ID'] == vc_uuid
138
- end.first
139
- opts[:error] = "ds with ref #{ds_ref} is not imported, aborting"
140
- Raction.delete_ars(ar_ids, opts) unless ds_one
141
-
142
- rc = vm.allocate(template)
143
- if OpenNebula.is_error?(rc)
144
- Raction.delete_ars(ar_ids, opts.merge(:error => rc.message))
145
- end
146
-
147
- rc = vm.deploy(host_id, false, ds_one.id)
148
- if OpenNebula.is_error?(rc)
149
- Raction.delete_ars(ar_ids, opts.merge(:error => rc.message))
150
- end
151
-
152
- # Set reference to template disks and nics in VM template
153
- vc_vm.one_item = vm
154
-
155
- request_vnc(vc_vm)
156
-
157
- # Sync disks with extraConfig
158
- vc_vm.reference_all_disks
159
-
160
- vm.id
161
- end
162
-
163
- end
164
-
165
- end