Commit Graph

1481 Commits

Author SHA1 Message Date
Vijayendra Bhamidipati 1543c01e8d Bug CS-14448: Wrong error message on using the createVlanIpRange cmd
Description:

	Fixing two other scenarios apart from the reported one
	where we were not passing in database IDs for translation
	into uuids, in the exception.
2012-04-16 15:27:52 -07:00
Sheng Yang f6383f844d bug 14470: Return true for applyRules unless specified
Only DHCP entry need to know if no one apply the entries(when VM is starting
up), other rules should be safe when return true anyway.

status 14470: resolved fixed
2012-04-13 14:51:25 -07:00
David Nalley 59436be4ee fixing line endings in server 2012-04-07 20:13:10 -04:00
Alena Prokharchyk c0130a5c41 Code cleanup for createVlanRange api 2012-04-04 15:03:04 -07:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
prachi 1b6e38f3d5 Bug 14536 - DB exception while trying to delete physical network
Reviewed-By: Sheng Yang

Changes:
Added proper cleanup for virtual router elements.
2012-03-29 12:40:06 -07:00
prachi 23915b7481 Bug 14536 - DB exception while trying to delete physical network
Reviewed-By: Sheng Yang

Changes:
Added 'removed' column to physical_network_service_providers to avoid the Foreign Key constraint error.

Conflicts:

	setup/db/db/schema-30to301.sql
2012-03-29 10:15:30 -07:00
Alena Prokharchyk dc1af9e5f4 bug 14444: specifyVlan should always be false for the network offering of type Isolated supporting sourceNat service
status 14444: resolved fixed
2012-03-28 11:24:09 -07:00
kishan bed3f7f7e2 bug 14512: Create user_stats entry for router while persisting routerVO
status 14512: resolved fixed
reviewed-by: Nitin
2012-03-27 19:04:34 +05:30
Sheng Yang b409615a32 bug 14484: Apply existed firewall rules when associating IP
It's not a elegant fix. The status for firewall rules should remain unchanged
before/after ip association/disassociation. But the related change is tricky
than this fix, may not get enough test for 3.0.1. So we would apply existed
firewall rules again, which would work, just result in some unnecessary
commands.

status 14484: resolved fixed

Reviewed-by: Edison Su
2012-03-26 13:55:43 -07:00
frank c504e8aa35 Bug 14492 - Stop and start of SSVM in Zone1 fails if Zone2 is configured with Storage network
status 14492: resolved fixed
reviewed-by: edison
2012-03-26 11:58:12 -07:00
Alena Prokharchyk c42fceab27 bug 14446: removed elasticLBVm from components.xml
status 14446: resolved fixed
reviewed-by: Frank Zhang
2012-03-22 10:26:48 -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 1ca493e4fa bug 14042: Don't set dhcp:router option on DHCP server for non-default network on CentOS/RHEL
The routing table with two nics may be messed up, due to we sent same
router(gateway) information from different DHCP server, in order to specify
default gateway. E.g.

Network A: 192.168.1.0/24, gw 192.168.1.1
Network B: 192.168.2.0/24, gw 192.168.2.1

User VM: Nic 1 connect to network A, get ip 192.168.1.10; nic 2 connect to
network B, get ip 192.168.2.10.

Set network A as the default network of user VM.

Currently we would send this information to user VM through DHCP offer:
In network A: dhcp-option:router 192.168.1.1
In network B: dhcp-option:router 192.168.1.1

So both NIC in the guest VM would receive 192.168.1.1 as router(gateway).

But, in CentOS 5.6, dhclient-scripts try to tell if the gateway is reachable
for current subnet.

So when we try to enable nic 2(eth1) of user VM, dhclient would receive:
IP: 192.168.2.10
Mask: 255.255.255.0
Router: 192.168.1.1

Then it would found that the specified gateway(router) is not within its own
subnet(192.168.2.0/24). But since we send out this ip(192.168.1.1) as the
gateway for it, dhclient thought that it should got someway to access the
network through this IP. So it would execute:

ip route add 192.168.1.1 dev eth1
ip route replace default via 192.168.1.1 dev eth1

But it can never reach 192.168.1.1(which is in the eth0's subnet and the
gateway of eth0) by go through eth1 interface. So it is messed up.

We've tested Windows 2008 R2, CentOS 5.3, CentOS 5.6 and Ubuntu 10.04. Windows
and Ubuntu are fine with above policy.

To solve this, we send different dhcp:router option according to the guest OS
type now.

We may need expand this list later, but for now we only know that CentOS and
RHEL would behavior in this way.

status 14042: resolved fixed
2012-03-21 10:38:18 -07:00
Sheng Yang 319dbccabf Fix not sending DNS in DHCP command 2012-03-21 10:38:12 -07:00
Murali reddy 99e1ca123f bug 13899: CloudStack (Advanced Mode) should not allow "NetScaler" as provider for StaticNAT service
status 13899: resolved fixed
2012-03-21 16:54:44 +05:30
Alena Prokharchyk fec3a87d09 bug 14388: don't return console proxy / ssvm service offerings
status 14388: resolved fixed
2012-03-19 14:50:09 -07:00
Vijayendra Bhamidipati 005ba5e2b5 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Adding overloaded addProxyObject() function to CloudException
	and RuntimeCloudException classes and using this function
	to stuff exceptions with IDs, to reduce code footprint.
