mirror of
https://github.com/OpenNebula/one.git
synced 2025-08-24 17:49:28 +03:00
feature #4186: Add remaining vcenter DS operations
This commit is contained in:
61
src/datastore_mad/remotes/vcenter/mkfs
Executable file
61
src/datastore_mad/remotes/vcenter/mkfs
Executable file
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2015, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# 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. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
###############################################################################
|
||||
# This script is used retrieve the file size of a disk
|
||||
###############################################################################
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"] if !defined?(ONE_LOCATION)
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby" if !defined?(RUBY_LIB_LOCATION)
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby" if !defined?(RUBY_LIB_LOCATION)
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << File.dirname(__FILE__)
|
||||
|
||||
require 'vcenter_driver'
|
||||
|
||||
drv_action = ARGV[0]
|
||||
id = ARGV[1]
|
||||
|
||||
drv_action = REXML::Document.new(Base64.decode64(drv_action)).root.elements
|
||||
|
||||
ds_name = drv_action["/DS_DRIVER_ACTION_DATA/DATASTORE/NAME"].text
|
||||
hostname = drv_action["/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VCENTER_CLUSTER"].text
|
||||
adapter_type = drv_action["/DS_DRIVER_ACTION_DATA/IMAGE/TEMPLATE/ADAPTER_TYPE"].text
|
||||
disk_type = drv_action["/DS_DRIVER_ACTION_DATA/IMAGE/TEMPLATE/DISK_TYPE"].text
|
||||
size = drv_action["/DS_DRIVER_ACTION_DATA/IMAGE/SIZE"].text
|
||||
img_name = drv_action["/DS_DRIVER_ACTION_DATA/IMAGE/NAME"].text
|
||||
|
||||
begin
|
||||
host_id = VCenterDriver::VIClient.translate_hostname(hostname)
|
||||
vi_client = VCenterDriver::VIClient.new host_id
|
||||
|
||||
puts vi_client.create_virtual_disk(img_name,
|
||||
ds_name,
|
||||
size,
|
||||
adapter_type,
|
||||
disk_type)
|
||||
rescue Exception => e
|
||||
STDERR.puts "Error creating virtual disk in #{ds_name}."\
|
||||
" Reason: #{e.message}"
|
||||
exit -1
|
||||
end
|
55
src/datastore_mad/remotes/vcenter/rm
Executable file
55
src/datastore_mad/remotes/vcenter/rm
Executable file
@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
# ---------------------------------------------------------------------------- #
|
||||
# Copyright 2002-2015, OpenNebula Project, OpenNebula Systems #
|
||||
# #
|
||||
# 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. #
|
||||
# ---------------------------------------------------------------------------- #
|
||||
|
||||
###############################################################################
|
||||
# This script is used retrieve the file size of a disk
|
||||
###############################################################################
|
||||
|
||||
ONE_LOCATION=ENV["ONE_LOCATION"] if !defined?(ONE_LOCATION)
|
||||
|
||||
if !ONE_LOCATION
|
||||
RUBY_LIB_LOCATION="/usr/lib/one/ruby" if !defined?(RUBY_LIB_LOCATION)
|
||||
else
|
||||
RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby" if !defined?(RUBY_LIB_LOCATION)
|
||||
end
|
||||
|
||||
$: << RUBY_LIB_LOCATION
|
||||
$: << File.dirname(__FILE__)
|
||||
|
||||
require 'vcenter_driver'
|
||||
|
||||
drv_action = ARGV[0]
|
||||
id = ARGV[1]
|
||||
|
||||
drv_action = REXML::Document.new(Base64.decode64(drv_action)).root.elements
|
||||
|
||||
ds_name = drv_action["/DS_DRIVER_ACTION_DATA/DATASTORE/NAME"].text
|
||||
hostname = drv_action["/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VCENTER_CLUSTER"].text
|
||||
img_src = drv_action["/DS_DRIVER_ACTION_DATA/IMAGE/SOURCE"].text
|
||||
|
||||
begin
|
||||
host_id = VCenterDriver::VIClient.translate_hostname(hostname)
|
||||
vi_client = VCenterDriver::VIClient.new host_id
|
||||
|
||||
vi_client.delete_virtual_disk(img_src,
|
||||
ds_name)
|
||||
rescue Exception => e
|
||||
STDERR.puts "Error delete virtual disk #{img_src} in #{ds_name}."\
|
||||
" Reason: #{e.message}"
|
||||
exit -1
|
||||
end
|
1
src/datastore_mad/remotes/vcenter/snap_delete
Symbolic link
1
src/datastore_mad/remotes/vcenter/snap_delete
Symbolic link
@ -0,0 +1 @@
|
||||
./common/not_supported.sh
|
1
src/datastore_mad/remotes/vcenter/snap_flatten
Symbolic link
1
src/datastore_mad/remotes/vcenter/snap_flatten
Symbolic link
@ -0,0 +1 @@
|
||||
./common/not_supported.sh
|
1
src/datastore_mad/remotes/vcenter/snap_revert
Symbolic link
1
src/datastore_mad/remotes/vcenter/snap_revert
Symbolic link
@ -0,0 +1 @@
|
||||
./common/not_supported.sh
|
Reference in New Issue
Block a user