mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Enable primary storage to be added that is based on non-default storage plug-ins
This commit is contained in:
parent
5c36fe84b6
commit
9a27f201b0
@ -425,6 +425,8 @@ label.bytes.received=Bytes Received
|
||||
label.bytes.sent=Bytes Sent
|
||||
label.cancel=Cancel
|
||||
label.capacity=Capacity
|
||||
label.capacity.bytes=Capacity Bytes
|
||||
label.capacity.iops=Capacity IOPS
|
||||
label.certificate=Certificate
|
||||
label.change.service.offering=Change service offering
|
||||
label.change.value=Change value
|
||||
@ -747,6 +749,7 @@ label.lun=LUN
|
||||
label.make.project.owner=Make account project owner
|
||||
label.manage.resources=Manage Resources
|
||||
label.manage=Manage
|
||||
label.managed=Managed
|
||||
label.management.ips=Management IP Addresses
|
||||
label.management=Management
|
||||
label.max.cpus=Max. CPU cores
|
||||
@ -1076,7 +1079,7 @@ label.source=Source
|
||||
label.specify.IP.ranges=Specify IP ranges
|
||||
label.specify.vlan=Specify VLAN
|
||||
label.specify.vxlan=Specify VXLAN
|
||||
label.SR.name = SR Name-Label
|
||||
label.SR.name=SR Name-Label
|
||||
label.srx=SRX
|
||||
label.PA=Palo Alto
|
||||
label.start.IP=Start IP
|
||||
|
||||
@ -76,6 +76,8 @@ dictionary = {
|
||||
'label.hypervisor.snapshot.reserve': '<fmt:message key="label.hypervisor.snapshot.reserve" />',
|
||||
'label.acquire.new.secondary.ip': '<fmt:message key="label.acquire.new.secondary.ip" />',
|
||||
'label.view.secondary.ips': '<fmt:message key="label.view.secondary.ips" />',
|
||||
'label.capacity.bytes': '<fmt:message key="label.capacity.bytes" />',
|
||||
'label.capacity.iops': '<fmt:message key="label.capacity.iops" />',
|
||||
'message.acquire.ip.nic': '<fmt:message key="message.acquire.ip.nic" />',
|
||||
'message.select.affinity.groups': '<fmt:message key="message.select.affinity.groups" />',
|
||||
'message.no.affinity.groups': '<fmt:message key="message.no.affinity.groups" />',
|
||||
@ -736,6 +738,7 @@ dictionary = {
|
||||
'label.LUN.number': '<fmt:message key="label.LUN.number" />',
|
||||
'label.make.project.owner': '<fmt:message key="label.make.project.owner" />',
|
||||
'label.manage': '<fmt:message key="label.manage" />',
|
||||
'label.managed': '<fmt:message key="label.managed" />',
|
||||
'label.management': '<fmt:message key="label.management" />',
|
||||
'label.management.ips': '<fmt:message key="label.management.ips" />',
|
||||
'label.max.cpus': '<fmt:message key="label.max.cpus" />',
|
||||
|
||||
@ -85,6 +85,29 @@ cloudStack.docs = {
|
||||
externalLink: ''
|
||||
},
|
||||
|
||||
helpManaged: {
|
||||
|
||||
desc: 'True if CloudStack manages the storage; else, false (check with storage provider if unknown)',
|
||||
externalLink: ''
|
||||
},
|
||||
|
||||
helpCapacityBytes: {
|
||||
|
||||
desc: 'Number of bytes for the primary storage to have',
|
||||
externalLink: ''
|
||||
},
|
||||
|
||||
helpCapacityIops: {
|
||||
|
||||
desc: 'Number of IOPS for the primary storage to have',
|
||||
externalLink: ''
|
||||
},
|
||||
|
||||
helpUrl: {
|
||||
|
||||
desc: 'Arbitrary data to be sent to the storage provider for configuration purposes',
|
||||
externalLink: ''
|
||||
},
|
||||
|
||||
//Ldap
|
||||
helpLdapQueryFilter: {
|
||||
|
||||
@ -15294,7 +15294,10 @@
|
||||
id: 'Hyperv',
|
||||
description: _l('Hyperv')
|
||||
});
|
||||
|
||||
items.push({
|
||||
id: 'Any',
|
||||
description: _l('Any')
|
||||
});
|
||||
args.response.success({
|
||||
data: items
|
||||
});
|
||||
@ -15489,6 +15492,10 @@
|
||||
id: "iscsi",
|
||||
description: "iscsi"
|
||||
});
|
||||
items.push({
|
||||
id: "custom",
|
||||
description: "custom"
|
||||
});
|
||||
args.response.success({
|
||||
data: items
|
||||
});
|
||||
@ -15502,6 +15509,10 @@
|
||||
id: "vmfs",
|
||||
description: "vmfs"
|
||||
});
|
||||
items.push({
|
||||
id: "custom",
|
||||
description: "custom"
|
||||
});
|
||||
args.response.success({
|
||||
data: items
|
||||
});
|
||||
@ -15659,6 +15670,30 @@
|
||||
$form.find('.form-item[rel=rbdid]').hide();
|
||||
$form.find('.form-item[rel=rbdsecret]').hide();
|
||||
|
||||
$form.find('.form-item[rel=glustervolume]').hide();
|
||||
} else if (protocol == "custom") {
|
||||
$form.find('.form-item[rel=server]').hide();
|
||||
$form.find('.form-item[rel=server]').find(".value").find("input").val("localhost");
|
||||
|
||||
$form.find('.form-item[rel=path]').hide();
|
||||
|
||||
$form.find('.form-item[rel=smbUsername]').hide();
|
||||
$form.find('.form-item[rel=smbPassword]').hide();
|
||||
$form.find('.form-item[rel=smbDomain]').hide();
|
||||
|
||||
$form.find('.form-item[rel=iqn]').hide();
|
||||
$form.find('.form-item[rel=lun]').hide();
|
||||
|
||||
$form.find('.form-item[rel=volumegroup]').hide();
|
||||
|
||||
$form.find('.form-item[rel=vCenterDataCenter]').hide();
|
||||
$form.find('.form-item[rel=vCenterDataStore]').hide();
|
||||
|
||||
$form.find('.form-item[rel=rbdmonitor]').hide();
|
||||
$form.find('.form-item[rel=rbdpool]').hide();
|
||||
$form.find('.form-item[rel=rbdid]').hide();
|
||||
$form.find('.form-item[rel=rbdsecret]').hide();
|
||||
|
||||
$form.find('.form-item[rel=glustervolume]').hide();
|
||||
} else if (protocol == "iscsi") {
|
||||
$form.find('.form-item[rel=server]').css('display', 'inline-block');
|
||||
@ -15858,7 +15893,83 @@
|
||||
},
|
||||
isHidden: true
|
||||
},
|
||||
|
||||
provider: {
|
||||
label: 'label.provider',
|
||||
docID: 'helpPrimaryStorageZone',
|
||||
validation: {
|
||||
required: true
|
||||
},
|
||||
select: function (args) {
|
||||
var data = args.context.providers ?
|
||||
{ id: args.context.providers[0].id } :
|
||||
{ listAll: true };
|
||||
|
||||
$.ajax({
|
||||
url: createURL('listStorageProviders'),
|
||||
data: {
|
||||
type: 'primary'
|
||||
},
|
||||
success: function (json) {
|
||||
var providers = json.liststorageprovidersresponse.dataStoreProvider ? json.liststorageprovidersresponse.dataStoreProvider : [];
|
||||
|
||||
args.response.success({
|
||||
data: $.map(providers, function (provider) {
|
||||
return {
|
||||
id: provider.name,
|
||||
description: provider.name
|
||||
};
|
||||
})
|
||||
});
|
||||
}
|
||||
});
|
||||
args.$select.change(function () {
|
||||
var $form = $(this).closest('form');
|
||||
var scope = $(this).val();
|
||||
|
||||
if (scope == 'DefaultPrimary') {
|
||||
$form.find('.form-item[rel=isManaged]').hide();
|
||||
$form.find('.form-item[rel=capacityIops]').hide();
|
||||
$form.find('.form-item[rel=capacityBytes]').hide();
|
||||
$form.find('.form-item[rel=url]').hide();
|
||||
} else {
|
||||
$form.find('.form-item[rel=isManaged]').css('display', 'inline-block');
|
||||
$form.find('.form-item[rel=capacityIops]').css('display', 'inline-block');
|
||||
$form.find('.form-item[rel=capacityBytes]').css('display', 'inline-block');
|
||||
$form.find('.form-item[rel=url]').css('display', 'inline-block');
|
||||
}
|
||||
}
|
||||
)
|
||||
}},
|
||||
isManaged: {
|
||||
label: 'label.managed',
|
||||
docID: 'helpManaged',
|
||||
isBoolean: true,
|
||||
isChecked: false,
|
||||
validation: {
|
||||
required: false
|
||||
}
|
||||
},
|
||||
capacityBytes: {
|
||||
label: 'label.capacity.bytes',
|
||||
docID: 'helpCapacityBytes',
|
||||
validation: {
|
||||
required: false
|
||||
}
|
||||
},
|
||||
capacityIops: {
|
||||
label: 'label.capacity.iops',
|
||||
docID: 'helpCapacityIops',
|
||||
validation: {
|
||||
required: false
|
||||
}
|
||||
},
|
||||
url: {
|
||||
label: 'URL',
|
||||
docID: 'helpUrl',
|
||||
validation: {
|
||||
required: false
|
||||
}
|
||||
},
|
||||
//SMB
|
||||
smbUsername: {
|
||||
label: 'label.smb.username',
|
||||
@ -15981,6 +16092,7 @@
|
||||
}
|
||||
},
|
||||
|
||||
/******************************/
|
||||
action: function (args) {
|
||||
var array1 =[];
|
||||
array1.push("&scope=" + todb(args.data.scope));
|
||||
@ -16003,74 +16115,103 @@
|
||||
array1.push("&clusterid=" + args.data.clusterId);
|
||||
array1.push("&hostid=" + args.data.hostId);
|
||||
}
|
||||
|
||||
array1.push("&name=" + todb(args.data.name));
|
||||
|
||||
var server = args.data.server;
|
||||
var url = null;
|
||||
if (args.data.protocol == "nfs") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = nfsURL(server, path);
|
||||
} else if (args.data.protocol == "SMB") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = smbURL(server, path);
|
||||
array1.push("&details[0].user=" + args.data.smbUsername);
|
||||
array1.push("&details[1].password=" + todb(args.data.smbPassword));
|
||||
array1.push("&details[2].domain=" + args.data.smbDomain);
|
||||
} else if (args.data.protocol == "PreSetup") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = presetupURL(server, path);
|
||||
} else if (args.data.protocol == "ocfs2") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = ocfs2URL(server, path);
|
||||
} else if (args.data.protocol == "SharedMountPoint") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = SharedMountPointURL(server, path);
|
||||
} else if (args.data.protocol == "clvm") {
|
||||
var vg = args.data.volumegroup;
|
||||
if (vg.substring(0, 1) != "/")
|
||||
vg = "/" + vg;
|
||||
url = clvmURL(vg);
|
||||
} else if (args.data.protocol == "rbd") {
|
||||
var rbdmonitor = args.data.rbdmonitor;
|
||||
var rbdpool = args.data.rbdpool;
|
||||
var rbdid = args.data.rbdid;
|
||||
var rbdsecret = args.data.rbdsecret;
|
||||
url = rbdURL(rbdmonitor, rbdpool, rbdid, rbdsecret);
|
||||
} else if (args.data.protocol == "vmfs") {
|
||||
var path = args.data.vCenterDataCenter;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
path += "/" + args.data.vCenterDataStore;
|
||||
url = vmfsURL("dummy", path);
|
||||
} else if (args.data.protocol == "gluster") {
|
||||
var glustervolume = args.data.glustervolume;
|
||||
|
||||
if (glustervolume.substring(0, 1) != "/")
|
||||
glustervolume = "/" + glustervolume;
|
||||
url = glusterURL(server, glustervolume);
|
||||
} else {
|
||||
var iqn = args.data.iqn;
|
||||
if (iqn.substring(0, 1) != "/")
|
||||
iqn = "/" + iqn;
|
||||
var lun = args.data.lun;
|
||||
url = iscsiURL(server, iqn, lun);
|
||||
array1.push("&name=" + todb(args.data.name));
|
||||
|
||||
array1.push("&provider=" + todb(args.data.provider));
|
||||
|
||||
if (args.data.provider == "DefaultPrimary")
|
||||
{
|
||||
var server = args.data.server;
|
||||
var url = null;
|
||||
if (args.data.protocol == "nfs") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = nfsURL(server, path);
|
||||
} else if (args.data.protocol == "SMB") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = smbURL(server, path);
|
||||
array1.push("&details[0].user=" + args.data.smbUsername);
|
||||
array1.push("&details[1].password=" + todb(args.data.smbPassword));
|
||||
array1.push("&details[2].domain=" + args.data.smbDomain);
|
||||
} else if (args.data.protocol == "PreSetup") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = presetupURL(server, path);
|
||||
} else if (args.data.protocol == "ocfs2") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = ocfs2URL(server, path);
|
||||
} else if (args.data.protocol == "SharedMountPoint") {
|
||||
var path = args.data.path;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
url = SharedMountPointURL(server, path);
|
||||
} else if (args.data.protocol == "clvm") {
|
||||
var vg = args.data.volumegroup;
|
||||
if (vg.substring(0, 1) != "/")
|
||||
vg = "/" + vg;
|
||||
url = clvmURL(vg);
|
||||
} else if (args.data.protocol == "rbd") {
|
||||
var rbdmonitor = args.data.rbdmonitor;
|
||||
var rbdpool = args.data.rbdpool;
|
||||
var rbdid = args.data.rbdid;
|
||||
var rbdsecret = args.data.rbdsecret;
|
||||
url = rbdURL(rbdmonitor, rbdpool, rbdid, rbdsecret);
|
||||
} else if (args.data.protocol == "vmfs") {
|
||||
var path = args.data.vCenterDataCenter;
|
||||
if (path.substring(0, 1) != "/")
|
||||
path = "/" + path;
|
||||
path += "/" + args.data.vCenterDataStore;
|
||||
url = vmfsURL("dummy", path);
|
||||
} else if (args.data.protocol == "gluster") {
|
||||
var glustervolume = args.data.glustervolume;
|
||||
|
||||
if (glustervolume.substring(0, 1) != "/")
|
||||
glustervolume = "/" + glustervolume;
|
||||
url = glusterURL(server, glustervolume);
|
||||
} else if (args.data.protocol == "iscsi") {
|
||||
var iqn = args.data.iqn;
|
||||
if (iqn.substring(0, 1) != "/")
|
||||
iqn = "/" + iqn;
|
||||
var lun = args.data.lun;
|
||||
url = iscsiURL(server, iqn, lun);
|
||||
} else {
|
||||
url = "";
|
||||
}
|
||||
|
||||
array1.push("&url=" + todb(url));
|
||||
}
|
||||
array1.push("&url=" + todb(url));
|
||||
|
||||
else
|
||||
{
|
||||
array1.push("&managed=" + (args.data.isManaged == "on").toString());
|
||||
|
||||
if (args.data.capacityBytes != null && args.data.capacityBytes.length > 0)
|
||||
{
|
||||
array1.push("&capacityBytes=" + args.data.capacityBytes.split(",").join(""));
|
||||
}
|
||||
|
||||
if (args.data.capacityIops != null && args.data.capacityIops.length > 0)
|
||||
{
|
||||
array1.push("&capacityIops=" + args.data.capacityIops.split(",").join(""));
|
||||
}
|
||||
|
||||
if (args.data.url != null && args.data.url.length > 0)
|
||||
{
|
||||
array1.push("&url=" + todb(args.data.url));
|
||||
}
|
||||
}
|
||||
|
||||
if (args.data.storageTags != null && args.data.storageTags.length > 0)
|
||||
array1.push("&tags=" + todb(args.data.storageTags));
|
||||
|
||||
{
|
||||
array1.push("&tags=" + todb(args.data.storageTags));
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: createURL("createStoragePool" + array1.join("")),
|
||||
dataType: "json",
|
||||
@ -17899,7 +18040,7 @@
|
||||
label: 'label.url'
|
||||
},
|
||||
providername: {
|
||||
label: 'Provider'
|
||||
label: 'label.provider'
|
||||
},
|
||||
scope: {
|
||||
label: 'label.scope'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user