diff --git a/datamodels/2.x/itop-bridge-virtualization-storage/datamodel.itop-bridge-virtualization-storage.xml b/datamodels/2.x/itop-bridge-virtualization-storage/datamodel.itop-bridge-virtualization-storage.xml
new file mode 100644
index 000000000..b677db83a
--- /dev/null
+++ b/datamodels/2.x/itop-bridge-virtualization-storage/datamodel.itop-bridge-virtualization-storage.xml
@@ -0,0 +1,94 @@
+
+
+
+
+ cmdbAbstractObject
+
+ bizmodel,configmgmt
+ false
+ autoincrement
+ lnkvirtualdevicetovolume
+ id
+
+
+ %1$s
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volume_id
+ LogicalVolume
+ false
+ DEL_AUTO
+
+
+ volume_id
+ name
+
+
+ virtualdevice_id
+ VirtualDevice
+ false
+ DEL_AUTO
+
+
+ virtualdevice_id
+ name
+
+
+ size_used
+
+ true
+
+
+
+
+
+
+ -
+ 10
+
+ -
+ 20
+
+ -
+ 30
+
+
+
+
+
+ -
+ 10
+
+ -
+ 20
+
+
+
+
+
+ -
+ 10
+
+ -
+ 20
+
+ -
+ 30
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php b/datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
new file mode 100644
index 000000000..fcdd0f52a
--- /dev/null
+++ b/datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
@@ -0,0 +1,46 @@
+ 'Links between virtualization and storage',
+ 'category' => 'business',
+
+ // Setup
+ //
+ 'dependencies' => array(
+ ),
+ 'mandatory' => false,
+ 'visible' => false,
+ 'auto_select' => 'SetupInfo::ModuleIsSelected("itop-storage-mgmt") && SetupInfo::ModuleIsSelected("itop-virtualization-mgmt")',
+
+ // Components
+ //
+ 'datamodel' => array(
+ 'model.itop-bridge-virtualization-storage.php',
+ ),
+ 'data.struct' => array(
+ //'data.struct.itop-change-mgmt.xml',
+ ),
+ 'data.sample' => array(
+ //'data.sample.itop-change-mgmt.xml',
+ ),
+
+ // Documentation
+ //
+ 'doc.manual_setup' => '',
+ 'doc.more_information' => '',
+
+ // Default settings
+ //
+ 'settings' => array(
+ ),
+ )
+);
+
+
+?>
diff --git a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
index 4e759fc2f..c47f7b2b0 100644
--- a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
+++ b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
@@ -1414,6 +1414,14 @@
server_id
+
+ lnkVirtualDeviceToVolume
+ volume_id
+ 0
+ 0
+ virtualdevice_id
+
+
@@ -1429,6 +1437,10 @@
// Actually this should be limited to the Software instances based on a DBServer Application type...
"server" => array("sQuery"=>"SELECT Server AS s JOIN lnkServerToVolume AS l1 ON l1.server_id=s.id WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5),
);
+ if (class_exists('VirtualDevice'))
+ {
+ $aRels["virtualdevice"] = array("sQuery"=>"SELECT VirtualDevice AS vd JOIN lnkVirtualDeviceToVolume AS l1 ON l1.virtualdevice_id=vd.id WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5);
+ }
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
@@ -1469,6 +1481,9 @@
-
70
+ -
+ 80
+
diff --git a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
index aab85cb8b..fe494f494 100644
--- a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
+++ b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
@@ -79,6 +79,9 @@
-
90
+ -
+ 100
+
@@ -167,15 +170,17 @@
case "impacts":
$aRels = array(
"virtualmachine" => array("sQuery"=>"SELECT VirtualMachine WHERE virtualhost_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
-
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
case 'depends on':
$aRels = array(
-
);
+ if (class_exists('LogicalVolume'))
+ {
+ $aRels["logicalvolume"] = array("sQuery"=>"SELECT LogicalVolume AS lv JOIN lnkVirtualDeviceToVolume AS l1 ON l1.volume_id=lv.id WHERE l1.virtualdevice_id = :this->id", "bPropagate"=>true, "iDistance"=>5);
+ }
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
@@ -212,6 +217,12 @@
-
80
+ -
+ 90
+
+ -
+ 100
+
@@ -365,6 +376,9 @@
-
110
+ -
+ 115
+
-
120
@@ -507,6 +521,9 @@
-
90
+ -
+ 95
+
-
100
@@ -908,7 +925,7 @@
-
+