Commit Graph

374 Commits

Author SHA1 Message Date
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
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
alena 877741030c bug 7957: set network domain for domain router based on Network networkDomain parameter. Default networkDomain is "cloud.internal"
status 7957: resolved fixed
2011-01-13 11:57:29 -08:00
alena 5dfe399c1a bug 7803: introduces new parameter "is_default" for the network. DeployVm requires 1 default network to be specified, other networks (if any) have to be secondary
status 7803: resolved fixed

Fix overview:

1) Parameter "isDefault" should be defined as a part of createNetwork
* Virtual network is always default
* Parameter can be specified only for DirectNetwork
* Once parameter is set, there is no way to change it as we don't provide updateNetwork command.
2) Added isDefault parameter to listNetworks command so you can sort by that.
3) DeployVmCmd:
* at least one default network should be set
* if more than 1 default network is set - throw an error
4) Return isDefault information as a part of Nic object for the vm response in deploy/stop/start/listVm
2011-01-11 14:22:26 -08:00
Frank c6683c2eab bug 7722: open vswitch -
refine ovs plugin, create a separate plugin instead of messing with vmops
refine gre tunnel, maintains tunnel in database instead of plugin
fix an arp issue cause by overlap vlan range
2011-01-11 02:55:36 -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 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
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 a10ce22f99 remote access vpn from management server side is done 2010-12-29 12:13:35 -08:00
Alex Huang 544fa7ff1b remote access vpn, user ip address changes 2010-12-29 09:32:54 -08:00
alena 085824d524 1) Updated schema for data_center - provider fields can have NULL values.
2) Fixed deletePortForwarding/deleteIpForwardingRule commands to return false when delete rule fails.
2010-12-28 16:22:36 -08:00
kishan 53d3455cbe bug 7504: Events refactoring 2010-12-24 12:58:32 +05:30
alena 928ab98dc6 Added new network Capability "TrafficStatistics" for LoadBalancer and Firewall services 2010-12-23 15:06:37 -08:00
alena eb1f1da035 Assert when capability is not supported by service 2010-12-23 11:52:44 -08:00
alena 3775ba043e Added Services (dhcp, gateway, portForwarding, etc.) to NetworkOffering. 2010-12-23 09:40:15 -08:00
alena ec9260ce62 bug 7619: Added list of Capabilities parameter for Network
status 7619: resolved fixed
2010-12-22 11:05:31 -08:00
Chiradeep Vittal cc5dea49dc Add RemoteAccessVpn service 2010-12-21 11:04:27 -08:00
Alex Huang 0ecb0118ec renamed the domainrouter services 2010-12-21 03:56:01 -08:00
Alex Huang 356526db83 Changed exception code to give the scope of the problem 2010-12-21 03:54:30 -08:00
alena 724b8d80bd Don't allow to remove a network with deleteNetwork api when the network has active nics assigned 2010-12-20 20:20:09 -08:00
abhishek 5eae8923b1 commenting out this assert for now as it might break code 2010-12-17 19:53:40 -08:00
abhishek a54c5e8949 fixing the issue wherein public network guru failed to get ip address for direct network in case of security groups 2010-12-17 16:16:51 -08:00
alena 0049c74a5e 1) Different format for LoadBalancerCommand.
2) When apply lb rule for domR, resend all lb rules belonging to the lb network
2010-12-17 09:37:13 -08:00
abhishek 5154ba1539 bug 6361: this is a good point to commit; 1st round of refactor is done, code is clean compiling and ms is deploying 2010-12-16 15:37:19 -08:00
Alex Huang 39cc371e78 network gc 2010-12-16 14:03:21 -08:00
alena d427cdae1e 1) Return associatedIpAddress in listPublicIpAddresses command.
2) Disabled create/deleteNetworkOffering API commands
2010-12-16 12:07:09 -08:00
alena c1db5b6fc0 1) Fixed associate/disassociateIP address commands. The procedure is changed from 2.1, right now on single ipAssoc command we get a new ip and reapply all exising ip associations.
2) Added restartNetwork API command. Currently the command reapplies ip addresses for the network. TODO - reapply PF/LB rules and restart the domR.
2010-12-15 11:39:30 -08:00
alena d673686f5f Added Availability field for NetworkOffering. Added updateNetworkOffering API command 2010-12-13 18:28:33 -08:00
alena c7a9267225 Delete network as a part of account cleanup 2010-12-13 10:47:10 -08:00
alena 88d6ff2136 bug 7467: release IP address works now.
status 7467: resolved fixed

