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: []

Reply via email to