2012-03-15 16:27:52 -07:00
Alena Prokharchyk 1b4954d63a bug 14295: allow regular user to create network with the custom cidr
status 14295: resolved fixed

Conflicts:

	server/src/com/cloud/network/NetworkManagerImpl.java
2012-03-14 10:50:15 -07:00
Vijayendra Bhamidipati b1bb0afad4 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Modifying the API functions' exception handling to call
	addProxyObject() wherever applicable, and removing some
	wrong calls to addProxyObject() that were put in in an
	earlier commit for this bug.

	With this commit, we cover many API functions to use the
	new exception handling code, but some pieces may still be
	left out. These will be covered as work in progress, when
	making changes to the CS API code.
2012-03-12 18:05:45 -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
Sheng Yang 21fe5e1087 bug 14074: Specify networkId for list public ip
status 14074: resolved fixed
2012-03-12 12:00:31 -07:00
Sheng Yang 476c671374 Refactor VirtualNetworkApplianceManagerImpl
Add separate create command for dhcp, userdata and password.
2012-03-09 19:02:47 -08:00
Sheng Yang d62d3b5a01 Refactor rules appling in the VirtualNetworkApplianceManagerImpl 2012-03-09 18:00:06 -08:00
Vijayendra Bhamidipati df51744979 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Removed some wrong invocations to addProxyObject() when
	throwing exceptions in NetworkManagerImpl.java.

	Replaced db ids with uuids in various points in the code
	of NetworkManagerImpl.java, where exceptions are thrown.
2012-03-09 01:13:36 -08:00
Sheng Yang e152e64ac0 Fix several wrong ResourceUnavailableException scopes 2012-03-08 11:55:31 -08:00
Alena Prokharchyk 65e160b7e6 bug 14173: add eip/elb network offering (if missing) during the management server start
status 14173: resolved fixed
2012-03-07 10:02:24 -08:00
Vijayendra Bhamidipati 57c54e23d6 Bug 14060: Include a CloudStack error code in an Exception Response
Bug 13127: API error text refer to database ids instead of uuids

Code-Reviewers: Ewan Mellor, Kelven Yang

Description:

	1. A new class CSExceptionErrorCode has been added to utils.
	   It contains a list of error codes for each type of
	   Exception class. Use fully qualified package paths for
	   Exceptions in CSExceptionErrorCode.  We log any exception
	   name not found in the list of error codes for exceptions.

	2. Whenever we throw an exception exobj anywhere in the
	   CS code, the CSErrorCode is set in the base class
	   constructor.

	3. We add a new field csErrorCode in classes CloudException,
	   RuntimeCloudException, ExecutionException and
	   ExceptionResponse.

	4. Two places in ApiServer.java were wrongly modified when
	   putting in changes for bug 13127 to not throw an exception.
	   This has been corrected in this commit.
2012-03-05 17:39:09 -08:00
Sheng Yang 1cd4ef5f07 bug 14110: Fix error message
status 14110: resolved fixed
2012-03-05 11:02:19 -08:00
Sheng Yang 887256ad12 bug 14076: Fix the exception scope
status 14076: resolved fixed
2012-03-01 14:58:40 -08:00
Alena Prokharchyk ce433f9df2 Wrap deletePhysicalNetwork in transaction 2012-02-29 11:02:57 -08:00
Vijayendra Bhamidipati 59631452b9 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Modify Exception handling to enable addition of multiple
	uuids in a single exception thrown by API functions. Both
	XML and JSON outputs will store all uuids and Fieldnames.
	This will make it easier to provide more information when
	an exception occurs - for example, a zone id, a cluster id,
	host id, and then a specific property id.
2012-02-27 17:55:03 -08:00
Vijayendra Bhamidipati bfe1122bc6 Bug 13127: API error text refer to database ids instead of uuids
Description:

	Added a field name for the db id in the IdentityProxy class, and
	modified setProxyObject() to take an additional id name parameter.
	This will let us know the name of the uuid that we are returning.
	E.g.- domainId, zoneId, etc. The client can view this field in
	the json/xml output. Modified the JSON/XML serialization routines
	to append this new parameter to the serialized output for Exception
	Responses.
2012-02-27 17:55:01 -08:00
Vijayendra Bhamidipati c3fbe29cf8 Bug 13127: API error text refer to database ids instead of uuids
Description:

	1) Added a setProxyObject() method to CloudException and RuntimeCloudException
	2) Modified a bunch of throw exceptions in NetworkManagerImpl.java to call setProxyObject() before throwing an exception.
	3) Changed scope of ProxyIdentity attribute to protected.
	4) Added routines to ServerApiException to get/set IdentityProxy object, and
	   routine in RuntimeCloudException to get the Idproxy object.
	5) Modified the exception handling around the dispatcher and handlerequest()
	   to copy over the IdentityProxy information before rethrowing an exception
	   eventually back to handle().
	6) Removed duplicate IdentityProxy object in ServerApiException.
	   It was extending RuntimeCloudException which already had an
	   IdentityProxy object.
