Azure / service-fabric-mesh-preview

Service Fabric Mesh is the Service Fabric's serverless offering to enable developers to deploy containerized applications without managing infrastructure. Service Fabric Mesh , aka project “SeaBreeze” is currently available in private preview. This repository will be used for tracking bugs/feature requests as GitHub issues and for maintaining the latest documentation.
MIT License
82 stars 13 forks source link

Unable to deploy quickstart - AdditionalPropertyValidationErrors #189

Closed mcollier closed 6 years ago

mcollier commented 6 years ago

Attempting to deploy the quickstart sample at https://github.com/Azure/service-fabric-mesh-preview-pr/blob/master/docs/conceptual-docs/application-deployment-quickstart.md failed with the error message shown below. Attempted to use the (very similar) template at https://github.com/Azure/service-fabric-mesh-preview-pr/blob/master/samples/src/votingapp/linux/Deployment/quickstart-linux.json. Same error message.

_Deployment failed. Correlation ID: ba4e22b6-bd7d-4121-adcd-a727902ef23e. { "error": { "code": "AdditionalPropertyValidationErrors", "message": "Multiple additional properties detected for current request.", "details": [ { "code": "UnsupportedProperty", "message": "Property: .properties.schemaversion is not supported." }, { "code": "UnsupportedProperty", "message": "Property: .properties.ingressconfig.layer4[].name is not supported." } ], "innerError": "Code: AdditionalPropertyValidationErrors - System.Fabric.Wrp.Common.AggregatedWrpException: Multiple additional properties detected for current request.\r\n{\r\n \"Details\": [\r\n {\r\n \"Code\": \"UnsupportedProperty\",\r\n \"Message\": \"Property: .properties.schemaversion is not supported.\",\r\n \"Target\": null\r\n },\r\n {\r\n \"Code\": \"UnsupportedProperty\",\r\n \"Message\": \"Property: .properties.ingressconfig.layer4[].name is not supported.\",\r\n \"Target\": null\r\n }\r\n ],\r\n \"InnerError\": null,\r\n \"Code\": \"AdditionalPropertyValidationErrors\",\r\n \"Message\": \"Multiple additional properties detected for current request.\",\r\n \"Target\": null\r\n}\r\n at Microsoft.ServiceFabric.Rp.Model.Public.ExternalApiEntityValidator.Validate(String schema, IEnumerable1 additionalPropertiesPaths, IEnumerable1 apiVersions) in D:\agent_work\1\s\src\Common\Model\Public\ExternalApiEntityValidator.cs:line 92\r\n at System.Fabric.Wrp.Common.WrpJsonFormatter.<>cDisplayClass8_0.b__0() in D:\agent_work\1\s\src\Common\Common\JsonFormatterSelector.cs:line 102\r\n at System.Threading.Tasks.Task1.InnerInvoke()\r\n at System.Threading.Tasks.Task.Execute()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()\r\n at System.Net.Http.HttpContentExtensions.d01.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.HttpActionBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()\r\n at System.Web.Http.Controllers.ExceptionFilterResult.d_0.MoveNext()" } }

plooploops commented 6 years ago

Hi @mcollier, I saw the same issue. I did try to remove the schemaVersion in the network resource definition, then redeployed. I got a failure from that as well.

Deployment failed. Correlation ID: 709c4874-b958-4ddc-8d13-e2adb1821136. { "status": "Failed", "error": { "code": "ResourceDeploymentFailure", "message": "The resource operation completed with terminal provisioning state 'Failed'." } }

mattrowmsft commented 6 years ago

The first error was a bug in the template that I think was fixed today. The second error was in the RP, which we will be rolling fix out over the weekend.

SamirFarhat commented 6 years ago

I'm getting the same problem now (07/01). { "error": { "code": "AdditionalPropertyValidationErrors", "message": "Multiple additional properties detected for current request.", "details": [ { "code": "UnsupportedProperty", "message": "Property: .properties.schemaversion is not supported." } ],

The network resource definition : { "apiVersion" : "2018-03-01-privatepreview", "name" : "casenetwork", "type" : "Microsoft.ServiceFabric/networks", "location" : "[parameters('location')]", "dependsOn" : [], "properties" : { "addressPrefix" : "10.0.0.4/22", "ingressConfig" : { "layer4" : [ { "publicPort" : "80", "applicationName" : "case", "serviceName" : "wps", "endpointName" : "wps" } ] }, "schemaVersion" : "0.0.1" } },

SamirFarhat commented 6 years ago

