Commit Graph

126 Commits

Author SHA1 Message Date
Sheng Yang 143b7bc0d8 CLOUDSTACK-1218: Use the first IP in the first vlan range for VR in shared network 2013-03-14 15:34:45 -07:00
Sheng Yang 7945d306be CLOUDSTACK-1219, CLOUDSTACK-1220: Fix IPv6 error messages 2013-02-14 16:19:17 -08:00
Sheng Yang 931372e5ca IPv6: CLOUDSTACK-1107: Add support for createVlanIpRange to extend existed network 2013-02-07 20:23:10 -08:00
Sheng Yang 422834578f IPv6: One network can have more than one vlans 2013-02-06 19:46:58 -08:00
Sheng Yang ec206d69be IPv6: CLOUDSTACK-1113: Fix the mechanism to find the usable IP in the IPv6
The new policy is:
1. Generate a random IP.
2. Find the next available IP, start from the generated IP.
3. If we cannot find an available IP after certain times(10000 by default,
network.ipv6.search.retry.max) retry, give up.
2013-02-05 14:33:06 -08:00
Sheng Yang 249d8e09bb IPv6: move assignPublicIp6Address() from NetworkManager to new Ipv6AddressManager
Don't want to involve IP address management code in NetworkManager.

Conflicts:

	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/network/NetworkManager.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-02-04 15:16:00 -08:00
Sheng Yang 4bdc94aaf3 IPv6: Accept IPv6 parameter for createNetworkCmd
Also ass public_ipv6_address for ipv6 address management.

Extend nics and vlans for ipv6 address.

Add dependency to com.googlecode.ipv6(java-ipv6).

Modify dhcpcommand for ipv6.

Conflicts:

	api/src/com/cloud/agent/api/routing/DhcpEntryCommand.java
	pom.xml
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/dc/VlanVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/NetworkVO.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/network/MockNetworkModelImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-01-30 23:44:37 -08:00
Chiradeep Vittal b429dd4916 Network-refactor: add missing license headers. Thanks RAT
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-16 14:05:09 -08:00
Chiradeep Vittal 7fad27b846 network-refactor: unfortunately have to ignore tests during build since the tests involve verification of injection. This causes the database to get invoked during component initialization. The database is not available on the build server 2013-01-15 11:43:53 -08:00
Chiradeep Vittal 1776659fe7 Network-refactor: move validateRule to LB manager since it now has access to LB elements.
NetworkServiceImpl does not need a cache of system network offerings
Ensure mocks build to new APIs.

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 18:36:29 -08:00
Chiradeep Vittal 05a85c7cd6 Network-refactor: reduce verbosity of test logs.
Icky way to do it, but unable to get maven to pick up log4j properties from test/resources

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:02 -08:00
Chiradeep Vittal dbe3fe2d34 Network-refactor: interaction between firewall manager and network manager changed, verify this works as expected
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:02 -08:00
Chiradeep Vittal 728db6c8ca Network-refactor: fix bugs in components.xml discovered by unit tests
Provide injection tests for NetworkManager and FirewallManager

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:02 -08:00
Chiradeep Vittal e0578180c5 Network-refactor: verify injection is correct. Verify that dhcp service providers and ip deployers get injected independently in addition to the list of network elements
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:02 -08:00
Chiradeep Vittal 88df984ff3 Network-refactor: add a method for plugins to get the source nat ip
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:02 -08:00
Chiradeep Vittal 504264236c Network-refactor: In preparation for moving the read-only interface NetworkModel
to the api project, ensure that all methods use interfaces from the api project.
By moving it to the api project, it lessens the dependency of plugins on the server components.

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Chiradeep Vittal 6b6d8c5710 Network-refactor: Move code from NetworkManager to NetworkModel.
NetworkModel is intended as a read-only view on the network model.
This includes Networks, Nics, Ip address, PhysicalNetwork, NetworkOfferings, etc
The code in configure() and start() is used to support queries on the network model which is now the responsibility of the NetworkModel service

Network-refactor: Fix tests so that they get injected with the required NetworkModel mock

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Chiradeep Vittal 5a830c4db0 Network-refactor: Refactor NetworkManager into NetworkModel and NetworkManager.
NetworkManager's exclusive focus is now
 - handling plugins during orchestration, and
 - to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Chiradeep Vittal e262eef296 Fix mocks 2013-01-07 15:21:49 -08:00
