Commit Graph

281 Commits

Author SHA1 Message Date
Murali Reddy f302533474 changes response object name for F5/Netscaler/SRX to be lower case 2011-11-21 18:28:51 -08:00
Murali Reddy 54f4ebf08c changes for SRX add/config commands for UI integration 2011-11-21 16:57:41 -08:00
Murali Reddy c9b2031fa9 changes in add/configure API commands for F5 & Netscaler for UI integration 2011-11-21 13:31:54 -08:00
Murali Reddy 4bdcddf96c fixed bug in addSrxFirewallCmd API 2011-11-17 17:22:14 -08:00
Alena Prokharchyk 337c07c0d1 Default gateway service to sourceNat service in the API 2011-11-17 16:28:10 -08:00
Alena Prokharchyk 5571afa471 Virtual router elements: prepare nics only when VirtualRouter is a provider for at least one service in the network 2011-11-17 14:33:22 -08:00
Alena Prokharchyk 0bb325ac12 Call implement() and shutdown() methods for providers only when the provider serves a service for the network 2011-11-17 13:53:53 -08:00
Sheng Yang cb6c1424ef NaaS: Add virtual router state check for virtual router element 2011-11-17 13:42:29 -08:00
Sheng Yang cdd8d741ca NaaS: Add redundant router capability to virtual router 2011-11-17 11:33:04 -08:00
Murali Reddy 37908d2669 fixing bug in provider verify logic of SRX element 2011-11-16 18:23:09 -08:00
Murali Reddy 75121bd762 bug 11817 : NAAS external networking device support
- added pluggable (service) API's for managing F5 and SRX devices
2011-11-16 10:53:22 -08:00
Alena Prokharchyk 03eb3c9037 Removed unused imports 2011-11-15 16:42:26 -08:00
Murali Reddy 0b05badaaa bug 11817: NAAS external network device support
-made Netscaler, SRX, F5 network elements as pluggable service
   -added abstract load balancer device manager ExternaLoadBalancerDeviceManager
   -made both F5 and Netscaler pluggable service to extend ExternaLoadBalancerDeviceManager
   -added abstract firewall device manager ExternalFirewallDeviceManager
   -made SRX pluugable service to extende ExternalFirewallDeviceManager
   -added API's to configure and manage netscaler devices
2011-11-15 12:18:59 -08:00
Sheng Yang cdfac9a5e1 NaaS: Fix UUID of virtual router providers 2011-11-11 13:42:19 -08:00
Sheng Yang 7adedca8a3 NaaS: Update listVirtualRouterElements to accept nspid as parameter
Also fix VirtualRouterProviderResponse by adding objectName.
2011-11-10 17:26:11 -08:00
Murali Reddy 122b62066a bug 11817: NAAS: device allocation logic
- adding a allocation state to device
 - change device allocation logic based on network offering  and device state
2011-11-10 09:55:23 -08:00
Sheng Yang 5c1773dd26 NaaS: Add response for VirtualRouterProvider 2011-11-09 18:52:34 -08:00
Sheng Yang 47114af94b NaaS: Add redundant capability for Gateway service 2011-11-09 17:09:46 -08:00
Sheng Yang bc86800d30 NaaS: Remove Redundant Virtual Router element
Would use capability instead.
2011-11-09 17:09:38 -08:00
Sheng Yang 9b8f96c06d NaaS: Merge Role.DHCP_USERDATA and Role.DHCP_FIREWALL_LB_USERDATA to Role.VIRTUAL_ROUTER 2011-11-09 17:09:17 -08:00
Sheng Yang 0876cbeda7 NaaS: Rename VirtualRouterProviderType 2011-11-09 15:24:28 -08:00
Sheng Yang c09b2b94b3 NaaS: Add ElbVm to Virtual Router Provider 2011-11-09 15:23:33 -08:00
Sheng Yang be72d81529 NaaS: Make element.prepare() contain only prepare, not DHCP or userdata apply 2011-11-09 15:23:25 -08:00
Sheng Yang 8616705293 NaaS: Add getPhysicalNetworkId() 2011-11-09 15:23:13 -08:00
Sheng Yang b569a11e45 NaaS: Add DHCP and userdata service provider 2011-11-09 15:23:06 -08:00
Sheng Yang 58568db1d0 NaaS: Use provider() instead of explicit isRedundant flag 2011-11-09 15:23:01 -08:00
Sheng Yang b85744859f NaaS: Set new added virtual router element enabled by default 2011-11-09 13:56:35 -08:00
Murali Reddy db991dd8f6 NAAS : adding support for service capabilities to be specified as part of network offering 2011-11-08 13:01:44 -08:00
alena 3a845d2d75 Keep Service/Provider map per network as well as per networkOffering (to handle the case when there are multiple providers defined for the same service in the network offering, and only one is picked when the network is created) 2011-11-07 16:16:03 -08:00
prachi dce0bfd558 Fixing VirtualRouterElement and RVR to not use forceShutdown 2011-11-04 18:06:35 -07:00
prachi 5f93665a30 - Send network labels to hypervisor recource during processConnect
- Create Default physicalnetwork and add traffic types while creating a zone
- DeleteProvider should error out if there are networks using the provider.
- Other validations
2011-11-04 17:57:05 -07:00
Sheng Yang 3051dc2621 NaaS: Discard DhcpElement
VirtualRouterElement would do all the job. The difference would be public
network enabled or not.
2011-11-04 14:13:55 -07:00
Sheng Yang 3de3fc69d2 NaaS: Implement shutdownProviderInstances for virtual router 2011-11-03 13:44:26 -07:00
Murali Reddy 7b51782163 bug 11817: NAAS: extenal LB/firewall device support
-introducing the notion of capacity of LB device
 -managing network to device mapping