2012-02-27 17:54:56 -08:00
Vijayendra Bhamidipati 768d7a2a26 Bug 13127: API error text refer to database ids instead of uuids
Description:

1)	Moved RuntimeCloudException from api/ to utils/.

	Added simple constructor to RuntimeCloudException.

	Modified all classes that extended RuntimeException
	to extend RuntimeCloudException. These classes
	are listed below:

		ServerApiException
		CloudAuthenticationException
		CloudExecutionException
		AsyncCommandQueued
		HypervisorVersionChangedException
		RuntimeCloudException

2)	Added overloaded constructed to CloudException.
	Modified all classes that extend Exception to extend CloudException instead.
	These classes are listed below:

		ConcurrentOperationException
                ConflictingNetworkSettingsException
                ConnectionException
                DiscoveryException
                InsufficientCapacityException
                ManagementServerException
                ResourceUnavailableException
                VirtualMachineMigrationException
                AgentControlChannelException
                OperationTimedoutException.java
                UnsupportedVersionException.java
                UsageServerException.java
                UnableDeleteHostException.java
                AgentAuthnException.java
                HttpCallException.java
                ActiveFencingException.java
                ClusterInvalidSessionException.java
                GreTunnelException.java
                OvsVlanExhaustedException.java
2012-02-27 17:54:53 -08:00
Kelven Yang 2d9a949ff8 bug 13989: get domr control IP from NIC table, the old private ip in domain_router table is no longer valid under basic zone configuration. Reviewed-By: Anthony 2012-02-27 15:05:18 -08:00
Alena Prokharchyk 8f988b97cb Clone services map when do provider/service verification during network offering addition.
Reviwed-by: Prachi Damle
2012-02-24 15:32:01 -08:00
Kelven Yang b597362e50 bug 13989: GetDomRVersion command context is not correctly set for VMware under Basic zone configuration. Reviewed-By: Anthony 2012-02-24 10:01:07 -08:00
Alena Prokharchyk 6612744c61 bug 13971: return only offerings with matching tags when zoneId is passed in and corresponding zone has more than 1 physical network
status 13971: resolved fixed
Reviewed-by: Prachi Damle
2012-02-23 16:52:50 -08:00
Alena Prokharchyk f03fc196ad bug 13961: always return NetworkUsageAnswer from the networkUsageCommand
status 13961: resolved fixed
Reviewed-by: Alex Huang
2012-02-23 11:15:38 -08:00
Sheng Yang e2c7fe5f4f Fix debug messages in RulesManagerImpl
Reviewed-by: Edison
2012-02-23 10:58:57 -08:00
Alena Prokharchyk 99b0fbbdcb bug 13925: don't allow to delete the network when there are vms in Error state (these vms has to be cleaned up by expunge process first)
status 13925: resolved fixed
Reviewed-by: Sheng Yang
2012-02-22 11:55:08 -08: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
prachi 760c62eb15 Bug 13224 - Network Usage - Netscaler - External device is being queried multiple times (up to 8 times) whenever the Network Usage task is run.
Reviewed-by: Kishan

Changes:
- Separated out the External Network Usage task from the ExternalLBDeviceMgr because ExternalLbDeviceMgrImpl :: start() was getting multiple times during management server satrtup. The reason for this is that this is the baseclass for F5 and NetScalarElement.
- This caused us to schedule the ExternalNetworkUsageTask multiple times
- Also we have LBRulesMgr calling this ExternalLbDeviceMgrImpl  by creating an instance of this class which is declared abstract
- Hence having a separate implementation to manage the network usage stats should solve this.
2012-02-21 17:16:07 -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
Sheng Yang a9a1475302 bug 13915: Fix VirtualRouter get gateway IP when others used as SourceNatServiceProvider
status 13915: resolved fixed

Reviewed-by: Edison
2012-02-21 15:24:14 -08:00
kishan d0612151d8 Bug 13823: Throw network conflict expection when LB rules conflict
Status 13823: resolved fixed
Reviewed-By: Nitin
2012-02-22 01:15:29 +05:30
kishan 11e4ded985 Bug 13619: Throw exception when not traffic sentinel host is not available. Update last_collection timestamp when atleast 1 IP has nonzero bytes
Status 13619: resolved fixed
Reviewed-By: Nitin
2012-02-21 23:41:37 +05:30
Alena Prokharchyk 4dea695e09 bug 13871: use perzone and peraccount (no spaces in values) when compare source nat capabilities
status 13871: resolved fixed
Reviewed-by: Chiradeep Vittal
2012-02-21 10:06:29 -08:00