Murali Reddy 28bbf6c527 Summary: partical check-in for L4-L7 network services in the shared network in the advanced zone
Details:

- changed associateIPAddr API to accept shared network Id and account Id. Ip will be owned by tuple (account Id, network Id)
- chaged createNetwork API to accpet CIDR when network offering has external networking device providers

Bug ID:CLOUDSTACK-312 enable L4-L7 network services in the shared
network in the advanced zone
2012-12-06 11:55:19 +05:30
Rohit Yadav 4c86b1545d CLOUDSTACK-424: Update userdata should propagate to VR
The code that would propage userdata to router, when updateVirtualMachine api
is called, was missing. As per the docs [0], userdata should be a base64 encoded
string upto 2KB which is put on domr's html directory adn using HTTP GET the
userdata information can be obtained from the domr.

The updateVirtualMachine api [0] would accept a base64 encoded string
and decoded and put into the domr's /var/www/html/userdata/<uservm ip>/user-data
file. The operation does not require the VM to be in stopped state, though it is
advised to stop and call this api in case the user vm has a script which gets
the userdata information from domr while starting.

For example, this script can be used to fetch the data:
server_ip=$(grep dhcp-server-identifier /var/lib/dhclient-eth0.leases | tail -1 | awk '{print $NF}' | tr '\;' ' ')
wget http://${server_ip}/latest/user-data

This feature can be useful, for example to use into puppet facts [1], or to do
automation and horizontal scaling etc. based on userdata.

[0] http://incubator.apache.org/cloudstack/docs/api/apidocs-4.0.0/domain_admin/updateVirtualMachine.html
[1] http://geek.jasonhancock.com/2011/11/09/cloudstack-userdata-into-puppet-facts/

BUG-ID : CLOUDSTACK-424
Reviewed-by: Rohit Yadav <bhaisaab@apache.org>
Reported-by: Nick Wales

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-15 18:43:51 +05:30
Alena Prokharchyk 3f5733cea7 CS-16412: fixed count for following commands:
listVlanIpRanges
listOsCategories
listOsTypes
listSystemVms
listPhysicalNetworks
listCounters
listConditions
listAutoScalePolicies
listAutoScaleVmProfiles
listAutoScaleVmGroups
listConfigurations
listStoragePools
listClusters
listPods
listInstanceGroups
listSSHKeyPairs
listHypervisorCapabilities
listNetworkServiceProviders
listVpnCustomerGateways
listVpnGateways
listVpnConnections
listProjects
listProjectAccounts
listProjectInvitations
listTrafficTypes

Conflicts:

	api/src/com/cloud/api/commands/ListAutoScalePoliciesCmd.java
	api/src/com/cloud/api/commands/ListAutoScaleVmGroupsCmd.java
	api/src/com/cloud/api/commands/ListAutoScaleVmProfilesCmd.java
	api/src/com/cloud/api/commands/ListConditionsCmd.java
	api/src/com/cloud/api/commands/ListCountersCmd.java
	api/src/com/cloud/api/commands/ListVpnConnectionsCmd.java
	api/src/com/cloud/api/commands/ListVpnCustomerGatewaysCmd.java
	api/src/com/cloud/api/commands/ListVpnGatewaysCmd.java
	api/src/com/cloud/network/as/AutoScaleService.java
	server/src/com/cloud/network/as/AutoScaleManagerImpl.java
	server/src/com/cloud/network/as/dao/CounterDao.java
	server/src/com/cloud/network/as/dao/CounterDaoImpl.java
	server/src/com/cloud/projects/ProjectManagerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
2012-10-15 18:16:59 -07:00
Alena Prokharchyk 51cc301fef CS-16222: send password reset command only to the element responsible for the userdata service in network
Reviewed-by: Sheng Yang
2012-09-04 13:41:10 -07:00
Alena Prokharchyk 93ac01db0b Fixed unittest 2012-08-27 09:46:56 -07:00
Chiradeep Vittal 48521e74e6 ElbVmMapDaoTest requires active DB backend for tests, hence jenkins test fails.
Also, ELB feature using virtual router does not work and is deprecated currently.
2012-08-16 12:59:00 -07:00
Alena Prokharchyk 71ead9ef4e VPC: CS-15925 - when vpc provider is speficied for a new network offering, no other providers can be used
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-08-13 14:03:39 -07:00
Alena Prokharchyk ccac505944 Merge branch 'master' into vpc 2012-08-10 10:47:49 -07:00
Mice Xia bd2a130251 fix unittest SecurityGroupManagerImpl2Test 2012-08-10 16:01:43 +08:00
Alena Prokharchyk cf64fda5d5 VPC: unittest preparation
Conflicts:

	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-08-07 11:23:52 -07:00
