2016-05-02 1 views
2

Existe-t-il un moyen de faire annuler la tentative de configuration par DSC si une erreur survient et pas seulement passer à la ressource suivante dans la configuration? Fondamentalement, je veux désactiver "sur l'erreur reprenant ensuite" et faire ce que le chef fait - annuler l'exécution sur erreur.Abandon DSC sur l'erreur

Répondre

2

Si vous ajoutez DependsOn à une ressource que vous ne souhaitez pas continuer, il s'interrompra si une erreur se produit dans la chaîne de dépendances.

Voir Using DependsOn et this StackOverflow answer describing dependencies

Par exemple, dans la configuration ci-dessous, si le groupe échoue, aucun des autres ressources sera créé, car UserExample dépend de GroupExample et UserExample2 dépend UserExample.

Configuration DependsOnExample { 
    Node Test-PC1 { 
     Group GroupExample { 
      Ensure = "Present" 
      GroupName = "TestGroup" 
     } 

     User UserExample { 
      Ensure = "Present" 
      UserName = "TestUser" 
      FullName = "TestUser" 
      DependsOn = "[Group]GroupExample" 
     } 
     User UserExample2 { 
      Ensure = "Present" 
      UserName = "TestUser2" 
      FullName = "TestUser2" 
      DependsOn = "[User]UserExample" 
     } 
    } 
} 

Il n'y a pas un moyen d'obtenir le même comportement sans dépendance explicite.

Si vous souhaitez demander la fonctionnalité de l'équipe produit, je vous suggère le dépôt d'une question dans le PowerShell User Voice

Travis

+0

qui est si bavard et cassant ... – Jeff

+0

je modifie le message avec un lien vers déposer un élément vocal utilisateur pour suggérer un meilleur comportement à notre équipe produit, mais pour l'instant, je crois que c'est la meilleure réponse. – TravisEz13

+0

D'accord, merci. C'est malheureux. DSC est vraiment une bonne idée dans le concept. Malheureusement, il semble être très fragile et le faire fonctionner est un mal de tête. L'utilisation du moteur de chef semble être une solution plus stable pour l'instant – Jeff