2011-11-03 11:19:55 -07:00
alena 6882cf8fd5 Cleaned up unused code that was commented out 2011-11-03 11:06:47 -07:00
Sheng Yang 4a960f2912 NaaS: Update VirtualRouterElement on StaticNat and PortForwarding services 2011-11-02 19:26:42 -07:00
Sheng Yang 3fc9b149e4 NaaS: Add portforwarding and staticnat service provider
Make them service rather than capability of firewall. Now firewall only means
open/close the port.
2011-11-02 15:18:39 -07:00
prachi 6aa743165a Changes to support Enable/ Disable services of a service provider added to physical network:
- ListSupportedNetworkServiceProvidersCmd will now return Providers along with its element's services and boolean 'canEnableIndividualServices' that indicates if for this Provider services can be enabled/disabled
- add & update NetworkServiceProvider changed to take in the list of services to enable. While adding a provider, if list is null then all services supported by the element are enabled by default.
- ListNetworkServices enhanced to take in a provider name and returns services of that specific provider.
2011-11-01 18:03:55 -07:00
Sheng Yang a43364f0a4 NaaS: Rename virtual_router_elements to virtual_router_provider 2011-10-31 15:59:53 -07:00
Sheng Yang cd3fbf0548 NaaS: Create AddVirtualRouterElementCmd
As DhcpElement/VirtualRouterElement/RedundantVirtualRouterElement is decided to
be the service provider of the physical network, this API should be called to
add a new element, with correlated network service provider ID.

Then e.g. ConfigureVirtualRouterElementCmd should be called to configure and
enable the element.
2011-10-31 15:59:44 -07:00
Sheng Yang 00bb63ac67 NaaS: Remove separate configuration fields for virtual router elements
The fields are duplicated with network offerings.
2011-10-31 15:59:36 -07:00
Sheng Yang 928fc64ebc NaaS: Enable VirtualRouterElement to deal with service separately 2011-10-31 15:59:31 -07:00
prachi 549c7d2ef9 Added NetworkElement API's isReady() and shutdownProviderInstances() called by NetworkMgr while enabling/shutdown the service provider. 2011-10-31 13:09:54 -07:00
alena 6445bf4c49 Added services/capabilities to the SecurityGroupElement 2011-10-28 09:52:40 -07:00
alena d315e57b0e Renamed "type" to "guestType" 2011-10-27 16:51:42 -07:00
alena fe0b685e95 Security group is a service now 2011-10-27 16:49:20 -07:00
alena 71b53a3432 Made isSharedSourceNatService a capability of SoureNatService 2011-10-27 16:49:20 -07:00
Sheng Yang bf4e21f315 NaaS: Destroy virtual router when cleanup=true at shutdown
As we did in the restart() function.
2011-10-27 16:45:34 -07:00
Sheng Yang e1e96c0bb3 NaaS: Add ServiceProviders
Added PortForwardingServiceProvider, StaticNatServiceProvider, rename
PasswordServiceProvider to UserDataServiceProvider(may rename to a better name
later).

Add related function for service providers.
2011-10-27 11:55:10 -07:00
Sheng Yang b369e45c78 NaaS: Remove some configure items for virtual router
DHCP range, domain name, etc. are the property of network, not virtual router
specific.

