Commit Graph

527 Commits

Author SHA1 Message Date
Alena Prokharchyk c19639e4a2 Static route can be created for generic VpcGateway now, not just Private gateway 2012-06-28 17:17:44 -07:00
Alena Prokharchyk b03265bc76 VPC: implemented vpc cleanup thread that cleans up Inactive VPCs (that were failed to delete) 2012-06-28 10:18:14 -07:00
Alena Prokharchyk 1a232171eb VPC: implementation for Add/delete/list StaticRoute. Agent implementation is yet to be done 2012-06-28 10:11:41 -07:00
Murali reddy 8197f1f07c moving out VMWAre and Nexus VSM support code into plugins/hypervisors/vmware 2012-06-26 19:48:55 -07:00
Alena Prokharchyk ce876e24de VPC: intermidiate checkin to Static Routes
Conflicts:

	api/src/com/cloud/api/ApiConstants.java
2012-06-25 21:00:57 -07:00
Alena Prokharchyk d35eb73c9b VPC: initial checkin for Static Routes
Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2012-06-25 20:59:33 -07:00
Alena Prokharchyk dc04e0b2e5 VPC: listPrivateGateways API implementation 2012-06-25 20:57:09 -07:00
Alena Prokharchyk 030458a37b VPC: implemented add/delete Private gateway
Conflicts:

	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/dc/DataCenterVO.java
	server/src/com/cloud/network/NetworkManagerImpl.java
2012-06-25 20:54:14 -07:00
Alena Prokharchyk 1b1e52ddb0 VPC: apply firewall ACLs as a part of VPC router start/restart and VPC network implement
Conflicts:

	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
2012-06-25 20:47:29 -07:00
Alena Prokharchyk ccec9192a2 VPC: implemented delete and list Network ACL(s) 2012-06-20 17:20:04 -07:00
Alena Prokharchyk 374a600746 VPC: initial checkin for network ACLs
Conflicts:

	client/tomcatconf/commands.properties.in
2012-06-20 17:19:49 -07:00
Alena Prokharchyk 810151586b 1) Allow having multiple shared networks with the same vlan
2) Added new parameter to listNetworks command - canUseForDeploy(boolean). When true, list only networks that can be used for vm deployment (networks have enough ip addresses to allocate from for the vm)

Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/IPAddressDao.java
2012-06-15 16:47:13 -07:00
Alena Prokharchyk 9ae62d32cd Isolated non-vpc networks: start router with 3 nics from the very beginning 2012-06-15 14:33:14 -07:00
Alena Prokharchyk b3985a3b48 Added new capabilities to VPN and Firewall services defining if VPN is S2S or Remote access, and if the Firewall rules should be created per cidr or per public ip address 2012-06-15 14:33:06 -07:00
Alena Prokharchyk 982562b9fb VPC: ipAssoc consists of 3 parts: plug nic (if needed), associateIp, enableSourceNat(if ip is source nat ip)
Conflicts:

	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2012-06-15 14:31:58 -07:00
Alena Prokharchyk aa84256542 1) Added VpcVirtualNetworkApplianceService interface
2) Pass dns1/dns2 to setupGuestNetworkCommand
3) Network implement - don't get source nat ip address for Vpc if it already has one
2012-06-15 14:27:00 -07:00
Alena Prokharchyk 72974831a0 Modified virtual router startup procedure - initial start happens with control nic only; then we plug Public and then Guest nic to it 2012-06-15 14:22:19 -07:00
Alena Prokharchyk 0a7faa9838 Support for adding private network
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade2214to30.java
2012-06-15 14:20:34 -07:00
Alena Prokharchyk 929997f54e AssociateIpAddress to VPC - the ip gets associated to the network only when the first rule for the ip gets created.
When the last rule is removed for vpc ip, networkId is set to null

Conflicts:

	api/src/com/cloud/api/commands/AssociateIPAddrCmd.java
	api/src/com/cloud/api/commands/EnableStaticNatCmd.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/rules/RulesService.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-06-15 14:18:24 -07:00
Alena Prokharchyk 9ec8526281 1) Added VPC restart support - new api command RestartVPC. The purpose of the call is to shutdown and start VPC including VPCVirtualRouter restart, rules re-implement, etc
2) Only networks created from offerings with conserveMode=false, can participate in VPC
2012-06-15 14:10:09 -07:00
Alena Prokharchyk b9a4e79277 1) Added search by vpcId to listRouters/listNetworks Apis
2) Don't allow to add new networks/implement existing ones for VPC in Disabled state. Disabled state indicates that there was unsuccessful attempt to remove the VPC, and the further cleanup will be taken care of by cleanup thread.

Conflicts:

	server/src/com/cloud/network/dao/IPAddressDao.java
	server/src/com/cloud/server/ManagementServerImpl.java
2012-06-15 14:09:37 -07:00
Alena Prokharchyk d5507e1379 Support for delete VPC 2012-06-15 14:08:26 -07:00
Alena Prokharchyk f28cefc4c3 Added support for network shutdown in VPC guest networks 2012-06-15 14:07:59 -07:00
Alena Prokharchyk d9fd7e02a5 Plug nic support
Conflicts:

	server/src/com/cloud/consoleproxy/AgentBasedConsoleProxyManager.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
2012-06-15 14:07:46 -07:00
Alena Prokharchyk f4060c3c1d 1) Added new element - VpcVirtualRouterElement. Extends VirtualRouter + has plug/unplug nics support
2) Added services api support for plugging/unplugging the nics to VpcElement

Conflicts:

	api/src/com/cloud/network/NetworkService.java
	core/src/com/cloud/vm/VMInstanceVO.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-06-15 14:04:09 -07:00
Alena Prokharchyk 9debd3a5df 1) Added start logic to the VPC
2) VirtualRouterManagerImpl - refactored deployVirtualRouter method
3) Added vpcId to domain_router/user_ip_address tables and corresponding vo objects

Conflicts:

	server/src/com/cloud/network/IPAddressVO.java
