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;
++