The focus of virtual router configuration would on separate enable/disable each
service it provided.
2011-10-27 11:55:03 -07:00
alena 95bac58076 Cleanup firewall/pf/lb/vpn rules as a part of networkShutdown 2011-10-26 18:00:22 -07:00
Murali Reddy a48ee9c568 add support for multiple provider instanes per physical network
refactor NetworkDevicemanager and ExternalnetworkdeviceManager in to one single manager
2011-10-27 03:07:30 +05:30
alena 525a0a7675 1)Changed implementation for restart network: call shutdown/implement methods as a part of it
2)Re-apply all existing firewall rules as a part of implement call. TODO: Cleanup all existing rules from the backend (leave them in the DB) as a part of shutdown call
2011-10-25 18:24:24 -07:00
prachi 780e0efe79 Removing references to DataCenter - providers, using the networkoffering -> providers map instead.
TODO:
- Still leaving the provider columns in data_center schema as-is for CloudKit and BareMetal
- ExternalNetworkDeviceMgrImpl still needs to fix the dataCenter.setProviders calls and externalNetworkApplicance usage checks to see if zone has external networking.
2011-10-24 18:06:33 -07:00
prachi 766c898504 Changes: DeletePhysicalNetwork changes and Configuring NetworkMgr to hold map of providers -> elements 2011-10-24 18:03:18 -07:00
alena 75c8e33226 Removed guestIpType from network/networkOffering 2011-10-24 17:05:00 -07:00
Murali Reddy aa808f5685 -Added LB serive provider (seperating it out from Firewall service provider)
-Bringing add/delete/list of all external network devices under one unified API's (addNetworkDevice, deleteNetworkDevice, listNetworkDevice)
-Refactoring External network manager to work from both sets of API's add/delete/list NetworkDevice and add/delete/list External Firewall/LoadBalancer
2011-10-21 18:15:36 +05:30
prachi 0d7ddb5d58 Changes:
- Make all API commands Async and add events
- Make BroadcatsDomainRange case insensitive
- Process all _networkElements to build the Service -> Provider map during NetworkMgr::configure()
2011-10-20 17:11:30 -07:00
Sheng Yang 21344e3c36 NaaS: Remove some API test code 2011-10-20 15:19:00 -07:00
Sheng Yang 2ebb719aba NaaS: Add configuration for virtual router elements 2011-10-20 13:59:23 -07:00
Sheng Yang fdc354adb5 NaaS: Add VirtualRouterElements table
It would cover the configuration of DHCPElement, VirtualRouterElement and
RedundantVirtualRouterElement.

Also add foreign key in domain_router table to reflect the domain_router is
created from which element and use what configuration.
2011-10-20 13:59:02 -07:00
Sheng Yang 04f106a595 NaaS: Configure commands for DhcpElement, VirtualRouterElement and RedundantVirtualRouterElement
Add configure command for these virtual router based elements. The commands
should be different for different elements.

The context of configuration would be added later.
2011-10-20 13:58:54 -07:00
alena c00058adc2 Added type (Shared/Isolated) to the networkOffering/networks 2011-10-13 17:33:41 -07:00
alena 7433d5314a 1) Refactored networkOfferings:
* moved all services to the separate table, map them to the network_offering+provider.
* added state/securityGroupEnabled properties for the networkOffering
* added ability to list by state/securityGroupEnabled in listNetworkOfferings api command

2) New service: SourceNat
2011-10-12 16:38:59 -07:00
Sheng Yang b2a007dc3c NaaS: Remove IsServiceProvider() functions
If the element is the service provider for this network, then can be tell from
network offering. We don't need these functions in the interface.
2011-10-11 14:04:13 -07:00
Sheng Yang 30d48c40b3 Network as a service(NaaS): Separate redundant virtual router as a standalone element
Since we would introduce a way to specify each service provider in the network
offering, it's better for redundant virtual router as a separate service
provider.

Also isRedundant() flag in the network offering would be removed. Redundant
virtual router temporality won't work from now. Until we're able to add
different network elements/service providers in network_offering.
2011-10-10 15:41:07 -07:00
Sheng Yang 0121c0516d Network: Add Service providers
In the past, the NetworkElement would cover almost all the functionality that
e.g.  virtual router can cover: firewall, source NAT, static NAT, password,
VPN... So anyone want to implement the NetworkElement would have to implement
these service's specific methods, even it wouldn't support it. Also, if we want
to find a e.g. FirewallServiceProvider, we have to proceed all the current
network service providers, to call a method to know if it support such service.
That's neither elegant nor scaling way to do it.

