diff --git a/ui/index.jsp b/ui/index.jsp
index 8286c509ff0..6118cae3ca3 100644
--- a/ui/index.jsp
+++ b/ui/index.jsp
@@ -91,6 +91,7 @@
'label.path': '',
'label.SR.name': '',
'label.nfs': '',
+ 'label.ocfs2': '',
'label.SharedMountPoint': '',
'label.PreSetup': '',
'label.iscsi': '',
diff --git a/ui/scripts/cloud.core.pod.js b/ui/scripts/cloud.core.pod.js
index ebcf7a54f08..14a79edf02c 100644
--- a/ui/scripts/cloud.core.pod.js
+++ b/ui/scripts/cloud.core.pod.js
@@ -808,6 +808,8 @@ function bindAddPrimaryStorageButton($leftmenuItem1) {
if (protocol == "nfs" || protocol == "PreSetup" || protocol == "SharedMountPoint") {
isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
+ } else if(protocol == "ocfs2") {
+ isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
} else if(protocol == "iscsi") {
isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
isValid &= validateString("Target IQN", $thisDialog.find("#add_pool_iqn"), $thisDialog.find("#add_pool_iqn_errormsg"));
@@ -846,7 +848,13 @@ function bindAddPrimaryStorageButton($leftmenuItem1) {
if(path.substring(0,1)!="/")
path = "/" + path;
url = presetupURL(server, path);
- }
+ }
+ else if (protocol == "ocfs2") {
+ var path = trim($thisDialog.find("#add_pool_path").val());
+ if(path.substring(0,1)!="/")
+ path = "/" + path;
+ url = ocfs2URL(server, path);
+ }
else if (protocol == "SharedMountPoint") {
var path = trim($thisDialog.find("#add_pool_path").val());
if(path.substring(0,1)!="/")
@@ -1103,6 +1111,15 @@ function presetupURL(server, path) {
return url;
}
+function ocfs2URL(server, path) {
+ var url;
+ if(server.indexOf("://")==-1)
+ url = "ocfs2://" + server + path;
+ else
+ url = server + path;
+ return url;
+}
+
function SharedMountPointURL(server, path) {
var url;
if(server.indexOf("://")==-1)
diff --git a/ui/scripts/cloud.core.resource.js b/ui/scripts/cloud.core.resource.js
index 4c94ab520ff..287dd38fcda 100644
--- a/ui/scripts/cloud.core.resource.js
+++ b/ui/scripts/cloud.core.resource.js
@@ -1818,6 +1818,8 @@ function initAddPrimaryStorageShortcut($midmenuAddLink2, currentPageInRightPanel
if (protocol == "nfs" || protocol == "PreSetup" || protocol == "SharedMountPoint") {
isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
+ } else if(protocol == "ocfs2") {
+ isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
} else if(protocol == "iscsi") {
isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
isValid &= validateString("Target IQN", $thisDialog.find("#add_pool_iqn"), $thisDialog.find("#add_pool_iqn_errormsg"));
@@ -1865,7 +1867,13 @@ function initAddPrimaryStorageShortcut($midmenuAddLink2, currentPageInRightPanel
if(path.substring(0,1)!="/")
path = "/" + path;
url = presetupURL(server, path);
- }
+ }
+ else if (protocol == "ocfs2") {
+ var path = trim($thisDialog.find("#add_pool_path").val());
+ if(path.substring(0,1)!="/")
+ path = "/" + path;
+ url = ocfs2URL(server, path);
+ }
else if (protocol == "SharedMountPoint") {
var path = trim($thisDialog.find("#add_pool_path").val());
if(path.substring(0,1)!="/")
@@ -1958,7 +1966,8 @@ function bindEventHandlerToDialogAddPool($dialogAddPool) {
else if(clusterObj.hypervisortype == "Ovm") {
$protocolSelector.empty();
$protocolSelector.append('');
- }
+ $protocolSelector.append('');
+ }
else {
$protocolSelector.empty();
}
@@ -1976,8 +1985,17 @@ function bindEventHandlerToDialogAddPool($dialogAddPool) {
$dialogAddPool.find("#add_pool_nfs_server").val("");
$dialogAddPool.find("#add_pool_server_container").show();
- }
- if($(this).val() == "PreSetup") {
+ }
+ else if($(this).val() == "ocfs2") {//ocfs2 is the same as nfs, except no server field.
+ $('li[input_group="nfs"]', $dialogAddPool).show();
+ $('li[input_group="iscsi"]', $dialogAddPool).hide();
+ $('li[input_group="vmfs"]', $dialogAddPool).hide();
+ $dialogAddPool.find("#add_pool_path_container").find("label").text(g_dictionary["label.path"]+":");
+
+ $dialogAddPool.find("#add_pool_nfs_server").val("");
+ $dialogAddPool.find("#add_pool_server_container").hide();
+ }
+ else if($(this).val() == "PreSetup") {
$("#add_pool_server_container", $dialogAddPool).show();
$('li[input_group="nfs"]', $dialogAddPool).show();
$('li[input_group="iscsi"]', $dialogAddPool).hide();
diff --git a/ui/scripts/cloud.core.zone.js b/ui/scripts/cloud.core.zone.js
index b8919de9973..202b01f7fa5 100644
--- a/ui/scripts/cloud.core.zone.js
+++ b/ui/scripts/cloud.core.zone.js
@@ -985,6 +985,8 @@ function bindAddPrimaryStorageButtonOnZonePage($button, zoneId, zoneName) {
if (protocol == "nfs" || protocol == "PreSetup" || protocol == "SharedMountPoint") {
isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
+ } else if(protocol == "ocfs2") {
+ isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
} else if(protocol == "iscsi") {
isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
isValid &= validateString("Target IQN", $thisDialog.find("#add_pool_iqn"), $thisDialog.find("#add_pool_iqn_errormsg"));
@@ -1032,6 +1034,12 @@ function bindAddPrimaryStorageButtonOnZonePage($button, zoneId, zoneName) {
path = "/" + path;
url = presetupURL(server, path);
}
+ else if (protocol == "ocfs2") {
+ var path = trim($thisDialog.find("#add_pool_path").val());
+ if(path.substring(0,1)!="/")
+ path = "/" + path;
+ url = ocfs2URL(server, path);
+ }
else if (protocol == "SharedMountPoint") {
var path = trim($thisDialog.find("#add_pool_path").val());
if(path.substring(0,1)!="/")