locked
Azure Stack ASDK - WebApp provisionning fails RRS feed

  • Question

  • Hello Jeff and the AZS team,

    I created an App Service Plan, and I tried to create 3 different kind of WebApps, without success

    (I tried with a shared instance, and with a S1 instance I created too,...same results)

    1.Creation of a Web App

      Deployment Succeeded (the app is created but it doesn't work)

      URL -> http://mywebapp.appservice.local.azurestack.external/
      Kudu -> https://mywebapp.scm.appservice.local.azurestack.external
      Both returns "This page can’t be displayed"

    2.Creation of Django App
      Deployment In progress indefinitively (but the webapp is created)
     RESOURCE:mydjango/MSDeploy
     TYPE:Microsoft.Web/sites/Extensions
     STATUS:InternalServerError

      in Activity log, every minute
     EVENT: Update website extension
     LEVEL: Error
     STATUS: Failed

      URL -> http://mydjango.appservice.local.azurestack.external/
      Kudu -> https://mydjango.scm.appservice.local.azurestack.external
      Both returns "This page can’t be displayed"

    C. Creation of Orchard application

     
     Same error than with Django

    First investigations:
    When I open a remote desktop connection on the underlying server (sharedworkertier_0), I can notice that IIS is stopped, and without content in it.
    In the Windows Services, the World Wide Web Publishing Service is disabled...
    Doesn't make sense...

    any idea?

    Thursday, July 27, 2017 5:09 PM

Answers

  • Here is an update: my issue is now resolved :)

    The root cause was because I didn't executed successfully CreateIdentityApp.ps1 so that I couldn't generate and execute the UpdateConfigOnController.ps1" script on CN0-VM.

    The procedure to execute the CreateIdentityApp.ps1 said :

    4. When prompted for your AAD Tenant ID - enter the AAD Tenant ID you are using for your Azure Stack deployment

    5. In the Credential window provide your Azure Active Directory Service Admin account and password

    In  my case it was 2 differents accounts "azsadmin" and "tenantadmin". and none of these accounts owned an Azure subscription.

    The error message I had where something like "Your account doesn't have a Azure Subscription" or "your credentials timeout... execute Login-AzureRmAccount"

    To fix it, I created a new Azure Subscription with my tenantadmin account, then I changed the Service Admin ownership from tenantadmin to azsadmin.

    I relaunched the CreateIdentityApp.ps1 script and gave the azsadmin account for each prompt.

    and the "UpdateConfigOnController.ps1" script was created successfully. I followed the end of te procedure...and all my issues where resolved.

    I can now create any kind of WebApps successfully, and Kudu is working too...was not the case before.


    • Edited by Daniel TIZON Friday, July 28, 2017 10:51 PM minor correction
    • Marked as answer by Daniel TIZON Friday, July 28, 2017 11:11 PM
    Friday, July 28, 2017 10:45 PM

