Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Azure cannot perform a VIP swap between deployments that have a different number of endpoints

I'm trying to perform a VIP swap via the azure portal and I'm getting the error:

Windows Azure cannot perform a VIP swap between deployments that have a different number of endpoints.

I looked closer and I DO see difference in # of endpoints (2 in production vs 3 in staging).

Production:

Input Endpoints
OUR.API:168.62.21.50:80 
OUR.API:168.62.21.50:3389

Staging:

Input Endpoints
OUR.API:168.62.22.55:80 
OUR.API:168.62.22.55:3389 
OUR.API:168.62.22.55:8172

Port 80 is web and 3389 is remote desktop. So far so good. Where is that additional port, 8172, coming from? Nothing in the application listens to anything other than port 80. Plus the applications in the staging and production areas are almost identical - so it's gotta be the framework. Any steps in narrowing this down?

[edit] Also, my role's ServiceDefinition.csdef has just one endpoint defined:

 <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
like image 370
DeepSpace101 Avatar asked Aug 29 '12 02:08

DeepSpace101


1 Answers

"Where is that additional port, 8172, coming from?"

It is from WebDeploy being enabled in the publishing settings

Long answer:

I parsed the entire configuration one by one between the staging and production, here is what I found:

Your publishing settings are saved to

<azurerole>\Profiles\<yourprofilename>.azurePubxml

My production deployment had <AzureEnableWebDeploy>True</AzureEnableWebDeploy> while my staging deployment had <AzureEnableWebDeploy>False</AzureEnableWebDeploy>

The Azure infrastructure then looks that up and opens port 8172 to enable WebDeploy on the staging roles. So that's why the endpoints are different despite no new endpoint defined in the ServiceDefinition.csdef file.

I'm not sure why having different number of endpoints should prevent an Azure Publication itself.

like image 85
DeepSpace101 Avatar answered Oct 15 '22 16:10

DeepSpace101