Alena Prokharchyk 7cceaae912 VPC: moved vpc related code from NetworkManager to VpcManager
Conflicts:

	api/src/com/cloud/api/commands/AssociateIPAddrCmd.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/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-08-01 18:45:06 -07:00
Alena Prokharchyk 110903a91a VPC: added vif info to ipassoc command
Conflicts:

	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-27 13:53:41 -07:00
Alena Prokharchyk 966c1b0ad8 VPC: when VPC router gets destroyed and recreated, plug public nic for each Vlan where VPC public ips belong to
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
2012-07-20 17:12:34 -07:00
Alena Prokharchyk 2b7ec3f4a8 VPC: one more fix for multiple public nic case for the VPC VR
Conflicts:

	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-20 17:12:34 -07:00
Alena Prokharchyk 5a64d4fbb1 VPC: CS-15638: Plug nic for the public ip address if the ip address from the diff vlan range than sourceNat ip
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-20 17:12:34 -07:00
Alena Prokharchyk d51719ddc3 Fixed unittest 2012-07-17 15:50:56 -07:00
Alena Prokharchyk ad80f426a0 VPC: CS-15553 and CS-15549 - more checks during automatic ip assoc to VPC network
Conflicts:

	api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.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
2012-07-13 13:32:14 -07:00
Alena Prokharchyk 697aa4589b VPC: unplugNic - release the nic in the DB only after the command is executed succesfully on the backend
Conflicts:

	api/src/com/cloud/agent/api/routing/SetStaticRouteCommand.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-10 18:07:09 -07:00
Alena Prokharchyk 21519070fc VPC: added vpc_id to private_ip_address table to indicate which vpc the ip belongs to
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManager.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-09 18:23:35 -07:00
Alena Prokharchyk 10dcc117c3 VPC: CS-15486 - prepare public nic as a part of VR deployment 2012-07-09 18:12:54 -07:00
Alena Prokharchyk 31f9d718fb Merge branch 'master' into vpc
Conflicts:
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
2012-07-03 17:32:50 -07:00
Alena Prokharchyk 580261119c VPC: corrected the name for PublicIp interface (mistakenly renamed it as a part of previous checkin)
Conflicts:

	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-02 17:44:54 -07:00
Alena Prokharchyk 183633cf70 VPC: createPrivateGateway - consists of plug nic + ipassoc (no setsource nat is needed)
Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
2012-07-02 17:44:54 -07:00
David Nalley e87558256c Patch from Chip Childers
https://reviews.apache.org/r/5704/
License header updates for the server folder
2012-07-02 09:51:21 -04:00
Chip Childers 8f71a2927f License header updates for the server folder. 2012-07-02 08:58:10 -04:00
Alena Prokharchyk 634cd78baa Merge branch 'master' into vpc
Conflicts:
	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/ListNetworksCmd.java
	api/src/com/cloud/api/response/NetworkResponse.java
	api/src/com/cloud/event/EventTypes.java
	api/src/com/cloud/network/NetworkService.java
	client/tomcatconf/commands.properties.in
	scripts/network/domr/getDomRVersion.sh
	scripts/network/domr/ipassoc.sh
	scripts/network/domr/l2tp_vpn.sh
	scripts/network/domr/networkUsage.sh
	scripts/network/domr/router_proxy.sh
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/IPAddressDao.java
	server/src/com/cloud/network/dao/IPAddressDaoImpl.java
	setup/apidoc/gen_toc.py
	setup/db/create-schema.sql
	wscript
2012-06-28 17:41:40 -07:00
Alena Prokharchyk 8be74c033f VPC: update ip address object after the ip is associated with the network 2012-06-25 21:00:12 -07:00
Sheng Yang ae32736151 Fix compile-tests 2012-06-21 12:25:06 -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 c56998e876 Support for IPAssoc inside VPC 2012-06-15 14:10:33 -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