Repository: cloudstack Updated Branches: refs/heads/master ff9ab5caa -> c27c69438
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index e81dd2b..eb9e0da 100644 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -3946,15 +3946,16 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir if (!vm.getHypervisorType().equals(HypervisorType.XenServer) && !vm.getHypervisorType().equals(HypervisorType.VMware) && !vm.getHypervisorType().equals(HypervisorType.KVM) && !vm.getHypervisorType().equals(HypervisorType.Ovm) && !vm.getHypervisorType().equals(HypervisorType.Hyperv) - && !vm.getHypervisorType().equals(HypervisorType.LXC) && !vm.getHypervisorType().equals(HypervisorType.Simulator)) { + && !vm.getHypervisorType().equals(HypervisorType.LXC) && !vm.getHypervisorType().equals(HypervisorType.Simulator) + && !vm.getHypervisorType().equals(HypervisorType.Ovm3)) { if (s_logger.isDebugEnabled()) { s_logger.debug(vm + " is not XenServer/VMware/KVM/Ovm/Hyperv, cannot migrate this VM."); } - throw new InvalidParameterValueException("Unsupported Hypervisor Type for VM migration, we support XenServer/VMware/KVM/Ovm/Hyperv only"); + throw new InvalidParameterValueException("Unsupported Hypervisor Type for VM migration, we support XenServer/VMware/KVM/Ovm/Hyperv/Ovm3 only"); } if (vm.getType().equals(VirtualMachine.Type.User) && vm.getHypervisorType().equals(HypervisorType.LXC)) { - throw new InvalidParameterValueException("Unsupported Hypervisor Type for User VM migration, we support XenServer/VMware/KVM/Ovm/Hyperv only"); + throw new InvalidParameterValueException("Unsupported Hypervisor Type for User VM migration, we support XenServer/VMware/KVM/Ovm/Hyperv/Ovm3 only"); } if (isVMUsingLocalStorage(vm)) { http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/server/test/com/cloud/vpc/MockNetworkManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java index e4c97a0..111df93 100644 --- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java @@ -407,7 +407,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkOrches */ @Override public PhysicalNetworkTrafficType addTrafficTypeToPhysicalNetwork(Long physicalNetworkId, String trafficType, String isolationMethod, String xenLabel, String kvmLabel, String vmwareLabel, - String simulatorLabel, String vlan, String hypervLabel) { + String simulatorLabel, String vlan, String hypervLabel, String ovm3Label) { // TODO Auto-generated method stub return null; } @@ -425,7 +425,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkOrches * @see com.cloud.network.NetworkService#updatePhysicalNetworkTrafficType(java.lang.Long, java.lang.String, java.lang.String, java.lang.String) */ @Override - public PhysicalNetworkTrafficType updatePhysicalNetworkTrafficType(Long id, String xenLabel, String kvmLabel, String vmwareLabel, String hypervLabel) { + public PhysicalNetworkTrafficType updatePhysicalNetworkTrafficType(Long id, String xenLabel, String kvmLabel, String vmwareLabel, String hypervLabel, String ovm3Label) { // TODO Auto-generated method stub return null; } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/setup/db/db/schema-450to460.sql ---------------------------------------------------------------------- diff --git a/setup/db/db/schema-450to460.sql b/setup/db/db/schema-450to460.sql index 4a5ea93..8ca4ab0 100644 --- a/setup/db/db/schema-450to460.sql +++ b/setup/db/db/schema-450to460.sql @@ -353,3 +353,28 @@ CREATE VIEW `cloud`.`user_vm_view` AS `cloud`.`user_vm_details` `custom_speed` ON (((`custom_speed`.`vm_id` = `cloud`.`vm_instance`.`id`) and (`custom_speed`.`name` = 'CpuSpeed'))) left join `cloud`.`user_vm_details` `custom_ram_size` ON (((`custom_ram_size`.`vm_id` = `cloud`.`vm_instance`.`id`) and (`custom_ram_size`.`name` = 'memory'))); + +-- ovm3 stuff +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Sun Solaris 10(32-bit)', 79); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Sun Solaris 10(64-bit)', 80); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Sun Solaris 11(32-bit)', 158); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Sun Solaris 11(64-bit)', 159); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Other Linux (32-bit)', 98); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Other Linux (64-bit)', 99); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ('Ovm3', 'Other PV (32-bit)', 139); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ('Ovm3', 'Other PV (64-bit)', 140); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ('Ovm3', 'DOS', 102); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Windows 8 (32-bit)', 165); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Windows 8 (64-bit)', 166); +INSERT INTO `cloud`.`guest_os_hypervisor` (hypervisor_type, guest_os_name, guest_os_id) VALUES ("Ovm3", 'Windows Server 2012 (64-bit)', 167); + +INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('Ovm3', '3.2', 25, 0); +INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(hypervisor_type, hypervisor_version, max_guests_limit, security_group_enabled) VALUES ('Ovm3', '3.3', 50, 0); +UPDATE `cloud`.`volumes` v, `cloud`.`storage_pool` s, `cloud`.`cluster` c set v.format='RAW' where v.pool_id=s.id and s.cluster_id=c.id and c.hypervisor_type='Ovm3'; +UPDATE configuration SET value='KVM,XenServer,VMware,BareMetal,Ovm,Ovm3,LXC' WHERE name='hypervisor.list'; +INSERT INTO `cloud`.`vm_template` (id, uuid, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text, format, guest_os_id,featured, cross_zones, hypervisor_type, state) +VALUES (12, UUID(), 'routing-12', 'SystemVM Template (Ovm3)', 0, now(), 'SYSTEM', 0, 64, 1, 'http://download.cloud.com/templates/4.6/systemvm64template.ovm.raw.bz2', '4425688804dbcf0abc9e9e56c53070d7', 0, 'SystemVM Template (Ovm3)', 'RAW', 183, 0, 1, 'Ovm3', 'Active' ); + +INSERT IGNORE INTO `cloud`.`configuration` (`category`, `instance`, `component`, `name`, `value`, `default_value`, `description`) VALUES ('Advanced', 'DEFAULT', 'ManagementServer', 'ovm3.heartbeat.timeout' , '180', '120', 'Timeout value to send to the checkheartbeat script for guarding the self fencing functionality on ovm3'); +INSERT IGNORE INTO `cloud`.`configuration` (`category`, `instance`, `component`, `name`, `value`, `default_value`, `description`) VALUES ('Advanced', 'DEFAULT', 'ManagementServer', 'ovm3.heartbeat.interval' , '10', '1', 'Interval value the checkheartbeat script uses before triggering the timeout for ovm3'); +INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'NetworkManager', 'router.template.ovm3', 'SystemVM Template (Ovm3)', 'Name of the default router template on Ovm3.','SystemVM Template (Ovm3)', NULL, NULL, 0); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/tools/appliance/build.sh ---------------------------------------------------------------------- diff --git a/tools/appliance/build.sh b/tools/appliance/build.sh index d298090..993b6d8 100755 --- a/tools/appliance/build.sh +++ b/tools/appliance/build.sh @@ -415,7 +415,7 @@ function ovm_export() { mv img.raw ${appliance_build_name}-ovm.raw bzip2 "${appliance_build_name}-ovm.raw" mv "${appliance_build_name}-ovm.raw.bz2" dist/ - log INFO "${appliance} exported for OracleVM: dist/${appliance_build_name}-ovm.vhd.bz2" + log INFO "${appliance} exported for OracleVM: dist/${appliance_build_name}-ovm.raw.bz2" } function kvm_export() { http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/ui/dictionary2.jsp ---------------------------------------------------------------------- diff --git a/ui/dictionary2.jsp b/ui/dictionary2.jsp index c9cb8f0..3ecffac 100644 --- a/ui/dictionary2.jsp +++ b/ui/dictionary2.jsp @@ -1051,6 +1051,9 @@ under the License. 'label.of.month': '<fmt:message key="label.of.month" />', 'label.minutes.past.hour': '<fmt:message key="label.minutes.past.hour" />', 'label.snapshots': '<fmt:message key="label.snapshots" />', -'label.add.private.gateway': '<fmt:message key="label.add.private.gateway" />' +'label.add.private.gateway': '<fmt:message key="label.add.private.gateway" />', +'label.ovm3.pool': '<fmt:message key="label.ovm3.pool" />', +'label.ovm3.cluster': '<fmt:message key="label.ovm3.cluster" />', +'label.ovm3.vip': '<fmt:message key="label.ovm3.vip" />' }); </script> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/ui/scripts/docs.js ---------------------------------------------------------------------- diff --git a/ui/scripts/docs.js b/ui/scripts/docs.js index b7f2668..dea6881 100755 --- a/ui/scripts/docs.js +++ b/ui/scripts/docs.js @@ -1297,5 +1297,17 @@ cloudStack.docs = { helpVspRetryInterval: { desc: 'The interval of time in milliseconds to wait on failure before attempting to resend the command to Nuage VSD. Valid values [0 - 10000].', externalLink: '' + }, + helpOvm3pool: { + desc: 'Pool the Ovm3 nodes in this cluster, required for vm node migrations', + externalLink: '' + }, + helpOvm3cluster: { + desc: 'Use the native Ovm3 OCFS2 clustering, required for native HA and requires pooling', + externalLink: '' + }, + helpOvm3Vip: { + desc: 'The VIP used by the pool and cluster', + externalLink: '' } }; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/ui/scripts/system.js ---------------------------------------------------------------------- diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 845ce52..126b1fc 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -139,6 +139,8 @@ trafficType.lxcnetworklabel = _l( 'label.network.label.display.for.blank.value'); if (trafficType.hypervnetworklabel == null || trafficType.hypervnetworklabel == 0) trafficType.hypervnetworklabel = _l( 'label.network.label.display.for.blank.value'); + if (trafficType.ovm3networklabel == null || trafficType.ovm3networklabel == 0) + trafficType.ovm3networklabel = _l( 'label.network.label.display.for.blank.value'); return trafficType; }; @@ -157,6 +159,8 @@ array1.push("&lxcnetworklabel=" + labels.lxcnetworklabel); if (labels.hypervnetworklabel != _l( 'label.network.label.display.for.blank.value')) array1.push("&hypervnetworklabel=" + labels.hypervnetworklabel); + if (labels.ovm3networklabel != _l( 'label.network.label.display.for.blank.value')) + array1.push("&ovm3networklabel=" + labels.ovm3networklabel); $.ajax({ url: createURL('updateTrafficType' + array1.join("")), @@ -597,6 +601,10 @@ hypervnetworklabel: { label: 'label.hyperv.traffic.label', isEditable: true + }, + ovm3networklabel: { + label: 'label.ovm3.traffic.label', + isEditable: true } }], @@ -620,7 +628,7 @@ selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel; selectedPublicNetworkObj.lxcnetworklabel = trafficType.lxcnetworklabel; selectedPublicNetworkObj.hypervnetworklabel = trafficType.hypervnetworklabel; - + selectedPublicNetworkObj.ovm3networklabel = trafficType.ovm3networklabel; args.response.success({ data: selectedPublicNetworkObj }); @@ -907,6 +915,10 @@ hypervnetworklabel: { label: 'label.hyperv.traffic.label', isEditable: true + }, + ovm3networklabel: { + label: 'label.ovm3.traffic.label', + isEditable: true } }], @@ -926,7 +938,7 @@ selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel; selectedPublicNetworkObj.lxcnetworklabel = trafficType.lxcnetworklabel; selectedPublicNetworkObj.hypervnetworklabel = trafficType.hypervnetworklabel; - + selectedPublicNetworkObj.ovm3networklabel = trafficType.ovm3networklabel; args.response.success({ data: selectedPublicNetworkObj }); @@ -1119,6 +1131,10 @@ hypervnetworklabel: { label: 'label.hyperv.traffic.label', isEditable: true + }, + ovm3networklabel: { + label: 'label.ovm3.traffic.label', + isEditable: true } }], dataProvider: function (args) { @@ -1136,7 +1152,7 @@ selectedManagementNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel; selectedManagementNetworkObj.lxcnetworklabel = trafficType.lxcnetworklabel; selectedManagementNetworkObj.hypervnetworklabel = trafficType.hypervnetworklabel; - + selectedManagementNetworkObj.ovm3networklabel = trafficType.ovm3networklabel; args.response.success({ data: selectedManagementNetworkObj }); @@ -1308,6 +1324,10 @@ hypervnetworklabel: { label: 'label.hyperv.traffic.label', isEditable: true + }, + ovm3networklabel: { + label: 'label.ovm3.traffic.label', + isEditable: true } }], dataProvider: function (args) { @@ -1347,7 +1367,7 @@ selectedPhysicalNetworkObj[ "ovmnetworklabel"] = trafficType.ovmnetworklabel; selectedPhysicalNetworkObj[ "lxcnetworklabel"] = trafficType.lxcnetworklabel; selectedPhysicalNetworkObj[ "hypervnetworklabel"] = trafficType.hypervnetworklabel; - + selectedPhysicalNetworkObj[ "ovm3networklabel"] = trafficType.ovm3networklabel; args.response.success({ actionFilter: function () { var allowedActions =[ 'edit', 'addVlanRange', 'removeVlanRange']; @@ -9241,12 +9261,13 @@ var array1 = []; // ***** non XenServer (begin) ***** - var hypervisors = ["Hyperv", "KVM", "VMware", "BareMetal", "LXC"]; - + var hypervisors = ["Hyperv", "KVM", "VMware", "BareMetal", "LXC", "Ovm3"]; + var supportSocketHypervisors = { - "Hyperv": 1, - "KVM": 1, - "VMware": 1 + "Hyperv": 1, + "KVM": 1, + "VMware": 1, + "Ovm3": 1 }; for (var h = 0; h < hypervisors.length; h++) { @@ -14023,7 +14044,31 @@ required: false } }, - + + //hypervisor==Ovm3 begins here + ovm3pool: { + label: 'label.ovm3.pool', + isHidden: true, + isBoolean: true, + isChecked: true, + docID: 'helpOvm3pool' + }, + ovm3cluster: { + label: 'label.ovm3.cluster', + isHidden: true, + isBoolean: true, + isChecked: false, + docID: 'helpOvm3cluster' + }, + ovm3vip: { + label: 'label.ovm3.vip', + isHidden: true, + docID: 'helpOvm3Vip', + validation: { + required: false + } + }, + //hypervisor==VMWare begins here vCenterHost: { label: 'label.vcenter.host', @@ -14253,7 +14298,11 @@ array1.push("&podId=" + args.data.podId); var clusterName = args.data.name; - + if (args.data.hypervisor == "Ovm3") { + array1.push("&ovm3pool=" + todb(args.data.ovm3pool)); + array1.push("&ovm3cluster=" + todb(args.data.ovm3cluster)); + array1.push("&ovm3vip=" + todb(args.data.ovm3vip)); + } if (args.data.hypervisor == "VMware") { array1.push("&username=" + todb(args.data.vCenterUsername)); array1.push("&password=" + todb(args.data.vCenterPassword)); @@ -15243,6 +15292,14 @@ //$('li[input_group="Ovm"]', $dialogAddHost).hide(); $form.find('.form-item[rel=agentUsername]').hide(); $form.find('.form-item[rel=agentPassword]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentUsername]').hide(); + $form.find('.form-item[rel=agentPassword]').hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); } else if (selectedClusterObj.hypervisortype == "BareMetal") { //$('li[input_group="general"]', $dialogAddHost).show(); $form.find('.form-item[rel=hostname]').css('display', 'inline-block'); @@ -15257,10 +15314,18 @@ //$('li[input_group="vmware"]', $dialogAddHost).hide(); $form.find('.form-item[rel=vcenterHost]').hide(); - + //$('li[input_group="Ovm"]', $dialogAddHost).hide(); $form.find('.form-item[rel=agentUsername]').hide(); $form.find('.form-item[rel=agentPassword]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentUsername]').hide(); + $form.find('.form-item[rel=agentPassword]').hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); } else if (selectedClusterObj.hypervisortype == "Ovm") { //$('li[input_group="general"]', $dialogAddHost).show(); $form.find('.form-item[rel=hostname]').css('display', 'inline-block'); @@ -15280,6 +15345,38 @@ $form.find('.form-item[rel=agentUsername]').css('display', 'inline-block'); $form.find('.form-item[rel=agentUsername]').find('input').val("oracle"); $form.find('.form-item[rel=agentPassword]').css('display', 'inline-block'); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentUsername]').hide(); + $form.find('.form-item[rel=agentPassword]').hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); + } else if (selectedClusterObj.hypervisortype == "Ovm3") { + //$('li[input_group="general"]', $dialogAddHost).show(); + $form.find('.form-item[rel=hostname]').css('display', 'inline-block'); + $form.find('.form-item[rel=username]').css('display', 'inline-block'); + $form.find('.form-item[rel=password]').css('display', 'inline-block'); + + //$('li[input_group="vmware"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=vcenterHost]').hide(); + + //$('li[input_group="baremetal"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=baremetalCpuCores]').hide(); + $form.find('.form-item[rel=baremetalCpu]').hide(); + $form.find('.form-item[rel=baremetalMemory]').hide(); + $form.find('.form-item[rel=baremetalMAC]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).show(); + $form.find('.form-item[rel=agentUsername]').css('display', 'inline-block'); + $form.find('.form-item[rel=agentUsername]').find('input').val("oracle"); + $form.find('.form-item[rel=agentPassword]').css('display', 'inline-block'); + $form.find('.form-item[rel=agentPort]').css('display', 'inline-block'); + $form.find('.form-item[rel=agentPort]').find('input').val("8899"); + $form.find('.form-item[rel=ovm3vip]').css('display', 'inline-block'); + $form.find('.form-item[rel=ovm3pool]').css('display', 'inline-block'); + $form.find('.form-item[rel=ovm3cluster]').css('display', 'inline-block'); } else { //$('li[input_group="general"]', $dialogAddHost).show(); $form.find('.form-item[rel=hostname]').css('display', 'inline-block'); @@ -15298,6 +15395,14 @@ //$('li[input_group="Ovm"]', $dialogAddHost).hide(); $form.find('.form-item[rel=agentUsername]').hide(); $form.find('.form-item[rel=agentPassword]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentUsername]').hide(); + $form.find('.form-item[rel=agentPassword]').hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); } }); @@ -15442,7 +15547,17 @@ isPassword: true }, //input_group="OVM" ends here - + + //input_group="OVM3" starts here + agentPort: { + label: 'label.agent.port', + validation: { + required: false + }, + isHidden: true + }, + //input_group="OVM3" ends here + //always appear (begin) hosttags: { label: 'label.host.tags', @@ -15540,6 +15655,12 @@ agentusername: args.data.agentUsername, agentpassword: args.data.agentPassword }); + } else if (selectedClusterObj.hypervisortype == "Ovm3") { + $.extend(data, { + agentusername: args.data.agentUsername, + agentpassword: args.data.agentPassword, + agentport: args.data.agentPort, + }); } } @@ -16690,6 +16811,13 @@ args.response.success({ data: items }); + // 3.3.2 has ceph/ocfs2/iscsi etc + } else if (selectedClusterObj.hypervisortype == "Ovm3") { + var items =[]; + items.push({ + id: "nfs", + description: "nfs" + }); } else { args.response.success({ data:[] http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/ui/scripts/zoneWizard.js ---------------------------------------------------------------------- diff --git a/ui/scripts/zoneWizard.js b/ui/scripts/zoneWizard.js index 13bc3ab..2ae056b 100755 --- a/ui/scripts/zoneWizard.js +++ b/ui/scripts/zoneWizard.js @@ -91,6 +91,9 @@ case 'LXC': hypervisorAttr = 'lxcnetworklabel'; break; + case 'Ovm3': + hypervisorAttr = 'ovm3networklabel'; + break; } trafficLabelStr = trafficLabel ? '&' + hypervisorAttr + '=' + trafficLabel : ''; @@ -494,6 +497,7 @@ nonSupportedHypervisors["BareMetal"] = 1; nonSupportedHypervisors["Hyperv"] = 1; nonSupportedHypervisors["Ovm"] = 1; + nonSupportedHypervisors["Ovm3"] = 1; } if (args.context.zones[0]['network-model'] == "Advanced") { //CLOUDSTACK-7681: UI > zone wizard > Advanced zone > hypervisor => do not support BareMetal @@ -1006,6 +1010,13 @@ $vsmFields.css('display', 'none'); } //$("#cluster_name_label", $dialogAddCluster).text("vCenter Cluster:"); + } else if ($(this).val() == "Ovm3") { + $form.find('.form-item[rel=ovm3pool]').css('display', 'inline-block'); + $form.find('.form-item[rel=ovm3pool]').find('input[type=checkbox]').removeAttr('checked'); + + $form.find('.form-item[rel=ovm3cluster]').css('display', 'inline-block'); + $form.find('.form-item[rel=ovm3cluster]').find('input[type=checkbox]').removeAttr('checked'); + $form.find('[rel=ovm3vip]').css('display', 'block'); } else { //$('li[input_group="vmware"]', $dialogAddCluster).hide(); @@ -1276,6 +1287,14 @@ //$('li[input_group="Ovm"]', $dialogAddHost).hide(); $form.find('[rel=agentUsername]').hide(); $form.find('[rel=agentPassword]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentUsername]').hide(); + $form.find('.form-item[rel=agentPassword]').hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); } else if (selectedClusterObj.hypervisortype == "BareMetal") { //$('li[input_group="general"]', $dialogAddHost).show(); $form.find('[rel=hostname]').css('display', 'block'); @@ -1294,6 +1313,14 @@ //$('li[input_group="Ovm"]', $dialogAddHost).hide(); $form.find('[rel=agentUsername]').hide(); $form.find('[rel=agentPassword]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentUsername]').hide(); + $form.find('.form-item[rel=agentPassword]').hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); } else if (selectedClusterObj.hypervisortype == "Ovm") { //$('li[input_group="general"]', $dialogAddHost).show(); $form.find('[rel=hostname]').css('display', 'block'); @@ -1313,6 +1340,36 @@ $form.find('[rel=agentUsername]').css('display', 'block'); $form.find('[rel=agentUsername]').find('input').val("oracle"); $form.find('[rel=agentPassword]').css('display', 'block'); + + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); + } else if (selectedClusterObj.hypervisortype == "Ovm3") { + //$('li[input_group="general"]', $dialogAddHost).show(); + $form.find('.form-item[rel=hostname]').css('display', 'inline-block'); + $form.find('.form-item[rel=username]').css('display', 'inline-block'); + $form.find('.form-item[rel=password]').css('display', 'inline-block'); + + //$('li[input_group="vmware"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=vcenterHost]').hide(); + + //$('li[input_group="baremetal"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=baremetalCpuCores]').hide(); + $form.find('.form-item[rel=baremetalCpu]').hide(); + $form.find('.form-item[rel=baremetalMemory]').hide(); + $form.find('.form-item[rel=baremetalMAC]').hide(); + + //$('li[input_group="Ovm3"]', $dialogAddHost).show(); + $form.find('.form-item[rel=agentUsername]').css('display', 'inline-block'); + $form.find('.form-item[rel=agentUsername]').find('input').val("oracle"); + $form.find('.form-item[rel=agentPassword]').css('display', 'inline-block'); + $form.find('.form-item[rel=agentPort]').css('display', 'inline-block'); + $form.find('.form-item[rel=agentPort]').find('input').val("8899"); + $form.find('.form-item[rel=ovm3vip]').css('display', 'inline-block'); + $form.find('.form-item[rel=ovm3pool]').css('display', 'inline-block'); + $form.find('.form-item[rel=ovm3cluster]').css('display', 'inline-block'); } else { //$('li[input_group="general"]', $dialogAddHost).show(); $form.find('[rel=hostname]').css('display', 'block'); @@ -1331,6 +1388,11 @@ //$('li[input_group="Ovm"]', $dialogAddHost).hide(); $form.find('[rel=agentUsername]').hide(); $form.find('[rel=agentPassword]').hide(); + //$('li[input_group="Ovm3"]', $dialogAddHost).hide(); + $form.find('.form-item[rel=agentPort]').hide(); + $form.find('.form-item[rel=ovm3vip]').hide(); + $form.find('.form-item[rel=ovm3pool]').hide(); + $form.find('.form-item[rel=ovm3cluster]').hide(); } }, fields: { @@ -1419,6 +1481,16 @@ }, //input_group="OVM" ends here + //input_group="OVM3" starts here + agentPort: { + label: 'label.agent.port', + validation: { + required: false + }, + isHidden: true + }, + //input_group="OVM3" ends here + //always appear (begin) hosttags: { label: 'label.host.tags', @@ -1583,6 +1655,15 @@ args.response.success({ data: items }); + } else if (selectedClusterObj.hypervisortype == "Ovm3") { + var items = []; + items.push({ + id: "nfs", + description: "nfs" + }); + args.response.success({ + data: items + }); } else { args.response.success({ data: []
