Merge branch 'master' into internallb1

Conflicts:
        api/src/com/cloud/network/Network.java
        
plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
        server/src/com/cloud/network/NetworkManagerImpl.java
        server/src/com/cloud/network/NetworkServiceImpl.java
        server/test/com/cloud/network/MockNetworkManagerImpl.java
        server/test/com/cloud/vpc/MockNetworkManagerImpl.java
        setup/db/db/schema-410to420.sql


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/014689e4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/014689e4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/014689e4

Branch: refs/heads/internallb
Commit: 014689e45eeaedd9b695ec20dfb2db631f433e14
Parents: b3b16ba 90e8158
Author: Alena Prokharchyk <[email protected]>
Authored: Tue Apr 16 09:55:45 2013 -0700
Committer: Alena Prokharchyk <[email protected]>
Committed: Tue Apr 16 09:55:45 2013 -0700

----------------------------------------------------------------------
 DISCLAIMER                                         |    7 -
 .../agent/api/DeleteSnapshotBackupCommand.java     |    6 +-
 api/src/com/cloud/network/Network.java             |    2 +
 api/src/com/cloud/network/NetworkService.java      |    2 +-
 api/src/com/cloud/offering/NetworkOffering.java    |    2 +
 api/src/com/cloud/vm/DiskProfile.java              |    2 +-
 .../org/apache/cloudstack/api/ApiConstants.java    |    1 +
 .../command/user/address/AssociateIPAddrCmd.java   |   31 +-
 .../network/ExternalNetworkDeviceManager.java      |    1 +
 build/replace.properties                           |    1 +
 client/pom.xml                                     |   10 +
 client/tomcatconf/applicationContext.xml.in        |   15 +-
 client/tomcatconf/commands.properties.in           |   11 +
 client/tomcatconf/componentContext.xml.in          |   17 +-
 client/tomcatconf/nonossComponentContext.xml.in    |   28 +
 client/tomcatconf/simulatorComponentContext.xml.in |    9 +-
 debian/cloudstack-awsapi.install                   |   10 +-
 debian/rules                                       |   20 +-
 docs/en-US/Admin_Guide.xml                         |    2 +-
 docs/en-US/Book_Info.xml                           |    2 +-
 docs/en-US/CloudStack_Nicira_NVP_Guide.xml         |    2 +-
 docs/en-US/Developers_Guide.xml                    |    2 +-
 docs/en-US/Installation_Guide.xml                  |    2 +-
 docs/en-US/Release_Notes.xml                       | 4413 ++++++++++++++-
 docs/en-US/hypervisor-kvm-install-flow.xml         |    1 +
 docs/en-US/images/VMSnapshotButton.png             |  Bin 0 -> 967 bytes
 docs/en-US/images/revert-vm.png                    |  Bin 0 -> 860 bytes
 docs/en-US/ipv6-support.xml                        |    4 +-
 docs/en-US/virtual-machines.xml                    |    1 +
 docs/en-US/vm-snapshots.xml                        |  146 +
 .../subsystem/api/storage/CommandResult.java       |    2 +-
 .../api/storage/ObjectInDataStoreStateMachine.java |    2 +-
 .../driver/AncientImageDataStoreDriverImpl.java    |   10 +-
 .../image/motion/DefaultImageMotionStrategy.java   |    4 +-
 .../test/MockHypervisorHostEndPointRpcServer.java  |   72 +
 .../test/MockHypervsiorHostEndPointRpcServer.java  |   72 -
 .../integration-test/test/resource/component.xml   |    2 +-
 .../storage/snapshot/SnapshotObject.java           |    2 +-
 .../storage/HypervisorHostEndPointRpcServer.java   |  119 +
 .../storage/HypervsiorHostEndPointRpcServer.java   |  119 -
 .../allocator/AbstractStoragePoolAllocator.java    |    2 +-
 .../allocator/ZoneWideStoragePoolAllocator.java    |    2 +-
 .../storage/datastore/DataObjectManagerImpl.java   |    6 +-
 .../driver/DefaultPrimaryDataStoreDriverImpl.java  |    4 +-
 .../DefaultPrimaryDatastoreProviderImpl.java       |    6 +-
 .../volume/TemplateInstallStrategyImpl.java        |    6 +-
 packaging/centos63/cloud-usage.rc                  |    2 +-
 packaging/centos63/cloud.spec                      |   14 +-
 packaging/centos63/replace.properties              |    2 +-
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java  |   18 +-
 .../vmware/manager/VmwareManagerImpl.java          |    3 +-
 .../hypervisor/vmware/resource/VmwareResource.java |   13 +-
 plugins/network-elements/cisco-vnmc/pom.xml        |   42 +
 .../scripts/network/cisco/assoc-asa1000v.xml       |   34 +
 .../network/cisco/associate-acl-policy-set.xml     |   37 +
 .../network/cisco/associate-dhcp-policy.xml        |   34 +
 .../network/cisco/associate-dhcp-server.xml        |   32 +
 .../network/cisco/associate-nat-policy-set.xml     |   35 +
 .../network/cisco/associate-route-policy.xml       |   33 +
 .../network/cisco/create-acl-policy-ref.xml        |   38 +
 .../network/cisco/create-acl-policy-set.xml        |   36 +
 .../scripts/network/cisco/create-acl-policy.xml    |   35 +
 .../network/cisco/create-acl-rule-for-dnat.xml     |   82 +
 .../network/cisco/create-acl-rule-for-pf.xml       |  156 +
 .../scripts/network/cisco/create-dhcp-policy.xml   |   72 +
 .../scripts/network/cisco/create-dnat-rule.xml     |   91 +
 .../network/cisco/create-edge-device-profile.xml   |   32 +
 .../cisco/create-edge-device-route-policy.xml      |   30 +
 .../network/cisco/create-edge-device-route.xml     |   35 +
 .../scripts/network/cisco/create-edge-firewall.xml |   89 +
 .../network/cisco/create-edge-security-profile.xml |   41 +
 .../network/cisco/create-egress-acl-rule.xml       |  201 +
 .../cisco/create-generic-egress-acl-rule.xml       |  122 +
 .../cisco/create-generic-ingress-acl-rule.xml      |  121 +
 .../network/cisco/create-ingress-acl-rule.xml      |  201 +
 .../scripts/network/cisco/create-ip-pool.xml       |   58 +
 .../network/cisco/create-nat-policy-ref.xml        |   38 +
 .../network/cisco/create-nat-policy-set.xml        |   37 +
 .../scripts/network/cisco/create-nat-policy.xml    |   33 +
 .../scripts/network/cisco/create-pf-rule.xml       |  166 +
 .../scripts/network/cisco/create-port-pool.xml     |   72 +
 .../network/cisco/create-source-nat-pool.xml       |   58 +
 .../network/cisco/create-source-nat-rule.xml       |  103 +
 .../scripts/network/cisco/create-tenant.xml        |   29 +
 .../scripts/network/cisco/create-vdc.xml           |   30 +
 .../network/cisco/delete-acl-policy-set.xml        |   30 +
 .../scripts/network/cisco/delete-acl-policy.xml    |   33 +
 .../scripts/network/cisco/delete-edge-firewall.xml |   30 +
 .../network/cisco/delete-edge-security-profile.xml |   38 +
 .../network/cisco/delete-nat-policy-set.xml        |   30 +
 .../scripts/network/cisco/delete-nat-policy.xml    |   33 +
 .../scripts/network/cisco/delete-rule.xml          |   31 +
 .../scripts/network/cisco/delete-tenant.xml        |   30 +
 .../scripts/network/cisco/delete-vdc.xml           |   30 +
 .../scripts/network/cisco/disassoc-asa1000v.xml    |   30 +
 .../scripts/network/cisco/list-acl-policies.xml    |   31 +
 .../scripts/network/cisco/list-children.xml        |   27 +
 .../scripts/network/cisco/list-nat-policies.xml    |   31 +
 .../network/cisco/list-policyrefs-in-policyset.xml |   31 +
 .../scripts/network/cisco/list-tenants.xml         |   26 +
 .../network/cisco/list-unassigned-asa1000v.xml     |   39 +
 .../cisco-vnmc/scripts/network/cisco/login.xml     |   20 +
 ...AssociateAsaWithLogicalEdgeFirewallCommand.java |   53 +
 .../api/CleanupLogicalEdgeFirewallCommand.java     |   43 +
 .../agent/api/ConfigureNexusVsmForAsaCommand.java  |   95 +
 .../api/CreateLogicalEdgeFirewallCommand.java      |   94 +
 .../api/commands/AddCiscoAsa1000vResourceCmd.java  |  116 +
 .../api/commands/AddCiscoVnmcResourceCmd.java      |  115 +
 .../commands/DeleteCiscoAsa1000vResourceCmd.java   |   93 +
 .../api/commands/DeleteCiscoVnmcResourceCmd.java   |   93 +
 .../commands/ListCiscoAsa1000vResourcesCmd.java    |  110 +
 .../api/commands/ListCiscoVnmcResourcesCmd.java    |  106 +
 .../response/CiscoAsa1000vResourceResponse.java    |   88 +
 .../api/response/CiscoVnmcResourceResponse.java    |   75 +
 .../cloud/network/cisco/CiscoAsa1000vDevice.java   |   39 +
 .../cloud/network/cisco/CiscoAsa1000vDeviceVO.java |  101 +
 .../cloud/network/cisco/CiscoVnmcConnection.java   |  196 +
 .../network/cisco/CiscoVnmcConnectionImpl.java     | 1415 +++++
 .../cloud/network/cisco/CiscoVnmcController.java   |   40 +
 .../cloud/network/cisco/CiscoVnmcControllerVO.java |  102 +
 .../cloud/network/cisco/NetworkAsa1000vMap.java    |   31 +
 .../cloud/network/cisco/NetworkAsa1000vMapVO.java  |   73 +
 .../com/cloud/network/dao/CiscoAsa1000vDao.java    |   33 +
 .../cloud/network/dao/CiscoAsa1000vDaoImpl.java    |   63 +
 .../src/com/cloud/network/dao/CiscoVnmcDao.java    |   32 +
 .../com/cloud/network/dao/CiscoVnmcDaoImpl.java    |   51 +
 .../cloud/network/dao/NetworkAsa1000vMapDao.java   |   28 +
 .../network/dao/NetworkAsa1000vMapDaoImpl.java     |   61 +
 .../network/element/CiscoAsa1000vService.java      |   43 +
 .../cloud/network/element/CiscoVnmcElement.java    |  928 +++
 .../network/element/CiscoVnmcElementService.java   |   42 +
 .../cloud/network/resource/CiscoVnmcResource.java  |  780 +++
 .../contrib/ssl/EasySSLProtocolSocketFactory.java  |  232 +
 .../contrib/ssl/EasyX509TrustManager.java          |  114 +
 .../network/cisco/CiscoVnmcConnectionTest.java     |  248 +
 .../network/element/CiscoVnmcElementTest.java      |  401 ++
 .../network/resource/CiscoVnmcResourceTest.java    |  285 +
 .../dns-notifier/resources/components-example.xml  |    2 +-
 .../element/F5ExternalLoadBalancerElement.java     |    3 +-
 .../element/JuniperSRXExternalFirewallElement.java |   58 +-
 .../cloud/network/element/NetscalerElement.java    |    3 +-
 plugins/pom.xml                                    |    1 +
 .../CloudStackPrimaryDataStoreProviderImpl.java    |    6 +-
 server/src/com/cloud/api/ApiResponseHelper.java    |    4 +-
 server/src/com/cloud/configuration/Config.java     |    2 +
 .../configuration/ConfigurationManagerImpl.java    |   37 +-
 .../AgentBasedConsoleProxyManager.java             |    8 +-
 .../src/com/cloud/consoleproxy/AgentHookBase.java  |   50 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   21 +-
 .../deploy/DeploymentPlanningManagerImpl.java      |   14 +-
 .../cloud/network/ExteralIpAddressAllocator.java   |  165 -
 .../cloud/network/ExternalIpAddressAllocator.java  |  165 +
 server/src/com/cloud/network/IpAddrAllocator.java  |    2 +-
 .../src/com/cloud/network/NetworkManagerImpl.java  |  265 +-
 .../src/com/cloud/network/NetworkServiceImpl.java  |   35 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |   16 +-
 .../src/com/cloud/offerings/NetworkOfferingVO.java |   12 +-
 .../com/cloud/server/ConfigurationServerImpl.java  |    5 +-
 server/src/com/cloud/server/ManagementServer.java  |    3 +
 .../src/com/cloud/server/ManagementServerImpl.java |   81 +-
 .../ConsoleProxyPasswordBasedEncryptor.java        |   99 +-
 .../src/com/cloud/servlet/ConsoleProxyServlet.java |   16 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |   11 +-
 .../com/cloud/template/TemplateManagerImpl.java    |    2 +-
 .../src/com/cloud/upgrade/dao/Upgrade410to420.java |   44 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |    4 +
 .../com/cloud/network/MockNetworkManagerImpl.java  |    2 +-
 .../test/com/cloud/vpc/MockNetworkManagerImpl.java |    2 +-
 server/test/resources/network-mgr-component.xml    |    2 +-
 .../ConsoleProxyPasswordBasedEncryptor.java        |  253 +-
 setup/db/db/schema-410to420.sql                    |   41 +-
 test/integration/component/test_asa1000v_fw.py     |  134 +
 test/integration/smoke/test_iso.py                 |    3 +-
 test/integration/smoke/test_network.py             |    4 +-
 test/integration/smoke/test_routers.py             |    2 +-
 test/integration/smoke/test_templates.py           |    3 +-
 test/integration/smoke/test_vm_life_cycle.py       |    2 +-
 test/integration/smoke/test_volumes.py             |   55 +-
 tools/build/build_asf.sh                           |   12 +-
 tools/build/build_docs.sh                          |   11 +-
 tools/cli/cloudmonkey/requester.py                 |    4 +-
 tools/marvin/marvin/integration/lib/base.py        |   65 +-
 ui/css/cloudstack3.css                             |    6 +-
 ui/scripts/dashboard.js                            |    2 +-
 ui/scripts/instances.js                            |   29 +-
 ui/scripts/network.js                              |    2 +-
 ui/scripts/sharedFunctions.js                      |   28 +-
 ui/scripts/system.js                               |    5 +-
 usage/pom.xml                                      |    5 +
 usage/src/com/cloud/usage/UsageServer.java         |   16 +-
 .../cloud/utils/cisco/n1kv/vsm/NetconfHelper.java  |   22 +
 .../com/cloud/utils/cisco/n1kv/vsm/VsmCommand.java |  213 +
 .../cloud/utils/component/ComponentContext.java    |    4 +-
 .../hypervisor/vmware/mo/HypervisorHostHelper.java |   45 +-
 194 files changed, 15407 insertions(+), 1123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/api/src/com/cloud/network/Network.java