Fixed all load balancer commands to work with the latest networking code
2010-12-10 15:12:32 -08:00
keshav d9f5e63f69 Added a constructor for LoadBalancerConfigCommand, and a variable to keep track of a list of destinations. 2010-12-09 21:28:10 -08:00
keshav 198cab4dee Added support code for external firewalls and loadbalancers. Added new host types and startup commands, and enabled NicVO to reserve IPs for external network resources. 2010-12-09 11:40:02 -08:00
alena 1f7d74dbec 1) Disabled updatePortForwardingRule api command.
2) Added vm information (id, name, display_text) to all port forwarding rule responses.
2010-12-08 14:28:37 -08:00
Alex Huang 2c42ebbf71 ip assoc working 2010-12-08 09:03:34 -08:00
Alex Huang f794abfdef ip addresses are now separated from domR 2010-12-08 09:03:34 -08:00
alena 954756d69b Introduced new NetworkElement - DhcpElement. 2010-12-07 13:47:59 -08:00
Alex Huang a87aac2640 missing file 2010-12-06 15:24:32 -08:00
Alex Huang f147bf5f94 start vm not working again 2010-12-06 14:17:53 -08:00
Alex Huang fcdd20ca06 more checkin 2010-12-06 14:17:53 -08:00
Alex Huang 16caf1954b New ip address states and mode 2010-12-04 17:32:32 -08:00
alena 150d684e05 1) isShared attribute belongs to Network now, not NetworkOffering
2) Added list by networkId support to listVirtualMachines command.
3) Implemented search by zoneId in listNetworks command
2010-12-03 19:07:08 -08:00
Alex Huang a8b617c596 port forwarding is now in 2010-12-03 08:48:03 -08:00
Alex Huang b859e103d8 ip nat rule forwarding done 2010-12-03 08:48:03 -08:00
Alex Huang 9a70ee54f0 portforwarding is working 2010-12-03 08:48:03 -08:00
Alex Huang 223688d0bf Port forwarding rules and load balancing rules rewrite 2010-12-03 08:48:02 -08:00
alena f8a687ab23 1) Implemented create/list/deleteNetworkOffering create/delete/listNetwork APIs.
2) Added networkIds parameter to deployVMCmd - accepts list of networks ids separated by coma.
3) Changed domainRouter/systemVm/userVm response to return list of Nics associated with the vm.
2010-12-02 19:30:17 -08:00
Alex Huang 1e44925564 api refactoring 2010-11-21 12:00:21 -08:00
Alex Huang bb843ab1fb missing file 2010-11-19 15:48:40 -08:00
Alex Huang 5b4a6f27db Changed networkconfigurations to network as per Sheng's suggestion 2010-11-19 15:44:42 -08:00
Alex Huang 17afeade00 better componentslocator 2010-11-16 04:28:14 -08:00
Alex Huang 94250c1330 committing to update 2010-11-11 12:53:19 -08:00
Alex Huang aca8ef79cd a bunch of other changes for network refactoring 2010-11-08 12:29:37 -08:00
Alex Huang 5f90a8adb0 Checking in to do git pull...stupid git 2010-11-05 16:10:22 -07:00
Alex Huang d5d1808488 Added reservation context to the network gurus 2010-11-05 16:10:22 -07:00
Alex Huang e27bb550fe Harmony among gurus 2010-11-03 21:18:31 -07:00
Alex Huang 6311644e08 Successful creation of domr and uservm with all programming done correctly.....yahooo 2010-11-02 12:25:08 -07:00
Alex Huang 14f80f2e13 domain router up and running...now on to patching through the network between the domain router and the vm 2010-10-29 12:16:58 -07:00
Alex Huang 4f9f249218 make console proxy work again with the new network configuration 2010-10-26 17:37:29 -07:00
Alex Huang f58063911e deploy vm completed 2010-10-26 09:35:24 -07:00
Alex Huang d5d8f27cad Added more changes to the api 2010-10-21 15:11:49 -07:00
Alex Huang 2da8035bd1 more changes for the rewrite 2010-10-19 11:52:02 -07:00
Alex Huang 794ca16a65 Added code to start domR 2010-10-19 11:52:01 -07:00
Alex Huang c443867f28 more changes 2010-09-27 15:14:38 -07:00
root 979fcf8b78 finalized guru design 2010-09-22 10:44:00 -07:00
Alex Huang c0d8422d69 more changes 2010-09-22 10:43:59 -07:00
Alex Huang 22652e7ace got the vm created 2010-09-22 10:43:59 -07:00
Alex Huang 8acba8fbd1 more checkins 2010-09-22 10:43:59 -07:00
Alex Huang bebe79ebc9 more work from alex 2010-09-17 13:37:53 -07:00
Alex Huang 327924a9ad More changes for refactoring 2010-09-15 18:00:54 -07:00
root 077690cf15 switched from networkprofile to network configuration 2010-09-09 17:48:24 -07:00
Alex Huang 6134f7dfd2 more file changes 2010-09-09 11:52:12 -07:00
Alex Huang 415bc8ae20 bug 5764: checkin before I switch to work on 2.1.x 2010-08-24 14:40:29 -07:00
Alex Huang 20b26082db bug 5764: changing from networkoffering to network profile 2010-08-24 00:00:43 -07:00
Manuel Amador (Rudd-O) 05c020e1f6 Source code committed 2010-08-11 09:13:29 -07:00