As the first step, this patch separates each ServiceProvider from NetworkElement
(there are some interface already out of NetworkElement, so this patch slightly
modifies them too), and only the class would implement the correlated interface, would
have the ability to do these services.
2011-10-10 11:45:39 -07:00
Sheng Yang 1fb5030cca Clean up global redundant_router config item
We would use network_offering option in 3.0 instead.
2011-09-27 16:50:24 -07:00
Sheng Yang c67594ef50 bug 11300: Make restartNetwork destroy and recreate DHCP server
status 11300: resolved fixed
2011-09-15 11:56:31 -07:00
Murali Reddy bb7b6d5eee fixing build break due to commit edbd3a862ce16cce1b22f54c843d33f8f6cf809c 2011-09-15 11:40:46 +05:30
Sheng Yang f19fca6ec6 Fix restartNetwork wrongly report stop failure 2011-09-14 16:24:43 -07:00
Sheng Yang 474d1a6034 bug 11307: Add destroyRouter command 2011-09-14 16:23:42 -07:00
Sheng Yang 684a603a6e bug 11307: Add cleanup parameter to restartNetwork command
Default set it to true. When cleanup=false, restartNetwork would only
re-implement the network, but don't destroy current existed routers.
2011-09-14 16:23:34 -07:00
Murali Reddy 9abb544865 bug 6876: netscaler MPX & VPX support
- adding supprt for Netscaler VPX & MPX load blancers
    - implemented for virtual networking
    - works only with new fetched public IP, inline support is not added yet
2011-08-30 00:14:05 +05:30
Murali Reddy 9a10f2b402 bug 6876: netscaler MPX & VPX support
- adding supprt for Netscaler VPX & MPX load blancers
- implemented for virtual networking
- works only with new fetched public IP, inline support is not added yet

more details will be added in the bug
2011-08-29 19:26:08 +05:30
frank b3478c377e Full opensource 2011-08-23 19:52:19 -07:00
alena d3eb9db7fa bug 11204: when search for domR/dhcp, include Role to the corresponding search to eliminate getting "LB" network element in the response
status 11204: resolved fixed

Conflicts:

	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
2011-08-23 12:05:53 -07:00
alena 8a7feb8ec1 Merge branch '2.2.y'
Conflicts:
	agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java
	api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
	api/src/com/cloud/agent/api/to/FirewallRuleTO.java
	api/src/com/cloud/agent/api/to/IpAddressTO.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/api/ResponseGenerator.java
	api/src/com/cloud/api/commands/CreateFirewallRuleCmd.java
	api/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java
	api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java
	api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/ListCapabilitiesCmd.java
	api/src/com/cloud/api/commands/UpdateNetworkCmd.java
	api/src/com/cloud/api/response/CapabilitiesResponse.java
	api/src/com/cloud/network/Network.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/firewall/FirewallService.java
	api/src/com/cloud/network/lb/LoadBalancingRule.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	api/src/com/cloud/network/rules/FirewallRule.java
	api/src/com/cloud/network/rules/RulesService.java
	api/src/com/cloud/offering/NetworkOffering.java
	client/tomcatconf/commands.properties.in
	cloud.spec
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	core/src/com/cloud/vm/DomainRouterVO.java
	debian/cloud-deps.install
	patches/systemvm/debian/config/etc/init.d/cloud-early-config
	patches/systemvm/debian/config/root/ipassoc.sh
	patches/systemvm/debian/config/root/loadbalancer.sh
	scripts/vm/hypervisor/kvm/rundomrpre.sh
	scripts/vm/hypervisor/xenserver/vmops
	server/src/com/cloud/agent/manager/AgentAttache.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/agent/manager/AgentMonitor.java
	server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
	server/src/com/cloud/alert/ClusterAlertAdapter.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/cluster/ClusterManagerImpl.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManager.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
	server/src/com/cloud/host/dao/HostDaoImpl.java
	server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java
	server/src/com/cloud/network/LoadBalancerVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDao.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/element/DhcpElement.java
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/FirewallManager.java
	server/src/com/cloud/network/rules/FirewallRuleVO.java
	server/src/com/cloud/network/rules/PortForwardingRuleVO.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/rules/StaticNatRuleImpl.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/server/ConfigurationServerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/StorageManager.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java
	server/src/com/cloud/storage/download/DownloadMonitorImpl.java
	server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	server/src/com/cloud/upgrade/dao/Upgrade228to229.java
	server/src/com/cloud/upgrade/dao/Upgrade229to2210.java
	server/src/com/cloud/user/AccountManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/src/com/cloud/vm/dao/DomainRouterDao.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
	setup/db/create-index-fk.sql
	setup/db/create-schema.sql
	setup/db/db/schema-222to224.sql
	setup/db/db/schema-227to228.sql
	setup/db/db/schema-228to229.sql
	setup/db/db/schema-229to2210.sql
	tools/testClient/README
	ui/scripts/cloud.core.instance.js
	utils/src/com/cloud/utils/SerialVersionUID.java
	utils/src/com/cloud/utils/db/ConnectionConcierge.java
	utils/src/com/cloud/utils/db/Merovingian2.java
	utils/src/com/cloud/utils/db/Transaction.java
	utils/src/com/cloud/utils/nio/Link.java
	utils/src/com/cloud/utils/nio/NioConnection.java
	utils/src/com/cloud/utils/time/InaccurateClock.java
