Deploying custom built Azure package - Role never starts

Topics: Installing Orchard, Troubleshooting
Feb 27, 2011 at 1:31 AM

Hi,

After using the pre-built 1.0.20 Azure package for a while I thought I would build my own in order to include some addition themes.  

I added the themes to the code base (as per the instructions @ http://www.orchardproject.net/docs/Deploying-Orchard-to-Windows-Azure.ashx).  Ran ClickToBuildAzurePackage.cmd.  It all appeared to compile and package ok.  I updated the DataConnectionString in the cscfg file and uploaded it to Azure (as a dev deployment) using the console.

The upload went ok and then it got to the "starting role" stage. After 12 hours the status was still saying the same thing. 

Can anyone provide any assistance / suggestions as to why the deployment is not working or how to troubleshoot it?? I am using the 1.0.20 source code drop (from the downloads page) and using Azure SDK 1.3 (including the recent refresh) on Windows 7.

 

Cheers

Sam

Coordinator
Feb 27, 2011 at 6:36 AM
Edited Feb 27, 2011 at 6:36 AM

This happens sometimes with Azure, though it might not be related to Orchard itself. You should try to delete everything on Azure and try again. Specially the blob storage data.

Sebastien

Feb 27, 2011 at 9:30 AM

Hi Sebastien,

As my current site is in production (and therefore didn't really want to delete it), I created a new hosted service and a new storage account, and deployed my package to those.  However I am still getting the same behavior.

 

Cheers

Sam

Coordinator
Feb 27, 2011 at 5:58 PM

Maybe a reference to a mandatory dll is missing. Can you check that all references are Copy Local if the assembly is not supposed to be in the GAC on Azure ? Like Razor, MVC, ... Sometimes the flag is removed from the solution. This is solved in the current dev version but you will have to wait for the next release to benefit from it.

Coordinator
Feb 27, 2011 at 8:40 PM

To clarify: Check that all DLLs from the "lib\aspnetmvc" directory are in the "~/bin" folder of the "Orchard.Azure.Web" application.

If these DLLs are not in "~/bin", the fix is to update the "Orchard.Azure.Web.csproj" file by adding a "<Private>True</Private>" element to all references that come from the "lib" directory.

For example:

Change this:

    <Reference Include="System.Web.WebPages">
      <HintPath>..\..\..\lib\aspnetmvc\System.Web.WebPages.dll</HintPath>
    </Reference>

to this:

    <Reference Include="System.Web.WebPages">
      <HintPath>..\..\..\lib\aspnetmvc\System.Web.WebPages.dll</HintPath>  
     <Private>True</Private>
    </Reference>

 As Sebastien mentioned, we fixed this in the current dev branch.

Note that, from what I've seen, you can _not_ trust the "Copy Local" property in Visual Studio, because the behavior changes depdending on wheter the corresponding assembly is in the GAC (or not). So, even though sometimes you see "Copy Local: True" in Visual Studio, the corresponding "Private" element in the .csproj file is not set to "True".

Feb 28, 2011 at 1:20 AM

I can confirm that the assemblies were missing and setting Private=True resolved the problem with the Azure deployment.

Thanks for your help.

 

Cheers

Sam