All replies

  • Hi Daniel,

               sorry to see you're having a number of issues with the Azure App Service RP on Azure Stack.  I'm a Program Manager on Azure App Service and we will work with you to get these resolved.

    1. In the Admin portal, can you view the App Service management and confirm the Status is "All roles are ready" please?

    2. Regarding checking IIS on the workers, this is expected as we use a Dynamic Provisioning Model in order to enable sites to be served from multiple workers dynamically.  Sites/Applications are dynamically served by the workers and content and bindings are mapped dynamically through the Dynamic Windows Process Activation Service.  As such you will not see sites and applications listed in IIS.


    Andrew Westgarth | Program Manager II Azure App Service Blog: http://www.andrewwestgarth.co.uk/blog Twitter: http://www.twitter.com/apwestgarth

    Thursday, July 27, 2017 5:21 PM
  • Hi Andrew,

    Thank you for your answers.

    Yes I can confirm I have the mention "All roles are ready". Roles : 10

    On the right pane, I have the following:

    (I have a 256 GB memory server, for information)

    Role type
    Worker Tier
    Instances
    Controller
    1
    Management Server
    1
    Front End
    1
    Publisher
    1
    File Server
    0
    Web Worker
    Small
    1
    Web Worker
    Shared
    1
    Web Worker
    Medium
    3
    Web Worker
    Large
    1

    Thursday, July 27, 2017 5:28 PM
  • Hi Daniel,

                 can you select the management role and filter the logs of the management role to error level.  Are any errors reported.

    Thanks

    Andrew


    Andrew Westgarth | Program Manager II Azure App Service Blog: http://www.andrewwestgarth.co.uk/blog Twitter: http://www.twitter.com/apwestgarth

    Thursday, July 27, 2017 5:46 PM
  • Hi Andrew,

    I have the following error every minute:

    Source Event ID Task Category
    Error 7/27/2017 5:54:09 PM WebSites 50015 None

    Unhandled exception occurred for RequestId g-db76c63e-1925-4988-909c-0655535f848c , Address /subscriptions/477255e1-d601-4263-a2f7-ca9ba97ba2c4/resourcegroups/web-AppService-rg/providers/Microsoft.Web/sites/mydjango/Extensions/MSDeploy?api-version=2016-03-01, Verb PUT. Status Code: System.AggregateException: One or more errors occurred. ---> System.ServiceModel.Web.WebFaultException`1[Microsoft.Web.Hosting.Administration.ErrorEntity]: Internal Server Error
       at Microsoft.Web.Hosting.Administration.Csm.Common.Clients.GeoClientBase.<InvokeAsync>d__0.MoveNext()
       --- End of inner exception stack trace ---
       at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
       at Microsoft.Web.Hosting.Administration.Csm.Common.Controllers.SitesCsmController.InvokeSiteExtension(IRepositoryContext context, WebSite webSite, String subscriptionId, String resourceGroupName, String name, String siteWithSlotName, String location, String extensionApiMethod, HttpRequestMessage requestMessage, String instanceId)
       at Microsoft.Web.Hosting.Administration.Csm.Common.Controllers.SitesCsmController.InvokeSiteExtension(String subscriptionId, String resourceGroupName, String name, String slot, String extensionApiMethod, HttpRequestMessage requestMessage, String instanceId, Boolean viaExtensionsRoute)
       at Microsoft.Web.Hosting.Administration.Csm.Common.Surfaces.WebAppsCsmSurface.InvokeSiteExtension(String subscriptionId, String resourceGroupName, String name, String extensionApiMethod, String slot, String instanceId)
       at lambda_method(Closure , Object , Object[] )
       at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
       at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()
    ---> (Inner Exception #0) System.ServiceModel.Web.WebFaultException`1[Microsoft.Web.Hosting.Administration.ErrorEntity]: Internal Server Error (Fault Detail is equal to Code: InternalServerError, ExtendedCode: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.102.29:443
       at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
       at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
       --- End of inner exception stack trace ---
       at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
       at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
       --- End of inner exception stack trace ---
       at System.Runtime.E...).<---
    , Exception: 500. Subscription 477255e1-d601-4263-a2f7-ca9ba97ba2c4, web space web-appservice-rg, site mydjango, details: None.

    Thursday, July 27, 2017 6:12 PM
  • Hi Daniel,

                within the App Service Management please go to the management role and filter the logs to error.  Please share any log messages that are output.

    Thanks

    Andrew


    Andrew Westgarth | Program Manager II Azure App Service Blog: http://www.andrewwestgarth.co.uk/blog Twitter: http://www.twitter.com/apwestgarth

    Thursday, July 27, 2017 7:30 PM
  • Here is an update

    In the error message, I can read : System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.102.29:443

    There were an issue on the FE-0VM (Front-Ends Virtual Machines).

    I stopped it, restarted it, it resolved the "This page can’t be displayed" issue on the URL page of the WebApp (point 1)

    The issue on Update website extension / MSDeploy (point 2 and 3) is still here.
    This error occurs again on a new DjangoApp deployment for an example, but there is no new error on the management role eventlogs.

    Any ideas?

    Thursday, July 27, 2017 7:59 PM
  • I would like to throw out that I am seeing similar behavior on the latest ASDK build.  I am able to deploy a simple WebApp with success, but I consistently get InternalServerError using the deployment of a DNN or Wordpress application.  All my App Service roles look are showing Ready in the management console on CN01.

    Here's a snippet of the Operation Details on those failures (sorry for the messy copy and paste).

    { "error": { "code": "InternalServerError", "message": "<!DOCTYPE html>\r\n<html>\r\n<script type=\"text/javascript\">\r\n function loc() {\r\n var browserLanguage = (navigator.language) ? navigator.language : navigator.userLanguage;\r\n var t, h, p;\r\n switch (browserLanguage.toLowerCase()) {\r\n case \"en-us\":\r\n t = \"WAP Websites - Site Error\";\r\n h = \"Error 500\";\r\n p = \"The site has experienced an unexpected service error. We apologize for the inconvenience. Please try to reload the page or visit it again soon.\";\r\n break;\r\n case \"de-de\":\r\n t = \"WAP Websites - Site Error\";\r\n h = \"Fehler 500\";\r\n p = \"Ortsbild hat eine unerwartete Dienstfehler erlebt. Wir entschuldigen uns für die Unannehmlichkeiten. Versuchen Sie bitte die Seite neu laden oder besuchen bald wieder.\";\r\n break;\r\n case \"es-es\":\r\n t = \"WAP Websites - Error\";\r\n h = \"Error 500\";\r\n p = \"El sitio ha experimentado un error inesperado. Por favor intente recargar la página o visite la página posteriormente.\";\r\n break;\r\n case \"fr-fr\":\r\n t = \"WAP Websites - Site Error\";\r\n h = \"Erreur 500\";\r\n p = \"Le site a connu une erreur inattendue de service. Nous nous excusons pour la gêne occasionnée. S'il vous plaît essayez de recharger la page ou de visiter à nouveau bientôt.\";\r\n break;\r\n case \"it-it\":\r\n t = \"WAP Websites - Site Error\";\r\n h = \"Errore 500\";\r\n p = \"Il sito ha riscontrato un errore imprevisto del servizio. Ci scusiamo per l'inconveniente. Prova a ricaricare la pagina o visitare di nuovo presto.\";\r\n break;\r\n case \"ja-jp\":\r\n t = \"WAP Websites - Site Error\";\r\n h = \"エラー 500 \";\r\n p = \"サイトで予期しないサービスエラーが発生しました。ご迷惑をおかけして申し訳ありません。ページをリロードするか、しばらく経ってから再度アクセスしてください。\";\r\n break;\r\n case \"ko-kr\":\r\n t = \"WAP Websites - Site Error\";\r\n h = \"오류 500\";\r\n p = \"사이트 예기치 않은 서비스 오류가 발생 했습니다. 우리는 불편을 위해 사과 한다. 제발 페이지를 다시 로드 또는 곧 다시 방문 하려고 합니다.\";\r\n break;\r\n case \"pt-br\":\r\n t = \"WAP Websites - Site Error\";\r\n

    Friday, July 28, 2017 9:04 PM
  • Here is an update: my issue is now resolved :)

    The root cause was because I didn't executed successfully CreateIdentityApp.ps1 so that I couldn't generate and execute the UpdateConfigOnController.ps1" script on CN0-VM.

    The procedure to execute the CreateIdentityApp.ps1 said :

    4. When prompted for your AAD Tenant ID - enter the AAD Tenant ID you are using for your Azure Stack deployment

    5. In the Credential window provide your Azure Active Directory Service Admin account and password

    In  my case it was 2 differents accounts "azsadmin" and "tenantadmin". and none of these accounts owned an Azure subscription.

    The error message I had where something like "Your account doesn't have a Azure Subscription" or "your credentials timeout... execute Login-AzureRmAccount"

    To fix it, I created a new Azure Subscription with my tenantadmin account, then I changed the Service Admin ownership from tenantadmin to azsadmin.

    I relaunched the CreateIdentityApp.ps1 script and gave the azsadmin account for each prompt.

    and the "UpdateConfigOnController.ps1" script was created successfully. I followed the end of te procedure...and all my issues where resolved.

    I can now create any kind of WebApps successfully, and Kudu is working too...was not the case before.


    • Edited by Daniel TIZON Friday, July 28, 2017 10:51 PM minor correction
    • Marked as answer by Daniel TIZON Friday, July 28, 2017 11:11 PM
    Friday, July 28, 2017 10:45 PM
  • Hi Lamiam1

    Have you executed the UpdateConfigOnController.ps1 on the CN0-VM controler?

    Does your simple web App is answering to its URL ?

    Does your simple web App has Kudu working ?

    If not you need to resolve that before.

    Friday, July 28, 2017 10:49 PM
  • Hi Daniel,

    All my problems could also be traced back to incorrect configuration on UpdateConfigOnController.ps1.  Once all that got ironed out, everything works.

    Thanks!

    Mike

    Monday, July 31, 2017 5:00 PM