2011-08-22 20:28:30 -07:00
Sheng Yang 9366290423 Fix NPE when a router is fail to start
Also enforce the check for restartNetworkCommand
2011-08-16 11:43:47 -07:00
Sheng Yang b10f560be5 Fix NPE when a router is fail to start
Also enforce the check for restartNetworkCommand
2011-08-16 11:43:36 -07:00
Sheng Yang bb6c2d48f5 bug 11122: Fix router startup
The new created router got hostId = 0.

status 11122: resolved fixed

Conflicts:

	server/src/com/cloud/network/element/VirtualRouterElement.java
2011-08-13 00:21:35 -07:00
Sheng Yang 08a2f30785 bug 11122: Fix router startup
The new created router got hostId = 0.

status 11122: resolved fixed
2011-08-13 00:15:53 -07:00
alena 278f2a401f bug 10561: intermediate checkin for enable/disableStaticNat.
1) On enableStaticNat command we actually send the command to the backend (we used to just upgrade the DB in the past). The backend command carries sourceIp and destIp, and creates IP to IP mapping on the domR.
2) On disableStaticNat for the Ip address in addition to cleaning up port ranges, we also delete IP to IP mapping on the domR.
2011-08-11 10:19:22 -07:00
alena 3c29f00de1 bug 11013: Basic zone setup - pass domRs from other pods to addVirtualMachineToNetwork() method only when network.dns.basiczone.updates is set to "all"
status 11013: resolved fixed
2011-08-10 16:03:48 -07:00
Sheng Yang 94f93a60c3 Clean up restart Network 2011-08-10 15:02:58 -07:00
Sheng Yang 18f2df44a1 Clean up restart Network 2011-08-10 15:02:08 -07:00
Sheng Yang 9569a7bbee Clean up VirtualRouterElement.restart() 2011-08-10 13:24:00 -07:00
Sheng Yang bcf5058eda Clean up VirtualRouterElement.restart() 2011-08-10 13:23:30 -07:00
alena 4c4bff1c1e Fixed restarNetwork for networks of type Direct - was broken with checkin bfdb4d2d989ed00adcbbf5455731cc2980afcb7b 2011-08-09 15:51:57 -07:00
alena 2fef12e3ac Fixed the bug when domR was re-created as a part of implement() method in network gurus with sourceNatIp address belonging to incorrect user (System user instead of network owner).
Conflicts:

	server/src/com/cloud/network/element/DhcpElement.java
	server/src/com/cloud/network/element/VirtualRouterElement.java
2011-08-09 15:51:57 -07:00
alena 6b9603bc4c bug 10561: intermidiate checkin for FirewallRuleFeature
1) Added new apis: createFirewallRule, deleteFirewallRule, listFirewallRules
2) Modified existing apis - added boolean openFirewall parameter to createPortForwardingRule/createIpForwardingRule/createRemoteAccessVpn. If parameter is set to true, open firewall on the domR before creating an actual PF rule there
Modified backend calls appropriately.
3) Schema changes for firewall_rules table:
* startPort/endPort can be null now
* added icmp_type, icmp_code fields (can be not null only when protocol is icmp)
4) Added new manager - FirewallManagerImpl

Conflicts:

	api/src/com/cloud/api/BaseCmd.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
2011-08-09 15:51:56 -07:00
Chiradeep Vittal 64efcf0443 Merge branch '2.2.8' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into 2.2.8 2011-08-08 22:42:10 -07:00
Chiradeep Vittal 924961d898 merge nectarine 2011-08-08 21:45:37 -07:00
alena ae9ba8996a Fixed restarNetwork for networks of type Direct - was broken with checkin bfdb4d2d989ed00adcbbf5455731cc2980afcb7b 2011-08-08 21:33:34 -07:00
alena c5502fb8aa Fixed the bug when domR was re-created as a part of implement() method in network gurus with sourceNatIp address belonging to incorrect user (System user instead of network owner). 2011-08-08 21:17:24 -07:00
alena 06d007337a bug 10561: intermidiate checkin for FirewallRuleFeature
1) Added new apis: createFirewallRule, deleteFirewallRule, listFirewallRules
2) Modified existing apis - added boolean openFirewall parameter to createPortForwardingRule/createIpForwardingRule/createRemoteAccessVpn. If parameter is set to true, open firewall on the domR before creating an actual PF rule there
Modified backend calls appropriately.
3) Schema changes for firewall_rules table:
* startPort/endPort can be null now
* added icmp_type, icmp_code fields (can be not null only when protocol is icmp)
4) Added new manager - FirewallManagerImpl
2011-08-08 20:59:40 -07:00
Chiradeep Vittal 8277584b8a merge ELB / nectarine branch 2011-08-08 15:20:56 -07:00
alena 8d47c53735 Revert "bug 10435: removed vpn feature"
This reverts commit ea9e1b5d138950e8de49fce7ffdbb12a1c72c560.