Removing the SchemaVersion properties like mentioned here allows the deployment to start, but it fails after 2 hours. { "error": { "code": "ResourceDeploymentFailure", "message": "The resource provision operation did not complete within the allowed timeout period. Please see https://aka.ms/arm-deploy for usage details." } }

SamirFarhat commented 6 years ago

Hi @mattrowmsft,

Do you think this will be addressed or fixed. This prevents any new deployment.

Thanks Samir

mattrowmsft commented 6 years ago

@SamirFarhat we are working through the samples now to correct the extra fields. I would expect us to be finished with that by EOD 7/2 (Redmond time).

mcollier commented 6 years ago

@mattrowmsft I think this may also be impacting deployments from Visual Studio 2017. When I try, I get an error in Visual Studio directing me to view the deployment error in the Azure Portal. In the Azure portal, I see an error indicating ".properties.schemaversion is not supported".

mattrowmsft commented 6 years ago

@mcollier, @amanbha mentioned this might be issue with older tooling versions.

mcollier commented 6 years ago

@mattrowmsft @amanbha Which version would be the latest version? I installed the tools listed at https://github.com/Azure/service-fabric-mesh-preview-pr/blob/master/docs/conceptual-docs/setup-developer-environment-sdk.md#sdk-and-tools. The Service Fabric Mesh SDK appears to be 3.2.116 (according to the file name), and the Service Fabric Tools (Preview) version appears to be 0.7.20180523.2.

amanbha commented 6 years ago

We plant o release a new build for tooling in couple of days.

plooploops commented 6 years ago

@mattrowmsft After removing the schemaVersion property in the network resource in the deployment.json, it looks like the validation check gets passed. However, the deployment itself is failing.
image

SamirFarhat commented 6 years ago

Yes, like @plooploops is stating, this generic errors means (behind the scenes by getting the status of the App like az mesh app list) the "FailedInsufficientCapacity". It's very wired that even for 1 application with 1 core i'm getting this error. @ChackDan has mentioned last may (May 3 ?) that this is because the SFM program has been allocated limited capacity. I think that with the expansion of pp3 and the Build announcement, the program should be allocated additional capacity. No new deployment because of this.

thinkthencode commented 6 years ago

I just tried the hello world sample and getting below error:

Deployment failed. Correlation ID: e7658697-2b49-49d4-8fd4-d7eb62ed463c. { "error": { "code": "AdditionalPropertyValidationErrors", "message": "Multiple additional properties detected for current request.", "details": [ { "code": "UnsupportedProperty", "message": "Property: .properties.schemaversion is not supported." } ], "innerError": "Code: AdditionalPropertyValidationErrors - System.Fabric.Wrp.Common.AggregatedWrpException: Multiple additional properties detected for current request.\r\n{\r\n \"Details\": [\r\n {\r\n \"Code\": \"UnsupportedProperty\",\r\n \"Message\": \"Property: .properties.schemaversion is not supported.\",\r\n \"Target\": null\r\n }\r\n ],\r\n \"InnerError\": null,\r\n \"Code\": \"AdditionalPropertyValidationErrors\",\r\n \"Message\": \"Multiple additional properties detected for current request.\",\r\n \"Target\": null\r\n}\r\n at Microsoft.ServiceFabric.Rp.Model.Public.ExternalApiEntityValidator.Validate(String schema, IEnumerable1 additionalPropertiesPaths, IEnumerable1 apiVersions) in D:\agent_work\3\s\src\Common\Model\Public\ExternalApiEntityValidator.cs:line 92\r\n at System.Fabric.Wrp.Common.WrpJsonFormatter.<>cDisplayClass8_0.b__0() in D:\agent_work\3\s\src\Common\Common\JsonFormatterSelector.cs:line 102\r\n at System.Threading.Tasks.Task1.InnerInvoke()\r\n at System.Threading.Tasks.Task.Execute()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()\r\n at System.Net.Http.HttpContentExtensions.d01.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.ModelBinding.FormatterParameterBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.HttpActionBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()\r\n at System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()" } }

SamirFarhat commented 6 years ago

Remove the SchemaVersion Properties

thinkthencode commented 6 years ago

Yeah, just did it. It worked.

plooploops commented 6 years ago

Looks like it's working again with the SchemaVersion removed from the network resource.

mikkelhegn commented 6 years ago

This has been fixed across the templates in this repo.

mcollier commented 6 years ago

Confirmed - I could deploy the quickstart samples using the updated CLI (mesh, 0.7.0).