How to avoid a farm wide reset during a solution upgrade.

Update xml file in manifest ( MSDN article: http://msdn.microsoft.com/en-us/library/ms412929.aspx ): 

ResetWebServer="FALSE"
ResetWebServerModeOnUpgrade="Recycle"
DeploymentServerType="WebFrontEnd"

The result is the following process will NOT reset the entire farm

stsadm -o retractsolution -name %SolutionName% -url <Site Url> –immediate

stsadm -o upgradesolution -name %SolutionName% -allowGacDeployment -filename %SolutionName%

stsadm -o deploysolution -name %SolutionName% -immediate -url <Site Url> –allowGacDeployment