----------------------------------------------------------------------
diff --cc api/src/com/cloud/network/Network.java
index 5bb218b,4472dba..fa062c6
--- a/api/src/com/cloud/network/Network.java
+++ b/api/src/com/cloud/network/Network.java
@@@ -125,7 -124,7 +125,8 @@@ public interface Network extends Contro
          public static final Provider None = new Provider("None", false);
          // NiciraNvp is not an "External" provider, otherwise we get in 
trouble with NetworkServiceImpl.providersConfiguredForExternalNetworking 
          public static final Provider NiciraNvp = new Provider("NiciraNvp", 
false);
 +        public static final Provider InternalLbVm = new 
Provider("InternalLbVm", false);
+         public static final Provider CiscoVnmc = new Provider("CiscoVnmc", 
true);
  
          private String name;
          private boolean isExternal;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/api/src/com/cloud/offering/NetworkOffering.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/api/src/org/apache/cloudstack/api/ApiConstants.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/client/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/client/tomcatconf/applicationContext.xml.in
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/client/tomcatconf/commands.properties.in
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/client/tomcatconf/componentContext.xml.in
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
----------------------------------------------------------------------
diff --cc 
plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
index e82cb33,e384e3c..80b42e0
--- 
a/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
+++ 
b/plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
@@@ -120,8 -87,8 +120,9 @@@ public class F5ExternalLoadBalancerElem
      @Inject
      ConfigurationDao _configDao;
  
 -    private boolean canHandle(Network config) {
 +    private boolean canHandle(Network config, List<LoadBalancingRule> rules) {
-         if (config.getGuestType() != Network.GuestType.Isolated || 
config.getTrafficType() != TrafficType.Guest) {
+         if ((config.getGuestType() != Network.GuestType.Isolated && 
config.getGuestType() != Network.GuestType.Shared) || config.getTrafficType() 
!= TrafficType.Guest) {
++
              s_logger.trace("Not handling network with Type  " + 
config.getGuestType() + " and traffic type " + config.getTrafficType());
              return false;
          }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/plugins/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/network/NetworkManagerImpl.java
index 36aeee0,7332ef3..cca34a9
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@@ -107,40 -54,12 +54,19 @@@ import com.cloud.network.Networks.Broad
  import com.cloud.network.Networks.IsolationType;
  import com.cloud.network.Networks.TrafficType;
  import com.cloud.network.addr.PublicIp;
- import com.cloud.network.dao.FirewallRulesDao;
- import com.cloud.network.dao.IPAddressDao;
- import com.cloud.network.dao.IPAddressVO;
- import com.cloud.network.dao.LoadBalancerDao;
- import com.cloud.network.dao.NetworkDao;
- import com.cloud.network.dao.NetworkDomainDao;
- import com.cloud.network.dao.NetworkServiceMapDao;
- import com.cloud.network.dao.NetworkServiceMapVO;
- import com.cloud.network.dao.NetworkVO;
- import com.cloud.network.dao.PhysicalNetworkDao;
- import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
- import com.cloud.network.dao.PhysicalNetworkTrafficTypeDao;
- import com.cloud.network.dao.PhysicalNetworkTrafficTypeVO;
- import com.cloud.network.dao.PhysicalNetworkVO;
- import com.cloud.network.dao.UserIpv6AddressDao;
- import com.cloud.network.element.DhcpServiceProvider;
- import com.cloud.network.element.IpDeployer;
- import com.cloud.network.element.IpDeployingRequester;
- import com.cloud.network.element.LoadBalancingServiceProvider;
- import com.cloud.network.element.NetworkElement;
- import com.cloud.network.element.StaticNatServiceProvider;
- import com.cloud.network.element.UserDataServiceProvider;
+ import com.cloud.network.dao.*;
+ import com.cloud.network.element.*;
  import com.cloud.network.guru.NetworkGuru;
  import com.cloud.network.lb.LoadBalancingRulesManager;
- import com.cloud.network.rules.FirewallManager;
- import com.cloud.network.rules.FirewallRule;
+ import com.cloud.network.rules.*;
  import com.cloud.network.rules.FirewallRule.Purpose;
 +import com.cloud.network.rules.FirewallRuleVO;
 +import com.cloud.network.rules.LoadBalancerContainer.Scheme;
 +import com.cloud.network.rules.PortForwardingRuleVO;
 +import com.cloud.network.rules.RulesManager;
 +import com.cloud.network.rules.StaticNat;
 +import com.cloud.network.rules.StaticNatRule;
 +import com.cloud.network.rules.StaticNatRuleImpl;
  import com.cloud.network.rules.dao.PortForwardingRulesDao;
  import com.cloud.network.vpc.NetworkACLManager;
  import com.cloud.network.vpc.VpcManager;
@@@ -151,15 -70,9 +77,10 @@@ import com.cloud.offering.NetworkOfferi
  import com.cloud.offerings.NetworkOfferingServiceMapVO;
  import com.cloud.offerings.NetworkOfferingVO;
  import com.cloud.offerings.dao.NetworkOfferingDao;
 +import com.cloud.offerings.dao.NetworkOfferingDetailsDao;
  import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
  import com.cloud.org.Grouping;
- import com.cloud.user.Account;
- import com.cloud.user.AccountManager;
- import com.cloud.user.ResourceLimitService;
- import com.cloud.user.User;
- import com.cloud.user.UserContext;
- import com.cloud.user.UserVO;
+ import com.cloud.user.*;
  import com.cloud.user.dao.AccountDao;
  import com.cloud.user.dao.UserDao;
  import com.cloud.utils.Journal;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/src/com/cloud/offerings/NetworkOfferingVO.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/test/com/cloud/network/MockNetworkManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/014689e4/setup/db/db/schema-410to420.sql
----------------------------------------------------------------------
diff --cc setup/db/db/schema-410to420.sql
index 453120a,79a2279..c22d555
--- a/setup/db/db/schema-410to420.sql
+++ b/setup/db/db/schema-410to420.sql
@@@ -692,126 -721,3 +728,127 @@@ ALTER TABLE `cloud`.`network_offerings
  -- Re-enable foreign key checking, at the end of the upgrade path
  SET foreign_key_checks = 1;                   
  
 +
 +-- Add role to the domain router view
 +ALTER VIEW `cloud`.`domain_router_view` AS
 +    select 
 +        vm_instance.id id,
 +        vm_instance.name name,
 +        account.id account_id,
 +        account.uuid account_uuid,
 +        account.account_name account_name,
 +        account.type account_type,
 +        domain.id domain_id,
 +        domain.uuid domain_uuid,
 +        domain.name domain_name,
 +        domain.path domain_path,
 +        projects.id project_id,
 +        projects.uuid project_uuid,
 +        projects.name project_name,
 +        vm_instance.uuid uuid,
 +        vm_instance.created created,
 +        vm_instance.state state,
 +        vm_instance.removed removed,
 +        vm_instance.pod_id pod_id,
 +        vm_instance.instance_name instance_name,
 +        host_pod_ref.uuid pod_uuid,
 +        data_center.id data_center_id,
 +        data_center.uuid data_center_uuid,
 +        data_center.name data_center_name,
 +        data_center.dns1 dns1,
 +        data_center.dns2 dns2,
 +        data_center.ip6_dns1 ip6_dns1,
 +        data_center.ip6_dns2 ip6_dns2,
 +        host.id host_id,
 +        host.uuid host_uuid,
 +        host.name host_name,
 +        vm_template.id template_id,
 +        vm_template.uuid template_uuid,
 +        service_offering.id service_offering_id,
 +        disk_offering.uuid service_offering_uuid,
 +        disk_offering.name service_offering_name,
 +        nics.id nic_id,
 +        nics.uuid nic_uuid,
 +        nics.network_id network_id,
 +        nics.ip4_address ip_address,
 +        nics.ip6_address ip6_address,
 +        nics.ip6_gateway ip6_gateway,
 +        nics.ip6_cidr ip6_cidr,
 +        nics.default_nic is_default_nic,
 +        nics.gateway gateway,
 +        nics.netmask netmask,
 +        nics.mac_address mac_address,
 +        nics.broadcast_uri broadcast_uri,
 +        nics.isolation_uri isolation_uri,
 +        vpc.id vpc_id,
 +        vpc.uuid vpc_uuid,
 +        networks.uuid network_uuid,
 +        networks.name network_name,
 +        networks.network_domain network_domain,
 +        networks.traffic_type traffic_type,
 +        networks.guest_type guest_type,
 +        async_job.id job_id,
 +        async_job.uuid job_uuid,
 +        async_job.job_status job_status,
 +        async_job.account_id job_account_id,
 +        domain_router.template_version template_version,
 +        domain_router.scripts_version scripts_version,
 +        domain_router.is_redundant_router is_redundant_router,
 +        domain_router.redundant_state redundant_state,
 +        domain_router.stop_pending stop_pending,
 +        domain_router.role role
 +    from
 +        `cloud`.`domain_router`
 +            inner join
 +        `cloud`.`vm_instance` ON vm_instance.id = domain_router.id
 +            inner join
 +        `cloud`.`account` ON vm_instance.account_id = account.id
 +            inner join
 +        `cloud`.`domain` ON vm_instance.domain_id = domain.id
 +            left join
 +        `cloud`.`host_pod_ref` ON vm_instance.pod_id = host_pod_ref.id
 +            left join
 +        `cloud`.`projects` ON projects.project_account_id = account.id
 +            left join
 +        `cloud`.`data_center` ON vm_instance.data_center_id = data_center.id
 +            left join
 +        `cloud`.`host` ON vm_instance.host_id = host.id
 +            left join
 +        `cloud`.`vm_template` ON vm_instance.vm_template_id = vm_template.id
 +            left join
 +        `cloud`.`service_offering` ON vm_instance.service_offering_id = 
service_offering.id
 +            left join
 +        `cloud`.`disk_offering` ON vm_instance.service_offering_id = 
disk_offering.id
 +            left join
 +        `cloud`.`volumes` ON vm_instance.id = volumes.instance_id
 +            left join
 +        `cloud`.`storage_pool` ON volumes.pool_id = storage_pool.id
 +            left join
 +        `cloud`.`nics` ON vm_instance.id = nics.instance_id
 +            left join
 +        `cloud`.`networks` ON nics.network_id = networks.id
 +            left join
 +        `cloud`.`vpc` ON domain_router.vpc_id = vpc.id
 +            left join
 +        `cloud`.`async_job` ON async_job.instance_id = vm_instance.id
 +            and async_job.instance_type = 'DomainRouter'
 +            and async_job.job_status = 0;
 +
 +
 +-- Add details talbe for the network offering
 +CREATE TABLE `cloud`.`network_offering_details` (
 +  `id` bigint unsigned NOT NULL auto_increment,
 +  `network_offering_id` bigint unsigned NOT NULL COMMENT 'network offering 
id',
 +  `name` varchar(255) NOT NULL,
 +  `value` varchar(1024) NOT NULL,
 +  PRIMARY KEY (`id`),
 +  CONSTRAINT `fk_network_offering_details__network_offering_id` FOREIGN KEY 
`fk_network_offering_details__network_offering_id`(`network_offering_id`) 
REFERENCES `network_offerings`(`id`) ON DELETE CASCADE
 +) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 +
 +-- Change the constraint for the network service map table. Now we support 
multiple provider for the same service
 +ALTER TABLE `cloud`.`ntwk_service_map` DROP FOREIGN KEY 
`fk_ntwk_service_map__network_id`;
 +ALTER TABLE `cloud`.`ntwk_service_map` DROP INDEX `network_id`;
 +
 +ALTER TABLE `cloud`.`ntwk_service_map` ADD UNIQUE `network_id` 
(`network_id`,`service`,`provider`);
 +ALTER TABLE `cloud`.`ntwk_service_map` ADD  CONSTRAINT 
`fk_ntwk_service_map__network_id` FOREIGN KEY (`network_id`) REFERENCES 
`networks` (`id`) ON DELETE CASCADE;
++

Reply via email to