Conflicts:

	api/src/com/cloud/api/ResponseGenerator.java
	scripts/vm/hypervisor/xenserver/vmops
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2011-08-02 18:12:57 -07:00
Chiradeep Vittal 94be1584ac fix build, better names 2011-07-28 10:20:58 -07:00
Chiradeep Vittal fae6fa790c ELB VM: implement delete LB by deleting ELB vm
in the future we will manage a pool of vms more intelligently
2011-07-28 00:15:16 -07:00
Chiradeep Vittal b240c4a645 WIP: make creating an ELB bullet proof 2011-07-27 21:11:26 -07:00
Chiradeep Vittal 2447830c55 fix network type check 2011-07-27 12:00:07 -07:00
Chiradeep Vittal cd8e069f80 Acquire an ip and launch an ELB vm 2011-07-27 12:00:07 -07:00
Sheng Yang 8d2e41abd1 bug 10429: Enable redundant virtual router for 2.2.9
status 10429: resolved fixed
2011-07-19 15:06:20 -07:00
Sheng Yang 0449ba6c8c Fix restartNetwork command on destroying virtual router 2011-07-19 11:56:02 -07:00
Sheng Yang aa8fc81790 Fix restartNetwork command on destroying virtual router 2011-07-19 11:55:16 -07:00
Sheng Yang 3100d4b22f Update RestartNetworkCmd to reimplment the network
Because the redundant router config may change.

Back port from 8c7c9a4b499ceee8a07f1f3a2b908d4a128aef32 partly.
2011-07-19 10:53:21 -07:00
Sheng Yang 978b2640e2 Backport VirtualNetworkApplianceManager
Also:
1. Discard VPN related change.
2. Add network.dns.basiczone.updates in Config.java
3. Add findByNetworkOutsideThePod() for DomainRouterVO

Tested with VLAN and basic mode, works.

Disable redundant virtual router temporaily, would enable it after more testing.
2011-07-18 18:30:05 -07:00
Sheng Yang 4bc8686513 bug 10429: Backport redundant virtual router
Part 1

This backport contained:

commit 52317c718c25111c2535657139b541db0c9d1e1f
    bug 9154: Initial check in for enabling redundant virtual router

commit 54199112055d754371bfb141168fb5538bf6d6ea
    Add host verification for CheckRouterCommand

commit cef978a228c90056ead9be10cbc4de74c2b8de76
    Fix CheckRouterAnswer's isMaster report

commit 4072f0a6991ac3b63601a1764fbe14188965f62f
    Some build fixes and code refactoring for redundant router

commit 4d3350b7cd8ee2706a9bace4437fc194e36c8dd5
    Redundant Router: Fix OVS

commit 6a228830e7c46d819fa0c3317e159e041337e887
    Fix findByNetwork()/findByNetworkAndPod()'s return

commit c627777b3d5bdbcd60db4032cebd349a5b1ecd83
    Redundant Router: Fix isVmAlive()

commit e1275d2514adc41f8744f5107d4069c38be195f1
    Only issue CheckRouterCommand to redundant routers

And all modification to the scripts till
commit 4e3942462ed3fde3a3d7011e95839e2128fba514
logging changes