2012-06-15 13:56:05 -07:00
Alena Prokharchyk 998cf66e6c Removed network_id reference from domain_router table as now VirtualRouter can be associated with multiple networks (VPC case). Code modifications were done accordingly to the places where this field was used.
Router->Networks (one to many) are held in router_network_ref table now
2012-06-15 13:54:48 -07:00
Alena Prokharchyk 60b52f90dd Initial checkin for VPC feature:
1) Added API frameworks for the feature. New commands:
* CreateVPCCmd
* ListVPCsCmd
* DeleteVPCCmd
* UpdateVPCCmd
* CreateVPCOfferingCmd
* UpdateVPCOfferingCmd
* DeleteVPCOfferingCmd
* ListVPCOfferingsCmd

2) New db tables:

* `cloud`.`vpc`
* `cloud`.`vpc_offerings`
* `cloud`.`vpc_offering_service_map`

and corresponding VO/Dao objects.

Added vpc_id field to `cloud.`networks` table - not null when network belongs to VPC

3) New Manager and Service interfaces- VpcManager/VpcService

4) Automatically create new VpcOffering (if doesn't exist) on system start

5) New Action events:

* VPC.CREATE
* VPC.UPDATE
* VPC.DELETE

* VPC.OFFERING.CREATE
* VPC.OFFERING.UPDATE
* VPC.OFFERING.DELETE

Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	client/tomcatconf/commands.properties.in
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	setup/db/create-schema.sql
2012-06-15 13:53:59 -07:00
David Nalley c15948a3ef committing Chip Childers patches fixing licensing headers
Applying to the following directories:
* api
* deamonize
* agnet
* agent-simulator
* cloud-cli
2012-06-12 12:32:58 -04:00
Vijayendra Bhamidipati 15d0cf782a CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Removed the vcenter_dc_name and vcenter_ipaddr
	fields from the virtual_supervisor_module
	table, the CiscoNexusVSMDeviceVO, addClusterCmd,
	and all other references to these two fields.

	Fixing null pointer exceptions when checking
	for nexus related global parameter values in
	addClusterCmd.

Conflicts:

	api/src/com/cloud/api/commands/AddClusterCmd.java
2012-05-25 18:37:20 -07:00
Vijayendra Bhamidipati e7246847ac CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	Putting in code changes as per Alena's reviews:

	  Replaced references to CiscoNexusVSMDeviceVO
	  in GetCiscoVSMByClusterIdCmd to work with an
	  interface that CiscoNexusVSMDeviceVO instead,
	  since VO objects should not be directly accessed
	  in APIs.

	  Made associated changes in other files.

	More commits incorporating Alena's review comments
	will follow.
2012-05-25 18:23:40 -07:00
Vijayendra Bhamidipati 781f0b4966 Bug CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Description:

	1. Added the PortProfile infrastructure:

	    a. PortProfileVO : The VO class to represent a db
	    record of the table port_profile. Each db record
	    represents one port profile.

	    b. PortProfileDao: The interface that declares search
	    functions on the port_profile table.

	    c. PortProfileDaoImpl: The class that defines the
	    interfaces declared in PortProfileDao.

	    d. PortProfileManagerImpl: The class that contains
	    routines that will add or delete db records from
	    the port_profile table. If you want to create/delete
	    a portprofile, call functions from this class.

	    e. Changes to create-schema.sql to create the port_profile
	    table.

	2. Cleaned up code:

	    a. Removed a number of unused Dao and Manager objects in
	    CiscoNexusVSMDeviceManagerImpl.

	    b. Removed the ListCiscoNexusVSMNetworksCmd command.

	    c. Removed a bunch of import statements in a few files.
2012-05-25 17:17:56 -07:00
Vijayendra Bhamidipati 32ba2ef17a CS-9919: Support for Nexus Swiches (Cisco Vswitches)
Reviewed by: Sateesh Chodapuneedi, Devdeep Singh

Description:

This is the first in a series of commits for integrating the
Cloudstack Management Server with the Nexus 1000v Virtual
Supervisor Module.

These changes introduce the necessary API command interfaces
to work with a Cisco N1KV VSM. The backend logic is still to
be put in and will be incorporated in subsequent commits.
Please do not attempt to use these APIs until then. Also,
these are not yet filled in into commands.xml, so they are
not currently exposed.

Additional APIs would be added if required.

These changes will not break any current management server
functionality.

Given below is a description of the changes put in here:

	Added Cisco N1KV commands to core/api:
	    These are the added commands -

		AddCiscoNexusVSMCmd
		DeleteCiscoNexusVSMCmd
		ConfigureCiscoNexusVSMCmd
		ListCiscoNexusVSMCmd
		ListCiscoNexusVSMNetworksCmd

	Added a Network Element service file for Cisco N1KV.

	Declared the interface functions that we'll need for
	the N1KV VSM.

	Defined a DeviceVO file for the Cisco Nexus Element.

	Created a response file for Cisco Nexus VSM.

	Created new event types for external Switching Management devices.

	Put in logic to call interface methods in ListCiscoNexusVSMNetworksCmd
	and ListCiscoNexusVSMCmd

NOT VSM RELATED:
	Fixed minor typo in some of the event types for external load balancers.

       Added properties of a VSM in the VSM VO class.

       Replaced the "url" input parameter by "ipaddress"
       in the AddCiscoNexusVSMCmd API.

       Added a new file - CiscoNexusVSMElement.java to
       contain the implementation of the functions
       declared in the VSMElementService interface, and
       put in implementations of the functions for the
       Nexus VSM API commands. These functions are
       defined in the CiscoNexusVSMElement class.

       Added a class for Port Profiles (PortProfile.java).
       The fields in this class are still not correctly
       declared as of now. We'll make the required changes
       going forward.

	Added CiscoNexusVSMDeviceManagerImpl class.

	Added CiscoNexusVSMResource class.

	Created a new class to provide a package to
	connect to Cisco Nexus VSMs. This will be a
	set of Java wrapper functions that allow us
	to connect/disconnect and send commands and
	receive the results of those commands via
	XML-RPC. These functions are yet to be
	implemented, and will be checked in in future
	commits.

	Added two new classes, VSMCommand and
	VSMResponse, to encapsulate XML-RPCcommands
	and responses to and from a Ciscon Nexus VSM.

	Put in the following function stubs inside the
	CiscoNexusVSMService class:

		connectToVSM()
		disconnectFromVSM()
		executeVSMCommand()

	Added new field in the Type enum of the "Host"
	interface, for Cisco Nexus VSMs.

	Added two parameters to AddCiscoNexusVSMCommand
		vsmName
		zoneId

	Modified the CiscoNexusVSMDeviceVO constructor to
	take in an zoneId as a parameter when creating
	the VO object.

	Added new interface and class for the DeviceDao
	implementation for Cisco Nexus VSM devices:
		CiscoNexusVSMDeviceDao
		CiscoNexusVSMDeviceDaoImpl

	Removed the vsmvCenterDomainId property, since it's
	going to the same as vsmDomainId, which is the VSM's
	switch Domain Id.

	Have started putting in the following query functions
	in the CiscoNexusVSMDeviceDao interface:

	Put in DAO implementations of some of the above functions in the CiscoNexusVSMDeviceDaoImpl class.

	Added a vsmName parameter to the CiscoNexusVSMDeviceVO class.
2012-05-25 17:05:15 -07:00
Murali reddy a4b0759c52 bug CS-14862: EIP/ELB - SSVM and CPVM should be given an ip address from the public ip address range.
With this fix  both SSVM and CPVM will get public IP's in case of basic zone with EIP service.
A static NAT rule is implicitly configured on the EIP service provider to map public IP to a
guest IP address associated with SSVM/CPVM
2012-05-21 20:18:37 +05:30
Salvatore Orlando 64bdbba729 Removing connectivity from service provider list 2012-04-23 22:35:15 +01:00
Salvatore Orlando f66dd8927e Fix conflict resolution errors 2012-04-23 22:33:19 +01:00
Salvatore Orlando b980993864 Adding DB support for interfaces OVS tunnel manager will use as GRE endpoints 2012-04-23 22:33:19 +01:00
Salvatore Orlando 2340ebced3 Now using vnets instead of network id for creating networks
Fixed issues with vif scripts on 5.6FP1
Fixed ipv6 issue on 5.6FP1
Plus other various fixes and improvements

Starting to remove debug code
NOTE: Network is configured correctly but instances do not start. Possibly indefinite wait occuring on some commands
2012-04-23 22:33:18 +01:00
Salvatore Orlando 3eef46f8a9 Open vSwitch tunnel manager
Applying patch with new ovs-tunnel-manager on top of cloudstack oss-master
2012-04-23 22:32:52 +01:00
Salvatore Orlando e2cc2c1f6e Fixing remaining issues with per-VIF flow script and removing version-specific scripts.
Now generating XSnetwork names using gre keys

Plus other minor corrections
2012-04-23 22:32:52 +01:00
Salvatore Orlando 8987499cda Now using vnets instead of network id for creating networks
Fixed issues with vif scripts on 5.6FP1
Fixed ipv6 issue on 5.6FP1
Plus other various fixes and improvements

Starting to remove debug code
NOTE: Network is configured correctly but instances do not start. Possibly indefinite wait occuring on some commands
2012-04-23 22:32:52 +01:00
Salvatore Orlando 8268635846 Adding Missing file to source control 2012-04-23 22:32:16 +01:00
Salvatore Orlando 9f321ffeac Open vSwitch tunnel manager
Applying patch with new ovs-tunnel-manager on top of cloudstack oss-master
2012-04-23 22:32:16 +01:00
David Nalley d5377b0ae3 more line ending fixes 2012-04-06 22:51:32 -04:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
prachi 45c7ad63bf Bug 14299 - Fix adding public ip range per account
Changes:
Fixed as described in the bug.

* CreateVlanIpRangeCmd still accept account/domainId info
* if account owns:
- one Isolated network with source nat service enabled, use this network
- more than one Isolated network with source nat service enabled - error out
- none Isolated networks with source nat service enabled, create it only in
case when there is an Isolated network offering with Availability=Required and
source nat service enabled.
2012-03-21 16:52:32 -07:00
Sheng Yang ec5a225a78 Refactor VirtualRouterNetworkManagerImpl
Refactor applyDhcpEntry and applyUserData to use applyRules framework.
2012-03-12 16:10:48 -07:00
Alena Prokharchyk ad1192e264 bug 14239: limit number of Isolated account specific networks per account
status 14239: resolved fixed

Conflicts:

	api/src/com/cloud/api/commands/CreateNetworkCmd.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-03-12 15:53:30 -07:00
Alena Prokharchyk 2992c608c4 bug 13919: do includingRemoved Nic search when remove firewall rules during the vm expunge
status 13919: resolved fixed
Reviewed-by: Sheng Yang
2012-02-21 18:02:44 -08:00
Alena Prokharchyk 2e9511e2ae Changed isElastic to isSystem for the publicIpAddress assigned during the vm deployment in EIP enabled network
Reviewed-by: Chiradeep
2012-02-21 15:39:49 -08:00
Alena Prokharchyk 31a3b878a3 bug 13864: for elastic IP address return the purpose (staticNat or Lb) in listPublicIpAddresses api response
Reviewed-by: Frank
2012-02-17 15:42:21 -08:00
Alena Prokharchyk 5e9a15c07d bug 13708: make a search by traffic type when locate physical network in the zone
status 13708: resolved fixed
reviewed-by: Prachi Damle
2012-02-14 12:47:33 -08:00
Sheng Yang fadec7afe7 Add "changecidr" parameter for updateNetwork API
CIDR may be different after update to a service offering contained external
network element, user is required to acknowledge this, otherwise the update
won't process
2012-02-08 15:57:50 -08:00
Sheng Yang 9317eb6bc3 Revert dynamic cidr change 2012-02-08 15:54:22 -08:00
Naredula Janardhana Reddy ce22712293 Bug 12812:
Summary of changes:  Database changes will be rollbacked while applying the LB rule to the Netscaler device.
   - Database changes will be rollbacked to previous state during the following Lb API's:
      1) assignVM to LB rule
      2) remove VM from LB rule
      3) updateLb rule
      4) deleteLb rule
      5) create/attach sticky policy to Lb rule
      6) delete sticky policy from Lb rule
   - Database changes of the Lb rule will be not be rolledback during:
       1) Removing IP
       2) removing VM
2012-02-06 19:16:34 +05:30
Alena Prokharchyk 3a87cf8331 Code style fixes for API package 2012-02-03 14:25:26 -08:00
Alena Prokharchyk 1490e45a1c Fixed format style in a bunch of files (replaced tabs with spaces as a part of it) 2012-02-03 13:49:11 -08:00
Naredula Janardhana Reddy aea81205ef Bug 11845:
Summary of Changes:
    - created a generic way for LB rule validations, so as LB device(like Haproxy) specific validations can be done syncronously.
    - Removed asyncronous validations from Haproxy and done syncronously.
2012-02-01 18:01:11 +05:30
Alex Huang c42f50c4b0 Used a different way to allocate guest ip address. not in used yet. 2012-01-30 16:10:10 -08:00
Alena Prokharchyk 03b4ac91e1 Get new elasticIp when disassociateIP is called for static nat non-elastic IP 2012-01-24 15:15:22 -08:00
Alena Prokharchyk 5307d21210 DisableStaticNat: if elasticIP service is enabled for the network offering, always allocate new elastic ip and create static nat rule for it when disableStaticNat is called 2012-01-24 14:06:01 -08:00
Alena Prokharchyk 8bcf30da85 bug 12869: more changes to NAAS feature 2012-01-20 14:16:30 -08:00
Alena Prokharchyk 212c22b256 Added isElastic flag to ip address 2012-01-19 13:58:35 -08:00
Alena Prokharchyk 6325d21c50 Get new elasticIp when releaseIpAddress is called for elasticIP of the vm 2012-01-19 13:58:35 -08:00
Alena Prokharchyk a8758d292e ElasticLB support in Basic zone.
When elb capability is enabled on the network offering, we:

1) on each createLB command:
* associate ip address to the LB rule owner
* create LB rule

2) on each deleteLb command:
* delete the rule
* disassociate ip address

The rule belongs to the owner, so proper usage events are generated
2012-01-19 13:57:37 -08:00
Alena Prokharchyk ff1e8413f1 1) Added StaticNat/Firewall/Lb capabilities to Netscaler element. Renamed it to "NetscalerElement" from NetscalerLoadBalancingElement as it serves more services now
2) Added elasticIp and elasticLb network capabilities. Provided support to create network offering with these capabilities.
3) Added one more default network offering having elasticip and elasticlb
4) Public network support to Basic zone. You can associate/disassociate IP addresses now
2012-01-19 13:56:59 -08:00
Alena Prokharchyk d20e10edd3 bug 12919: pass all lb rules in transition (revoke/add) state to the backend when apply a single LB rule
status 12919: resolved fixed
2012-01-18 14:15:21 -08:00
Alena Prokharchyk 56b3561033 bug 12856: network offerings with services w/o providers support
status 12856: resolved fixed
2012-01-17 16:17:09 -08:00
Alena Prokharchyk adaea570e4 bug 12934: added name to physical network
status 12934: resolved fixed
2012-01-09 14:20:37 -08:00
frank 391f3e8b30 Bug 12777 - Add storage network configuration into CloudStack
fix typo: changing ListTafficTypeImplementorsCmd to ListTrafficTypeImplementorsCmd
2012-01-09 10:53:08 -08:00
Alena Prokharchyk c581506103 bug 12306: list* command revamp 2012-01-09 10:07:42 -08:00
frank 4bb580de86 Bug 12777 - Add storage network configuration into CloudStack
new API: UpdateStorageNetworkIpRangeCmd

Bug 12777: resolved fixed
2012-01-06 11:07:15 -08:00
frank ea422af8a9 Bug 12777 - Add storage network configuration into CloudStack
Let StorageGuru inherit PodBaseNetworkGuru
2012-01-06 11:07:14 -08:00
frank ec7c22f5c7 Bug 12777 - Add storage network configuration into CloudStack
new API: ListTafficTypeImplementors
2012-01-06 11:07:14 -08:00
frank f72940e041 Bug 12777 - Add storage network configuration into CloudStack
most finish
2012-01-06 11:06:18 -08:00
frank 0b01c5dc1a Bug 12777 - Add storage network configuration into CloudStack
create APIs
2012-01-06 11:06:17 -08:00
Sheng Yang 89ca2fe48e bug 12656: Add restriction for network update and new rules
status 12656: resolved fixed
2012-01-05 21:08:41 -08:00
Sheng Yang ba23973d53 bug 12656: Refactor IP associate process
Introduce the concept of Ip Deployer. The IP deployer would be responible for
apply IP to the element. Most element's IP deployer is itself, but it can be
someone else if we want to implement inline mode in the future.
2012-01-05 21:08:28 -08:00
Alena Prokharchyk d4e0fbda83 bug 12686: added search by zoneId to the listNetworkOfferings 2012-01-04 12:31:59 -08:00
Murali reddy 4f058feef2 bug 12276: public IP's should be associated with a network service provider depending on the network rules for which IP is used for 2011-12-19 23:48:52 +05:30
Prasanna Santhanam dac505194c Changes to PhysicalNetworkTrafficType to accomodate the simulator hypervisor type 2011-12-15 19:12:21 +05:30
Alena Prokharchyk 7ff1417cbb bug 12229: added restartRequired field to the network object
The value is set to true when shutdownResources or implementResources fail.
2011-12-09 15:37:11 -08:00
Sheng Yang 7aed9ea76d Add checking for specified cidr when create network and update network 2011-12-06 16:28:57 -08:00
Alena Prokharchyk e89c8725ed Return redundantRouter/sourceNatSupported capabilities as a part of listSupportedNetworkServices 2011-12-06 15:36:02 -08:00
Alena Prokharchyk d836699209 restartNetwork: don't try to disassoc the sourceNat IP on the domR 2011-12-05 17:28:08 -08:00
Alena Prokharchyk 7b8287d323 bug 10804: Api and middle layer support for default route feature 2011-12-05 14:53:45 -08:00
Alena Prokharchyk 0effb82f82 bug 12295: fixed associateIpAddress for projects
status 12295: resolved fixed
2011-12-02 12:08:01 -08:00
Naredula Janardhana Reddy 09905b641b bug 10617: merge code from branch bug10617. 2011-12-01 14:17:52 +05:30
Sheng Yang c5292de0ae NaaS: Restrict the combination that provider can support 2011-11-30 14:53:50 -08:00
Alena Prokharchyk 554946fe8b Allow networkDomain update for Shared networks 2011-11-30 10:34:58 -08:00
Naredula Janardhana Reddy e4b5a62402 bug 10796: merging code from branch 2011-11-30 15:03:43 +05:30
Alena Prokharchyk c2448b7bd4 list Providers by name and state 2011-11-29 09:59:43 -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 d4b1732ff4 NaaS: Fix redundant virtual router 2011-11-16 11:30:09 -08:00
Edison Su b2a5e26c06 bug 10792: add default system wide firewall rule
status 10792: resolved fixed
2011-11-15 16:51:30 -08:00
prachi da846e9c08 Adding UUID to new entities and API commands. PhysicalNetwork, PhysicalNetworkTrafficType, PhysicalNetworkServiceProviders changed. 2011-11-11 13:23:23 -08:00
Naredula Janardhana Reddy f1b99f4f07 Revert "bug 10617: merging code from branch bug10617"
This reverts commit 8bc33448b9220534ba0ddc6c642ffb1e69d5844e.

Conflicts:

	server/src/com/cloud/api/ApiResponseHelper.java
2011-11-11 20:23:26 +05:30
Alena Prokharchyk 039e09ce93 * Introduced aclType parameter for createNetwork command (can hold 2 values now: Account and Domain). This parameter defines the access control type to the network object. If it's account -
only owner of the network can access it; if it's domain - all accounts in the domain and domain children can have an access.
* aclType replaces 2 old fields: isShared and isDomainSpecific.
* All 2.2.x account specific networks will have aclType=Account; 2.2.x Domain specific networks - aclType=domain; 2.2.x Zone level networks - aclType=Domain with domainId = Root domain id
2011-11-10 18:34:56 -08:00
Sheng Yang bde1f6d2de Merge branch 'networkasservice'
Conflicts:
	api/src/com/cloud/api/commands/CreateRedundantVirtualRouterElementCmd.java
	api/src/com/cloud/api/commands/CreateVirtualRouterElementCmd.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	setup/db/create-schema.sql
2011-11-10 16:36:08 -08:00
Alex Huang d6c22c42fe Merge branch 'master' of ssh://git.cloud.com/var/lib/git/cloudstack-oss 2011-11-10 15:26:39 -08:00
Naredula Janardhana Reddy 02adbd4bd3 bug 10617: merging code from branch bug10617 2011-11-10 15:23:48 +05:30
Sheng Yang 5c1773dd26 NaaS: Add response for VirtualRouterProvider 2011-11-09 18:52:34 -08:00
Murali Reddy 53a636518f NAAS: changing sharedsourcenat capability to sourceNat service and changin serviceCapablityList parameter to one level map 2011-11-09 18:44:18 -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 b569a11e45 NaaS: Add DHCP and userdata service provider 2011-11-09 15:23:06 -08:00
Alex Huang 0353133369 Added ways to acquired ip to network guru 2011-11-09 09:37:22 -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 104ed0a2a2 Direct network guru takes care of only sourceNatDisabled networks in Advance zone 2011-11-07 10:54:19 -08: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
alena 9e5a733a34 Fixed NPE in updateNetwork - userCaller wasn't passed in to restartNetworkElements call 2011-11-03 10:53:19 -07:00
alena 3e20c60d6d Fixed vm deployment in Basic zone 2011-11-02 17:02:44 -07:00
alena f42c9e434f Basic zone: the System Guest network offering can be created from any Shared Guest network offering.
Limitation:
* in order to make the networkOffering choice, only one Shared network has to be Enabled at the moment when Basic zone is being created
2011-11-02 15:44:53 -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
alena 2250dff349 1) Removed tags from the network object
2) Get hypervisor tags from the physical network instead.
2011-11-01 17:42:06 -07:00
Alex Huang da78937d30 Removed some useless methods 2011-11-01 16:57:22 -07:00
alena 9560e92015 physicalNetworkId is optional in createNetwork api. Works as follows:
* can be specified for Shared network only
* if not specified for the Shared networks, try to locate it based on the zoneId and tags. If tags is not null, pick up first physicalNetwork from the zone that has matching tags. If tags is null, and there are none/more than 1 physical netwroks in the zone, error out.
2011-11-01 15:49:39 -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
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
prachi 818df189c5 changes to Create Vlan & Public IPs 2011-10-31 09:53:25 -07:00
prachi 6d5601a84d Added commands and framework for PhysicalNetwork trafficTypes 2011-10-27 17:32:15 -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
Sheng Yang 02ada73d89 NaaS: Make applyIp() as a function of FirewallServiceProvider 2011-10-27 16:45:40 -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 07591807af Removing isolationMethods from UpdatePhysicalNetwork API. 2011-10-25 11:39:41 -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
alena abca3dda9d Added ability to list network offerings availabe for network upgrade using listNetworkOfferings command with "networkId" parameter.
Limitations:

* can't upgrade to the network offering with lesser number of services
* can upgrade only when the service provider of the original offering is not external (domR, dhcp, elb) to the external type of the provider
2011-10-21 15:36:01 -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
alena 219978a9be Create network using physical network id 2011-10-20 18:25:13 -07:00
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 2ebb719aba NaaS: Add configuration for virtual router elements 2011-10-20 13:59:23 -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
prachi 654eaec663 NAAS: Configuring Zone
- Create Zone changes and changes to data_center table to remove vlan, securityGroup fields
- Physical Network lifecycle APIs
- Physical Network Service Provider APIs
- DB schema changes
2011-10-19 22:44:03 -07:00
alena ceda05298e Deprecate guestIpType in networkOffering api. Use type (Shared/Isolated) instead 2011-10-19 16:38:39 -07:00
alena c00058adc2 Added type (Shared/Isolated) to the networkOffering/networks 2011-10-13 17:33:41 -07:00
alena 2d228dfcbb Default service provider to VirtualRouter (should make this parameter configurable in the future) 2011-10-12 18:02:35 -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
prachi 8570b25506 NAAS: APIServer changes to introduce framework to read commands from pluggable components having separate commands.properties file
Changes:
- Added a new interface 'PluggableService'
- Any component that can be packaged separately from cloudstack, can implement this interface and provide its own property file listing the API commands the component supports
- As an example have made VirtualNetworkApplianceService pluggable and a new configureRouter command is added
- ComponentLocator reads all the pluggable service from componentLibrary or from components.xml and instantiates the services.
- As an example, DefaultComponentLibrary adds the pluggable service 'VirtualNetworkApplianceService'
- Also components.xml.in has an entry to show how a pluggable service can be added, but it is commented out.
- APIServer now reads the commands for each pluggable service and when a command for such a service is called, APIServer sets the required instance of the pluggable service in the coomand.
- To do this a new annotation '@PlugService' is added that is processed by APIServer. This eliminates the dependency on the BaseCmd to instantiate the service instances.
2011-10-11 17:34:57 -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 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
alena 25c2734e03 More stuff to Projects feature - added support for adding resources (vms, templates, isos) to the project 2011-10-05 13:24:25 -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
Sheng Yang e330e97f4b bug 11307: Mark router as to-be-stopped, rather than force stop it.
Force stop the router would release all the resources it used, but router may
still running. Add a column "stop_pending" in the database, and stop it when the
router come back.

Admin would able to choose to force destroy such router, then recover the
network using restartNetwork command with cleanup=false.
2011-09-14 16:23:17 -07:00
Chiradeep Vittal 3cb4ad4934 Add more detail when unable to schedule cleanup
clean up tests for security group manager v2

move interval to listener -- allows it to be configurable if needed

fix mocks

Enhanced logging for security group manager (from zucchini)

fix merge issues

merge issues
2011-09-12 18:22:55 -07:00
Chiradeep Vittal e216686029 Revert "bug 10617: Intermediate checking"
revert pending review

This reverts commit 561b27565512d438db3d8896df6f97b644b0b498.
2011-09-12 14:45:58 -07:00
Naredula Janardhana Reddy f9b0962ad9 bug 10617: Intermediate checking
Changes :
         - Fixing API doc +response name + errorMessage
         - Adding seperate events to Egress rules
         - Egress rules Using the same database table as that of ingress with new column type.

   Pending Tasks:
         - db upgrade
         - database table rename from security_ingress_rule to generic name, renaming some of the jave class from ingress to generic name.
         - Retesting on kvm
2011-09-09 18:14:19 +05:30
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
alena 8c53dbcdd7 bug 11185: support multiple CIDR on overlapping port ranges for firewall rules
status 11185: resolved fixed

Conflicts:

	server/src/com/cloud/network/firewall/FirewallManagerImpl.java

Conflicts:

	api/src/com/cloud/network/firewall/FirewallService.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
2011-08-25 12:21:11 -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
Naredula Janardhana Reddy 4369b0ba96 bug 1067:
- covered basic impelementation for xen, need to test corner cases.
      - Not implemneted: kvm, vmware , listing of egress rules.
2011-08-19 11:10:16 +05:30
alena 803255b0ba bug 11029: db upgrade from 2.2.9 to 2.2.10 includes firewall_rule upgrade now
status 11029: resolved fixed

Commit also includes the following:

* map firewall rule to pf/lb/staticNat/vpn when the firewall rule is created as a part of pf/lb/staticNat/vpn rule creation
* when delete firewall rules, also delete related firewall rule
2011-08-15 10:18:09 -07:00
Alex Huang 6e7ad8830f bug 11043: Propagating fix 2011-08-11 10:30:03 -07:00
Alex Huang 1079a77024 bug 11043: rverted the bad fix 2011-08-11 10:27:02 -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
Abhinandan Prateek 9bba09857e bug 10561: readding source cidr changes to firewall rules 2011-08-10 13:52:42 +05:30
keshav 1761024fda Changed RuleTO classes to carry the source VLAN tag. Added guest network gateway to NetworkElementCommand. 2011-08-09 16:38:24 -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
Abhinandan Prateek 311afeae23 bug 10731: reverting back source cidr changes for loadbalancer and portforwarding 2011-08-09 16:01:48 +05:30
Chiradeep Vittal 924961d898 merge nectarine 2011-08-08 21:45:37 -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 b240c4a645 WIP: make creating an ELB bullet proof 2011-07-27 21:11:26 -07:00
Chiradeep Vittal 042c06fbb6 Make createLoadBalancer async 2011-07-27 12:00:08 -07:00
Chiradeep Vittal cd8e069f80 Acquire an ip and launch an ELB vm 2011-07-27 12:00:07 -07:00
alena d6112b1632 Revert "bug 10373: Intermediate checkin for Domain level guest Virtual networks"
This reverts commit e5c25f3868965e36c4bff1c78ca4552a8c852241.

Conflicts:

	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/network/NetworkManagerImpl.java
2011-07-21 16:04:55 -07:00
Abhinandan Prateek dff712f2a9 bug 10731: sending source cidrs to the required router element, on domR allowing these source cidrs thru iptables
status 10731: resolved fixed
2011-07-21 13:48:42 +05:30
Abhinandan Prateek de34d6089d bug 10731: sending source cidrs to the required router element, on domR allowing these source cidrs thru iptables
status 10731: resolved fixed
2011-07-21 13:40:06 +05:30
alena 36edf298e7 bug 10373: Intermediate checkin for Domain level guest Virtual networks 2011-07-20 13:44:26 -07:00
Abhinandan Prateek 57f41a3a05 bug 10731: added optional paramter source cidr 2011-07-19 12:21:39 +05:30
Abhinandan Prateek 24510cd5fb bug 10731: adding optional paramter for cidr 2011-07-19 12:10:48 +05:30
Sheng Yang 44d4113ae6 bug 10429: backport redundant router
Part 2

commit 797839360c65cd348d2eb20630521177ab0919de
    bug 9154: redundant virtual router

commit 8ff7f230204d4d3a7a4adee75523a9a84f4276fe
    bug 9154: Replace domain_router.is_master with domain_router.redundant_state in DB

commit 230b99e9e0b152648f1dd2a5eab6f22315b8e7b4
    bug 9154: Add redundant state to DomainRouterResponse

commit ccefb5ff5e83d713798a347c99bce1a0d04b4317
    bug 9154: Add router fault state report

commit 7a3090378f9785caecf741b70554f6ea17c41764
    bug 9154: Send alert if found two virtual routers in master state

commit 66831056e4bf27665871bccd24e6159071564847
    bug 9154: Code clean up

commit bf3f58a85741fa7118bd848a42d8b21baa4478d4
    bug 9154: Add isRedundantRouter to DomainRouterResponse
2011-07-18 18:30:02 -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 9466106c40 bug 9154: Add isRedundantRouter to DomainRouterResponse 2011-06-15 14:39:28 -07:00
kishan ed6809c53d bug 8144: Added event for router start/stop and reboot
status 8144: resolved fixed
2011-06-15 12:40:23 +05:30
Sheng Yang 6f0edd9541 bug 9154: Add router fault state report 2011-06-14 20:33:18 -07:00
Sheng Yang 07a61686db bug 9154: Add redundant state to DomainRouterResponse 2011-06-14 19:31:24 -07:00
Sheng Yang aef562c69d bug 9154: Replace domain_router.is_master with domain_router.redundant_state in DB
Then we can distingush BACKUP state from UNKNOWN state(which means we didn't get
valid answer from CheckRouterCommand).
2011-06-14 18:48:56 -07:00
kishan 0629592caf bug 8144: Added event for router start/stop and reboot
status 8144: resolved fixed
2011-06-14 14:24:52 +05:30
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
Alex Huang bc67b2a973 bug 9651: update now also shows tags 2011-06-01 17:50:04 -07:00
Alex Huang 0dfc44582b bug 9651: Adding network tags
Also changes in Request logging.
2011-05-23 15:51:50 -07:00
Abhinandan Prateek d752a94838 bug 8115: Source IP filtering in Virtual Router
Passing the additional source cidrs paramter to the xapi.
2011-05-12 13:37:43 +05:30
keshav 435e178eef Added a new service to enabled zone-wide, shared source NAT rules. 2011-05-11 15:35:26 -07:00
Abhinandan Prateek 2984b0607f bug 8115: source ip filtering
Created a table for source cidrs list.
Created necessary Daos and VOs.
Updated PortForwardingRulesDao to persist/update non null list of cidrs.
For deletion depending on ON DELETE CASCADE.
2011-05-09 17:41:50 +05:30
alena 41e5e38fef bug 9336: securityGroups can be used by other securityGroups in the same domain only; no cross domain SG authentication
status 9336: resolved fixed

Following changes were made:

* deleteSecurityGroup/authorizeSecurityGroupIngress - removed account/domainId parameters as SG is uniquely identified by id now
* removed account_name field from securityGroup DB table; removed allowed_security_group/allowed_sec_grp_acct from security_ingress_rule.
These values were used for api response generation only for performance purposes; added caching on API level to improve performance
* Added missing security checks for securityGroups/ingressRules
2011-04-22 11:35:29 -07:00
alena 1a6d78eae4 Code cleanup. No need to declare runtime exceptions (CloudRuntimeException, InvalidParameterException, PermissionDenied exceptions) 2011-04-21 16:26:53 -07:00
alena c844655825 bug 9488: throw InsufficientVirtualNetworkCapcityException when fail to allocate guest vnet as a part of network implement() call
status 9488: resolved fixed
2011-04-21 13:59:06 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
Frank 105db3b15a Merge branch 'baremetal' to master
modifies:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/AddHostCmd.java
	api/src/com/cloud/api/commands/CreatePodCmd.java
	api/src/com/cloud/api/commands/DeployVMCmd.java
	api/src/com/cloud/dc/Pod.java
	api/src/com/cloud/network/NetworkService.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/dc/HostPodVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	setup/db/create-schema.sql
	utils/src/com/cloud/utils/SerialVersionUID.java
2011-04-11 14:21:41 -07:00
alena bf588166ed bug 7704: network limits cleanup.
status 7704: resolved fixed

For user vm:
* for default network, take limit from the corresponding service offering
* for all additional networks, take limit from the network offerings

For domainRouter/SSVM/CPVM:
* get info from the network offering

Added new config parameter: "vm.network.throttling.rate". If nw_rate is NULL for serviceOffering, this parameter would be used for default vm's network
2011-04-01 15:48:32 -07:00
alena 718386a2b6 bug 8862: added updateNetwork api command. Can update name/displayText only 2011-03-22 11:26:56 -07:00
alena e9a10c53dc bug 8831: added 2 new parameters to create/listNetworks api: "isdedicatedtodomain" and "dedicateddomainid" 2011-03-22 10:17:08 -07:00
alena 7c1a6e4884 bug 8831: API/Management server part is done for "Dedicate Network to domain". UI part is left 2011-03-21 18:17:59 -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
alena d2f92f1c76 bug 8973: Create Virtual Guest network as a part of deployVm if corresponding networkOffering has availability=Required and no networkIds are specified
status 8973: resolved fixed
2011-03-15 15:06:52 -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 5842392ec1 bug 8146: Multiple network case (default network is Virtual) - for Direct networks dhcp servers set dns to the eth0 ip address of the domR belonging to virtualNetwork
bug 8146: resolved fixed
2011-03-07 19:56:25 -08:00
alena b3ff533244 bug 8795: start domR after corresponding network is shutdown - implement network before starting the domR
status 8795: resolved fixed

Conflicts:

	api/src/com/cloud/deploy/DeployDestination.java
2011-03-02 13:46:57 -08:00
alena 62b3d548d6 bug 8753: never release public Ip address without ensuring that all corresponding resources (PF/StaticNat/Lb rules) are cleaned up.
Fixed couple of other problems along:

* when expunge PF/Static nat rules as a part of vmExpunge/IpRelease process, first mark all rules as Revoke, and then send commands to the backend. Group commands by Ip address.
Before we used to do Revoke/Send per rule basis.
* When release source nat rule, make sure that corresponding vpn (if exists) is being expunged.
2011-02-28 09:21:05 -08:00
Frank 5035778b1a Bug 8208 - bare metal provisioning
StartCommand cloud reach to BareMetalResrouce
2011-02-24 19:22:34 -08:00
alena 1f1e393b03 Release vnet during network shutdown for guest networks only 2011-02-23 18:50:23 -08:00
Edison Su adbd20ca5a bug 8655: add security group for direct tagged network 2011-02-23 15:53:14 -05:00
keshav ed465500a2 Added capability to keep track of what IPs a load balancing rule can be made on. 2011-02-23 11:44:14 -08:00
alena 15f59e6f58 bug 8637: throw ResourceAllocationException when resource limit is exceeded.
status 8637: resolved fixed
2011-02-18 12:26:58 -08:00
alena 504ab73ae5 Sync on network instead of ipAddressId when do create PF/StaticNat/LB rules 2011-02-17 16:13:28 -08:00
alena 8978839d96 bug 8617: Disable firewall/lb/vpn service for Direct network offering, so when user tries to create PF/LB rule for direct IP address, it fails.
status 8617: resolved fixed
2011-02-17 14:31:05 -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
Alex Huang 7dd54f079b started vms with these latest 2011-02-11 17:03:04 -08:00
Alex Huang b92fc074aa added forced paramter to stop apis 2011-02-08 15:38:26 -08:00
alena 0082b8435a Fixed account security checks for domain admins in following commands:
* listPortForwardingRules
* listIpForwardingRules
* listRemoteAccessVpns
* listVpnUsers
2011-02-07 16:24:34 -08:00
Alex Huang 86e51eb536 Made changes to the exceptions thrown by NetworkManagerImpl 2011-02-04 11:56:20 -08:00
alena 84fef40ce2 Refactored "allocate vlan to account" code 2011-02-04 09:54:16 -08:00
alena 6f55c4dd7e bug 8270: Synchronize on 1) ipAddress object when create/delete ipForwarding/portForwardingRule and vpn service 2) on networkId when assignTo/removeFrom/deleteLoadBalancer
status 8270: resolved fixed
2011-02-03 18:45:49 -08:00
keshav 66cb75ded3 Changed external network provider names to be model specific. 2011-02-03 11:55:39 -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 77e89b72ca bug 8187: retreive DNS information from DataCenter instead of resetting it for the network. After the DNS is reset, all networks in the zone have to be restarted. Console proxy and secondary vm should be restarted too.
status 8187: resolved fixed
2011-01-26 19:08:56 -08:00
alena 402506e8a0 Disable static nat for the IP address when corresponding vm gets expunged 2011-01-26 14:17:08 -08:00
alena 731e78937f Added 2 new api commands for 1-1 nat feauture: enable/disableOneToOneNat. Here is the 1-1 nat api summary:
* to enable 1-1 nat for ip/vm use enalbeOneToOneNat api
* to open port range (or multiple port ranges) use createIpForwardingRule api.
* to delete one port range use deleteIpForwardingRule api.
* to disable 1-1 nat use disableOneToOneNat api.
2011-01-26 09:35:32 -08:00
alena a96f8f9575 Refactored 1-1 NAT feature:
* added new fields to createIpForwardingRule api: startPort/protocol - required, endPort is optional
* updated "firewall_rules" table with a new field "is_one_to_one_nat" (being set when new rule is created)
2011-01-25 14:43:32 -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 9d3eedaf01 removed gateway and guestzonemacaddress from domr 2011-01-24 17:50:32 -08:00
Alex Huang 3dd7301fb2 removed unused gateway 2011-01-24 17:50:32 -08:00
Alex Huang 68464d6f66 removed unused dns 2011-01-24 17:50:32 -08:00
Alex Huang fc33ef2be2 Removed several unused fields after the refactoring 2011-01-24 16:18:40 -08:00
Frank 38ab26bcb0 ovs tunnel network -- add lock entry in ovs_tunnel_account 2011-01-24 13:47:34 -08:00
Frank 276e37115b open vswitch - Implement gre tunnel based network that doesn't use vlan
it allows cross zone communication and no 4096 limitation introduced by vlan
2011-01-21 17:32:02 -08:00
Alex Huang 57def20cf6 moved all agent commands to api. 2011-01-20 09:54:05 -08:00
kishan fa2ae5793a bug 7341: introduced search by id and vmId for listIpForwardingRules
status 7341: resolved fixed
2011-01-19 13:13:09 +05:30