Azure / WALinuxAgent

Microsoft Azure Linux Guest Agent
http://azure.microsoft.com/
Apache License 2.0
537 stars 373 forks source link

Improve ext_sequencing failed deployment regex #3206

Closed maddieford closed 3 weeks ago

maddieford commented 4 weeks ago

Description

The ext_sequencing scenario deploys arm templates and expects some deployments to fail. The scenario checks that the deployment failure is expected using a regex. The regex is currently capturing the last failure in the deployment details (which works in some cases but fails in others).

An example of a case where the last failure is not the failure we want to capture (DeploymentOutputEvaluationSkipped is not the failure we care about):

(DeploymentFailed) At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details. Code: DeploymentFailed Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details. Exception Details: (Conflict) { "status": "Failed", "error": { "code": "ResourceDeploymentFailure", "message": "The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.", "details": [ { "code": "VMExtensionProvisioningError", "target": "0", "message": "Multiple VM extensions failed to be provisioned on the VM. The Extensions failed due to the errors: \n[Extension Name: 'AzureMonitorLinuxAgent'\nError Message: VM Extension 'AzureMonitorLinuxAgent' is marked as failed since it depends upon the VM Extension 'CustomScript' which has failed.]\n\n[Extension Name: 'CustomScript'\nError Message: VM has reported a failure when processing extension 'CustomScript' (publisher 'Microsoft.Azure.Extensions' and type 'CustomScript'). Error message: 'Enable failed: failed to execute command: command terminated with exit status=1\n[stdout]\n\n[stderr]\n'. More information on troubleshooting is available at https://aka.ms/VMExtensionCSELinuxTroubleshoot. ]\n" } ] } } Code: Conflict Message: { "status": "Failed", "error": { "code": "ResourceDeploymentFailure", "message": "The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.", "details": [ { "code": "VMExtensionProvisioningError", "target": "0", "message": "Multiple VM extensions failed to be provisioned on the VM. The Extensions failed due to the errors: \n[Extension Name: 'AzureMonitorLinuxAgent'\nError Message: VM Extension 'AzureMonitorLinuxAgent' is marked as failed since it depends upon the VM Extension 'CustomScript' which has failed.]\n\n[Extension Name: 'CustomScript'\nError Message: VM has reported a failure when processing extension 'CustomScript' (publisher 'Microsoft.Azure.Extensions' and type 'CustomScript'). Error message: 'Enable failed: failed to execute command: command terminated with exit status=1\n[stdout]\n\n[stderr]\n'. More information on troubleshooting is available at https://aka.ms/VMExtensionCSELinuxTroubleshoot. ]\n" } ] } } (Conflict) { "error": { "code": "DeploymentOutputEvaluationSkipped", "message": "Template output evaluation skipped: at least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details." } } Code: Conflict Message: { "error": { "code": "DeploymentOutputEvaluationSkipped", "message": "Template output evaluation skipped: at least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details." } }

This PR updates the regex to be stricter. Now the regex only matches failure with code 'ResourceDeploymentFailure'

Issue #


PR information

Quality of Code and Contribution Guidelines