in the master branch.
2011-07-18 18:29:56 -07:00
alena 0d84cde633 bug 10409: added domainSuffix parameters to account/domain objects 2011-07-15 14:40:39 -07:00
alena 21afc889d0 bug 10438: always return success on disableAccount when it got disabled successfully in the DB. If his vms failed to stop on the backend, mark account for cleanup and let background thread to do the cleanup job
status 10438: resolved fixed
2011-07-15 14:27:58 -07:00
kishan b8a19e73af bug 6128: Throw exception when applying port forwarding rule fails
status 6128: resolved fixed
2011-07-12 16:41:17 +05:30
alena 50dce6d5a0 bug 10438: always return success on disableAccount when it got disabled successfully in the DB. If his vms failed to stop on the backend, mark account for cleanup and let background thread to do the cleanup job
status 10438: resolved fixed
2011-07-11 17:45:50 -07:00
alena 74f34a0e0c bug 10435: removed vpn feature
status 10435: resolved fixed
2011-06-24 09:18:46 -07:00
Sheng Yang 6e405efe01 bug 10311: Update UpdateNetworkCmd, allow change networkOfferingId
And restart/re-implement the network if networkOfferingId is changed.
2011-06-22 15:30:39 -07:00
Sheng Yang be216bf975 bug 9154: Add redundancy capability to VirtualRouterElement
Also move redundancy checking to VirtualRouterElement
2011-06-20 14:47:22 -07:00
Sheng Yang 470c80a2c6 bug 9154: Update addVirtualMachineIntoNetwork to accept routers as parameter 2011-06-20 14:47:22 -07:00
alena 53bdd625b8 bug 9579: allow domain name suffix update for existing networks.
Block update only in these cases:

* when DNS capability AllowDnsSuffixModification is false for the network
* when target network has running network elements (dhcps or domRs)

Conflicts:

	server/src/com/cloud/vm/dao/DomainRouterDao.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
2011-06-09 16:24:48 -07:00
alena b9325a28dd bug 9579: allow domain name suffix update for existing networks.
Block update only in these cases:

* when DNS capability AllowDnsSuffixModification is false for the network
* when target network has running network elements (dhcps or domRs)
2011-06-09 16:10:24 -07:00
Sheng Yang 872116890b Fix findByNetwork()/findByNetworkAndPod()'s return
Add null check and some missed empty check.
2011-06-08 11:45:42 -07:00
Sheng Yang 62ac899091 bug 9154: Initial check in for enabling redundant virtual router
This patch enable redundant virtual routers.

1. To enable this feature, db need to be updated using follow SQL by now(we
would get a UI way later):

UPDATE network_offerings SET redundant_router=1 WHERE guest_type="Virtual" AND
system_only=0;

2. System would try to start up two routers at different hosts. But if there is
only one host in the zone, system would start up two routers on it.

3. The failover part is using keepalived, and connection tracking part is using
conntrackd. There would be one master router and one backup router. The status
of router(master or backup) can be query from the database table domain_router
now. Management server would update the status every 30s by default.

4. The routers for the same zone would use same external NIC(same ip and mac).
The script used for fail-over would ensure only one external NIC present in the
network at any time.

5. Currently management server don't got the ability to stop one of router is
both of them reported as master. The feature is in the todo list.

After two routers start up, disconnect anyone of them, the guest network
shouldn't be affected, and established connection(http, ssh, etc.) should still
works. The fail-over on gateway part should be 3~4 seconds.

Currently the patch works with KVM. Would deal with vmware and XenServer soon.
2011-06-07 14:47:45 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
alena 96e83fe97f bug 8146: Elastic IP support in Basic zone.
Following was done as a part of checkin:

1) NetworkOffering/Network:

* add PF service support for default Guest network offering.
* Add one more additional network - Public.
* Allow to enable external firewall in Basic zone.

