169 Commits

Author SHA1 Message Date
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
alena
80dc2c0b1a Don't send security group commands to the backend when 1) securtiy group service is disabled in the network offering and 2) security group service provider is supported on the physical network 2011-11-01 12:07:32 -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
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
alena
96843be30a Pass cleanup parametet to shutdown() method of the networkElement. Based on this parameter, the element can decide if it wants to destroy the instances, or just shut them down 2011-10-25 18:48:59 -07:00
alena
525a0a7675 1)Changed implementation for restart network: call shutdown/implement methods as a part of it
2)Re-apply all existing firewall rules as a part of implement call. TODO: Cleanup all existing rules from the backend (leave them in the DB) as a part of shutdown call
2011-10-25 18:24:24 -07:00
prachi
780e0efe79 Removing references to DataCenter - providers, using the networkoffering -> providers map instead.
TODO:
- Still leaving the provider columns in data_center schema as-is for CloudKit and BareMetal
- ExternalNetworkDeviceMgrImpl still needs to fix the dataCenter.setProviders calls and externalNetworkApplicance usage checks to see if zone has external networking.
2011-10-24 18:06:33 -07:00
alena
f6717e0a23 1) Method name change
2) Rely on SourceNatService when decide if DirectNetworkGuru and GuestNetworkGuru should handle the network
2011-10-24 17:30:14 -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
alena
219978a9be Create network using physical network id 2011-10-20 18:25:13 -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
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
a1331d1cfc Intermidiate checkin to Project feature:
1) Introduce new managers - ProjectManager and DomainManager. Moved all domain related code from AccountManager to DomainManager.
2) Moved some code from ManagementServerImpl to the correct managers.
3) New resource limit for Domain - Project
2011-09-20 18:35:28 -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
alena
05713a20e8 bug 11114: when release static nat as a part of vm expunge, do searchIncludingRemoved in nics table as the nics are marked as Removed before static nat is released
status 11114: resolved fixed
2011-08-15 10:18:45 -07:00
alena
477e5d6389 bug 10561: reapply static nat on the backend as a part of domR restart and network restart 2011-08-11 11:19:09 -07:00
alena
278f2a401f bug 10561: intermediate checkin for enable/disableStaticNat.
1) On enableStaticNat command we actually send the command to the backend (we used to just upgrade the DB in the past). The backend command carries sourceIp and destIp, and creates IP to IP mapping on the domR.
2) On disableStaticNat for the Ip address in addition to cleaning up port ranges, we also delete IP to IP mapping on the domR.
2011-08-11 10:19:22 -07:00
alena
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
alena
e0033c5d9d bug 10869: always allocate first ip address from the range for the dhcp server.
status 10869: resolved fixed

Here is the flow (design is approved by Will Chan):

1) If user specifies custom ip address, and this ip is not the first ip in the range, the dhcp server gets the ip.
2) If user specifies custom ip address, and this ip is the first ip in the range, the dhcp server will get the random ip address from the range.
2) If user doesn't specify custom ip address, we always try to allocate first ip address from the range for the dhcp server; if this ip is already allocated, the dhcp server will get the random ip from the range.

This will work for:

* domR's Guest network
* dhcp's Direct network
2011-08-02 17:42:12 -07:00
alena
64eeb8d79b bug 10869: always allocate first ip address from the range for the dhcp server.
status 10869: resolved fixed

Here is the flow (design is approved by Will Chan):

1) If user specifies custom ip address, and this ip is not the first ip in the range, the dhcp server gets the ip.
2) If user specifies custom ip address, and this ip is the first ip in the range, the dhcp server will get the random ip address from the range.
2) If user doesn't specify custom ip address, we always try to allocate first ip address from the range for the dhcp server; if this ip is already allocated, the dhcp server will get the random ip from the range.

This will work for:

* domR's Guest network
* dhcp's Direct network
2011-08-02 17:41:03 -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
alena
36edf298e7 bug 10373: Intermediate checkin for Domain level guest Virtual networks 2011-07-20 13:44:26 -07:00
alena
0d84cde633 bug 10409: added domainSuffix parameters to account/domain objects 2011-07-15 14:40:39 -07:00
alena
0d2787e2db bug 4706: allow to specify which ip address from the network to take when do vm deployment. The model is supported for multiple network case as well.
status 4706: resolved fixed

Merge from master to 2.2.8 branch

Conflicts:

	api/src/com/cloud/api/ApiConstants.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/guru/GuestNetworkGuru.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2011-07-15 14:20:52 -07:00
alena
9be9a970c9 bug 10409: added domainSuffix parameters to account/domain objects 2011-07-06 16:57:19 -07:00
alena
74f34a0e0c bug 10435: removed vpn feature
status 10435: resolved fixed
2011-06-24 09:18:46 -07:00
alena
4fcb406f2b bug 4706: allow to specify which ip address from the network to take when do vm deployment. The model is supported for multiple network case as well.
status 4706: resolved fixed
2011-06-21 16:41:43 -07:00
alena
53bdd625b8 bug 9579: allow domain name suffix update for existing networks.
Block update only in these cases:

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

Conflicts:

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

* when DNS capability AllowDnsSuffixModification is false for the network
* when target network has running network elements (dhcps or domRs)
2011-06-09 16:10:24 -07:00
Sheng Yang
0c92bf5b79 Some build fixes and code refactoring for redundant router 2011-06-07 14:47:46 -07:00
Alex Huang
2ceadec326 bug 9651: tags parameter added to createnetwork 2011-06-01 17:36:14 -07:00
Alex Huang
154c6d9021 Propagating 1345af2a0e84684a804bde5b281c30df72f148a0 2011-05-10 05:52:39 -07:00
alena
33b3cb2c1a bug 9693: generate usage event when release Direct ip address.
status 9693: resolved fixed

2 more fixes with this commit:

* bug 9692 is fixed - we don't increment resource count when Direct ip address is allocated.
* as a part of 2.2.2->2.2.4 upgrade resource_count for public_ip records is recalculated - count only Virtual Ip addresses

Conflicts:

	server/src/com/cloud/network/NetworkManager.java
2011-05-03 18:56:52 -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
a2619b902f AssociateIPAddress - first IP associated with the network should always be a source nat 2011-03-24 14:25:20 -07:00
alena
abb2e2b2ff bug 8831: partial checkin for Domain specific Networks (includes DB changes) 2011-03-21 15:05:07 -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
95faeb620e bug 8863: generate usage event when PF/LB/StaticNat rule is set with Revoke status, not when it's actually removed on the backend.
status 8863: resolved fixed
2011-03-16 09:41:50 -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
b20fafeaa4 bug 8874: rebootVm - don't try to implement already implemented network
status 8874: resolved fixed
2011-03-07 10:23:48 -08:00
alena
715a929e91 Separate createVm methods for 1) vm in Basic zone 2) Vm with SecurityGroup in Advanced zone 3) Vm without SecurityGroup in AdvancedZone 2011-03-03 16:13:00 -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
a8e70cf9b4 bug 8763: Fixed account cleanup process - don't destroy networks when vm expunge failed
status 8763: resolved fixed

Conflicts:

	server/src/com/cloud/user/AccountManagerImpl.java
2011-03-01 14:25:09 -08:00