5

Sto provando a installare un'estensione diagnostica tramite API in un servizio cloud Azure esistente. Il servizio cloud ha un IP riservato assegnato. Sto ricevendo "Un IP riservato non può essere aggiunto, rimosso o modificato durante l'aggiornamento della distribuzione o l'aggiornamento." Quando si utilizza ChangeConfigurationBySlot. Qualcuno sa il trucco per farlo funzionare? È un errore nell'API o sto facendo qualcosa di sbagliato?Impossibile aggiornare Azure Deployment quando sta utilizzando IP riservati

Ecco un frammento di codice rilevante:

var dep = client.Deployments.GetBySlot(resource.ServiceName, DeploymentSlot.Production); 
var serviceConfig = XElement.Parse(dep.Configuration, LoadOptions.SetBaseUri); 

var config = new DeploymentChangeConfigurationParameters(serviceConfig.ToString()) 
      { 
       ExtendedProperties = dep.ExtendedProperties, 
       Mode = DeploymentChangeConfigurationMode.Auto, 
       TreatWarningsAsError = false, 
       Configuration = serviceConfig.ToString(), 
       ExtensionConfiguration = new ExtensionConfiguration 
              { 
               AllRoles = new List<ExtensionConfiguration.Extension>(), 
               NamedRoles = extensionConfig 
              } 
      }; 
var result = client.Deployments.ChangeConfigurationBySlot(resource.ServiceName, DeploymentSlot.Production, config); 

Qui è la sezione rilevante dal servizio cloud config

<ServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" serviceName="IS.Admin.Azure" osFamily="4" osVersion="*" schemaVersion="2014-06.2.4" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"> 
    <Role name="IS.Admin"> 
… 
    </Role> 
    <NetworkConfiguration> 
    <VirtualNetworkSite name="is-prod" /> 
    <AddressAssignments> 
     <InstanceAddress roleName="IS.Admin"> 
     <Subnets> 
      <Subnet name="Subnet-1" /> 
     </Subnets> 
     </InstanceAddress> 
     <ReservedIPs> 
     <ReservedIP name="is-admin-rip" /> 
     </ReservedIPs> 
    </AddressAssignments> 
    </NetworkConfiguration> 
</ServiceConfiguration> 

mio aggiornamento non ha nulla a che fare con il cambiamento/rimozione/aggiunta di indirizzi IP riservati. Qualche idea su come aggiornare la configurazione del servizio?

+3

Caro anonimo: grazie per il downvote, ti interessa spiegare perché? La domanda fornisce molti dettagli e non è stato possibile trovare un duplicato della domanda precedente per questo problema – Igorek

+0

Nel nuovo aggiornamento di configurazione, si assegna quindi lo stesso IP e subnet riservati? La sezione pertinente dalla configurazione del servizio cloud è l'aggiornamento o la configurazione iniziale del servizio? – Peter

+0

nell'aggiornamento della configurazione, la vecchia configurazione viene riapplicata e ha il riferimento all'IP riservato, come indicato nella domanda XML – Igorek

risposta

0

Provare a distribuire e fare un vip swap. Gli IP riservati sono appiccicosi allo slot, quindi non dovrebbe interferire con i tuoi IP in prod.

+0

Sfortunatamente, questa non è un'opzione. Sto solo cercando di cambiare una distribuzione esistente. Questa è una caratteristica del nostro prodotto, per abilitare la diagnostica su una distribuzione esistente. Nessun accesso alla codebase del cliente da ridistribuire alla gestione temporanea – Igorek

+0

È possibile dare un'occhiata a DeploymentDiagnosticManager: https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.diagnostics.management.deploymentdiagnosticmanager.aspx – tripdubroot

+0

@Devian DeploymentDiagnosticManager è obsoleto dall'SDK 2.5. Se possibile, evita di utilizzarlo per apportare modifiche diagnostiche tramite codice. –