2) Don't allow to deployVm in Public Network.
3) Allow to add vlan ip ranges to Public networks in Basic zone.
4) Associate IP - allow to associate with Direct vms.
5) Allow to create PF/Static nat rules. Rules are being sent to External Firewall Rule only.
6) Add PF support to External Firewall element.
2011-03-17 17:19:36 -07:00
Frank ffb900fc86 Bug 8208 - bare metal provisioning
Add useExternalDhcp option to createPodCmd
2011-03-14 16:42:59 -07:00
Frank 6c819c1491 Merge branch 'bareMetal'
Conflicts:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/DeployVMCmd.java
	api/src/com/cloud/offering/ServiceOffering.java
	api/src/com/cloud/vm/UserVmService.java
	client/tomcatconf/components.xml.in
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/service/ServiceOfferingVO.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
2011-03-08 14:18:11 -08:00
alena f395005e0a bug 8781: set dhcp/dns/userData providers to be DhcpServer in Basic zone; all other providers have to be null
status 8781: resolved fixed
2011-03-01 09:00:47 -08:00
Frank 5035778b1a Bug 8208 - bare metal provisioning
StartCommand cloud reach to BareMetalResrouce
2011-02-24 19:22:34 -08:00
alena c11a9c18e2 bug 8381: disassociateIpAddress is async now 2011-02-15 12:24:18 -08:00
alena d80caf24fd bug 8564: Changed implementation for static nat rules. Now we use separate interfaces instead of PortForwardingRules interfaces.
status 8564: resolved fixed
2011-02-15 10:45:28 -08:00
alena 3328ec5d2d Fixed the bug when dhcp server wasn't started for Direct netwok on JuniperSrx setup 2011-02-10 19:12:10 -08:00
Alex Huang b92fc074aa added forced paramter to stop apis 2011-02-08 15:38:26 -08:00
Alex Huang b322fb072f bug 8186: Changed the investigator to use the new networking 2011-02-07 16:04:23 -08:00
Frank 4c7fb08b33 Add OvsElement.java 2011-02-03 18:28:33 -08:00
alena 6544820e74 Moved networkRestart to the NetworkManager as it's up to the manager (not network elements) to decide what to do on restart (IpAssoc/ruleApply/etc..) 2011-02-01 12:16:19 -08:00
alena f6f8a35c75 bug 8251: introduced "id" field for public IP address. In the DB id is a primary key in user_ip_address table; ip_address and source_network_id is a composite key
status 8251: resolved fixed
2011-02-01 12:16:18 -08:00
alena 52dd679d95 bug 8185: fixed java part of password reset feature. There are still changes needed in backend scripts (bugs 8253 and 8254 are filed separately)
status 8185: resolved fixed
2011-01-27 17:24:09 -08:00
alena 3a008ee699 Changed restartNetwork command flow:
* API requires network id to be passed in (it was optional before)
* restartNetwork calls restart() method of all network elements in the system, and it's up to the element to decide which actions to take on the restart (for example, for Virtual Router it's IPAssoc/applyPF/applyLBRules).
2011-01-24 18:37:57 -08:00
Alex Huang 2466589e2f removed unused domain_router_id from uservm 2011-01-24 16:56:00 -08:00
alena 632d3c67f1 bug 6689: release source nat ip address as a part of domR/dhcp destroy
status 6689: resolved fixed

Changes to destroyNetwork process. Here are the steps:
* shutdown network - shutdowns all network elements (domRs/Dhcps)
* delete network - destroy all network elements, cleanup network's resources (vlans, ip ranges), mark network with Destroyed state and set Removed field
2011-01-18 19:31:04 -08:00
Kelven Yang 256e26ff61 Waiting virtual router to be ready in a outer place instead of inside VirtualNetworkApplianceImpl. This is to fix the the blocker issue of unable to deploy VM/start DomR 2011-01-12 12:31:19 -08:00
Frank ec643c7e59 bug 7722: open vswitch - refine code; add normal flow makes vswitch work as
normal L2/L3, otherwise the output packet cannot find right output port
2011-01-08 16:28:47 -08:00
Frank 6f9f8b145b bug 7722: open vswitch - complete 2011-01-08 16:28:47 -08:00
Frank 9d2916ffcc it works 2011-01-08 16:28:47 -08:00
Frank c94b6acadf bug 7722: open vswitch - works at VM start time, need fullsync() and flow clean in next 2011-01-08 16:22:59 -08:00
Frank 5c01c42ba7 fix bug 7722, code complete basic architecture 2011-01-08 16:20:39 -08:00
alena d0687f663f bug 7863: fixed router cleanup thread
status 7863: resolved fixed

Router cleanp thread is fixed, here is functionality description:

* Runs every "router.cleanup.interval" period of time (1 day by default)
* Stops only domRs running in Advance zone
* Thread Flow:
- gets all Running domRs/dhcps, get their networks, select network that
has to be checked (see criteria below):
- checks that there is only one nic in the op_networks table for the
network, and this nic belongs to domR/dhcp
- Stops domR/dhcp
* Criteria to choose the network:
- Network has to be non-system.
- Network should be one of the following: Guest Virtual (TrafficType=Guest; GuestType=Virtual); Direct Tagged (TrafficType=Public; GuestType=Direct)

Couple of other fixes:

* Added isShared parameter to listNetworks command
* Moved guestType from NetworkOffering to Network
2011-01-07 16:57:47 -08:00
alena 916b516d13 bug 7878: Fixed Basic zone functionality - uservm/systemvm/domR start
status 7878: resolved fixed
2011-01-06 15:44:13 -08:00
Alex Huang 4eba6d10d7 Moved State into VirtualMachine like other States of objects 2011-01-04 15:01:34 -08:00
alena 0b7a15ab99 bug 7348: reapply PortForwardingRules (including 1-1 Nat), LB rules, Vpn as a part of domr Stop/Start
status 7348: resolved fixed

More fixes:
* Update user_statistics on each domR stop/reboot
* Reset dhcpData/userData as a part of domR stop/reboot
* More logging for domR commands
2011-01-03 23:00:05 -08:00
Alex Huang da4ed648ac consolidated all of the vm destroy, cleanup and account cleanup. 2010-12-30 05:46:54 -08:00