worried-city-86458
06/16/2021, 7:15 PMChanges:
Type Name Operation
> pulumi:pulumi:StackReference pharos/aws-eks/alpha read
- kubernetes:core:ServiceAccount kube-system/aws-load-balancer-controller delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-issuers delete
- kubernetes:<http://rbac.authorization.k8s.io:Role|rbac.authorization.k8s.io:Role> kube-system/cert-manager:leaderelection delete
- kubernetes:<http://rbac.authorization.k8s.io:RoleBinding|rbac.authorization.k8s.io:RoleBinding> cert-manager/cert-manager-webhook:dynamic-serving delete
- kubernetes:<http://rbac.authorization.k8s.io:Role|rbac.authorization.k8s.io:Role> kube-system/cert-manager-cainjector:leaderelection delete
- kubernetes:<http://admissionregistration.k8s.io:ValidatingWebhookConfiguration|admissionregistration.k8s.io:ValidatingWebhookConfiguration> cert-manager-webhook delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-orders delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-clusterissuers delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-ingress-shim delete
- kubernetes:apps:Deployment cert-manager/cert-manager delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-approve:cert-manager-io delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-clusterissuers delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> aws-load-balancer-controller-rolebinding delete
- kubernetes:<http://admissionregistration.k8s.io:MutatingWebhookConfiguration|admissionregistration.k8s.io:MutatingWebhookConfiguration> aws-load-balancer-webhook delete
- kubernetes:<http://apiextensions.k8s.io:CustomResourceDefinition|apiextensions.k8s.io:CustomResourceDefinition> kube-system/aws-load-balancer-selfsigned-issuer delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> external-dns delete
- kubernetes:core:Service cert-manager/cert-manager delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-webhook:subjectaccessreviews delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-webhook:subjectaccessreviews delete
- kubernetes:core:Service alpha/internet-gateway delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-edit delete
- kubernetes:apps:Deployment kube-system/external-dns delete
- kubernetes:<http://rbac.authorization.k8s.io:RoleBinding|rbac.authorization.k8s.io:RoleBinding> kube-system/aws-load-balancer-controller-leader-election-rolebinding delete
- kubernetes:<http://networking.k8s.io:Ingress|networking.k8s.io:Ingress> alpha/internal-gateway delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> aws-load-balancer-controller-role delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-ingress-shim delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-cainjector delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-cainjector delete
- kubernetes:<http://admissionregistration.k8s.io:MutatingWebhookConfiguration|admissionregistration.k8s.io:MutatingWebhookConfiguration> cert-manager-webhook delete
- kubernetes:core:Service cert-manager/cert-manager-webhook delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-certificates delete
- kubernetes:apps:Deployment kube-system/aws-load-balancer-controller delete
- kubernetes:apps:Deployment cert-manager/cert-manager-cainjector delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-challenges delete
- kubernetes:core:Service alpha/internal-gateway delete
- kubernetes:<http://rbac.authorization.k8s.io:RoleBinding|rbac.authorization.k8s.io:RoleBinding> kube-system/cert-manager-cainjector:leaderelection delete
- kubernetes:core:ServiceAccount cert-manager/cert-manager-cainjector delete
- kubernetes:core:Service kube-system/aws-load-balancer-webhook-service delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> external-dns delete
- kubernetes:<http://rbac.authorization.k8s.io:Role|rbac.authorization.k8s.io:Role> cert-manager/cert-manager-webhook:dynamic-serving delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-certificates delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-orders delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-issuers delete
- kubernetes:core:ServiceAccount cert-manager/cert-manager-webhook delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-approve:cert-manager-io delete
- kubernetes:<http://apiextensions.k8s.io:CustomResourceDefinition|apiextensions.k8s.io:CustomResourceDefinition> kube-system/aws-load-balancer-serving-cert delete
- kubernetes:<http://rbac.authorization.k8s.io:Role|rbac.authorization.k8s.io:Role> kube-system/aws-load-balancer-controller-leader-election-role delete
- kubernetes:<http://rbac.authorization.k8s.io:RoleBinding|rbac.authorization.k8s.io:RoleBinding> kube-system/cert-manager:leaderelection delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-challenges delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRoleBinding|rbac.authorization.k8s.io:ClusterRoleBinding> cert-manager-controller-certificatesigningrequests delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-view delete
- kubernetes:core:ServiceAccount cert-manager/cert-manager delete
- kubernetes:core:ServiceAccount kube-system/external-dns delete
- kubernetes:core:Service kube-system/external-dns delete
- kubernetes:<http://rbac.authorization.k8s.io:ClusterRole|rbac.authorization.k8s.io:ClusterRole> cert-manager-controller-certificatesigningrequests delete
- kubernetes:<http://admissionregistration.k8s.io:ValidatingWebhookConfiguration|admissionregistration.k8s.io:ValidatingWebhookConfiguration> aws-load-balancer-webhook delete
- kubernetes:<http://networking.k8s.io:Ingress|networking.k8s.io:Ingress> alpha/internet-gateway delete
- kubernetes:apps:Deployment cert-manager/cert-manager-webhook delete
- kubernetes:<http://apiextensions.k8s.io:CustomResourceDefinition|apiextensions.k8s.io:CustomResourceDefinition> <http://challenges.acme.cert-manager.io|challenges.acme.cert-manager.io> delete
- kubernetes:<http://apiextensions.k8s.io:CustomResourceDefinition|apiextensions.k8s.io:CustomResourceDefinition> <http://issuers.cert-manager.io|issuers.cert-manager.io> delete
- kubernetes:<http://apiextensions.k8s.io:CustomResourceDefinition|apiextensions.k8s.io:CustomResourceDefinition> <http://clusterissuers.cert-manager.io|clusterissuers.cert-manager.io> delete
Diagnostics:
pharos/k8s/alpha (pulumi:pulumi:Stack)
error: Running program 'D:\Devel\Mps\devops-gemini-pulumi\Gemini\bin\Debug\gemini.dll' failed with an unhandled exception:
Scriban.Syntax.ScriptRuntimeException: InternalGateway.yaml(5,17) : error : The variable or function `envName` was not found
at void Scriban.TemplateContext.CheckVariableFound(ScriptVariable variable, bool found)
at object Scriban.TemplateContext.GetValue(ScriptVariableGlobal variable)
at object Scriban.Syntax.ScriptVariableGlobal.GetValue(TemplateContext context)
at async ValueTask<object> Scriban.TemplateContext.GetOrSetValueAsync(ScriptExpression targetExpression, object valueToSet, bool setter)
at async ValueTask<object> Scriban.TemplateContext.GetValueAsync(ScriptExpression target)
at async ValueTask<object> Scriban.Syntax.ScriptVariable.EvaluateAsync(TemplateContext context)
at async ValueTask<object> Scriban.TemplateContext.EvaluateAsync(ScriptNode scriptNode, bool aliasReturnedFunction) x 2
at async ValueTask<object> Scriban.Syntax.ScriptExpressionStatement.EvaluateAsync(TemplateContext context)
at async ValueTask<object> Scriban.TemplateContext.EvaluateAsync(ScriptNode scriptNode, bool aliasReturnedFunction) x 2
at async ValueTask<object> Scriban.Syntax.ScriptBlockStatement.EvaluateAsync(TemplateContext context)
at async ValueTask<object> Scriban.TemplateContext.EvaluateAsync(ScriptNode scriptNode, bool aliasReturnedFunction) x 2
at async ValueTask<object> Scriban.Syntax.ScriptPage.EvaluateAsync(TemplateContext context)
at async ValueTask<object> Scriban.TemplateContext.EvaluateAsync(ScriptNode scriptNode, bool aliasReturnedFunction) x 2
at async ValueTask<object> Scriban.Template.EvaluateAndRenderAsync(TemplateContext context, bool render)
at async ValueTask<string> Scriban.Template.RenderAsync(TemplateContext context)
at async void Pulumi.Deployment+Runner+<>c__DisplayClass10_0.<WhileRunningAsync>g__HandleCompletion|0(?)+HandleCompletion(?) in /_/sdk/dotnet/Pulumi/Deployment/Deployment.Runner.cs:line 137
at async Task<int> Pulumi.Deployment+Runner.WhileRunningAsync() in /_/sdk/dotnet/Pulumi/Deployment/Deployment.Runner.cs:line 177
Resources:
- delete 61
28 unchanged
Duration: 13s
bored-oyster-3147
06/16/2021, 7:20 PMworried-city-86458
06/16/2021, 7:21 PMbored-oyster-3147
06/16/2021, 7:24 PMworried-city-86458
06/16/2021, 7:26 PMbored-oyster-3147
06/16/2021, 7:29 PMworried-city-86458
06/16/2021, 7:31 PMbored-oyster-3147
06/16/2021, 7:32 PMworried-city-86458
06/16/2021, 7:32 PMChanges:
Type Name Operation
> pulumi:pulumi:StackReference pharos/aws-eks/alpha read
Diagnostics:
pharos/k8s/alpha (pulumi:pulumi:Stack)
error: transport is closing
Resources:
21 unchanged
Duration: 35m27s
bored-oyster-3147
06/16/2021, 7:50 PMLocalRuntimeService
look likeCommandException
worried-city-86458
06/16/2021, 8:06 PM_callerContext.ExceptionDispatchInfo is null
Want to do a quick interactive session to debug it while I share my screen in slack?bored-oyster-3147
06/16/2021, 8:10 PMworried-city-86458
06/16/2021, 8:18 PMbored-oyster-3147
06/16/2021, 8:21 PMworried-city-86458
06/16/2021, 8:30 PMDeployment.Runner.WhileRunningAsync.HandleCompletion
sees the exception, which is Scriban.Syntax.ScriptRuntimeException
Calls HandleExceptionAsync
which logs it and returns 32
Deployment.RunInlineAsync
then has null
exceptionDispatchInfo
and returns 1 in lambda, returns null
at end
LanguageRuntimeService.Run
then returns new RunResponse()
bored-oyster-3147
06/16/2021, 8:32 PMworried-city-86458
06/16/2021, 8:35 PMOutput.Create
bored-oyster-3147
06/16/2021, 8:36 PMworried-city-86458
06/16/2021, 8:36 PM// gateways
new ConfigGroup("internal-gateway",
new ConfigGroupArgs { Yaml = RenderTemplate("InternalGateway.yaml", ReadResource, new { Aws = AwsConfig }) },
new ComponentResourceOptions { Provider = k8sProvider });
new ConfigGroup("internet-gateway",
new ConfigGroupArgs { Yaml = RenderTemplate("InternetGateway.yaml", ReadResource, new { Aws = AwsConfig }) },
new ComponentResourceOptions { Provider = k8sProvider });
Pulumi.Stack
(not directly)ConfigGroupArgs.Yaml
is InputList<string>
RenderTemplate
returns Output<string>
bored-oyster-3147
06/16/2021, 8:38 PMPulumiFn.Create<TStack>
?worried-city-86458
06/16/2021, 8:39 PMPulumiFn Create(IServiceProvider serviceProvider, Type stackType)
var stackName = $"{Config.Pulumi.Organization.Name}/{settings.Environment.ToLower()}";
var stackArgs = new InlineProgramArgs(info.ProjectName, stackName, PulumiFn.Create(ServiceProvider, info.StackType))
{
Logger = LoggerFactory.CreateLogger<Pulumi.Deployment>()
};
var stack = await LocalWorkspace.CreateOrSelectStackAsync(stackArgs);
bored-oyster-3147
06/16/2021, 8:40 PMPulumiFn.Create<TStack>
ok just making sure I'm looking in the right placeworried-city-86458
06/16/2021, 8:41 PMbored-oyster-3147
06/16/2021, 9:02 PMworried-city-86458
06/16/2021, 9:45 PMPulumi.Deployment.Runner.RunAsync
and WhileRunningAsync
are swallowing the exception when they should not:
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi/Deployment/Deployment.Runner.cs#L61-L64
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi/Deployment/Deployment.Runner.cs#L179-L183
i.e. the try catch should be removed or rethrow
(They do log the exception so maybe not removed)bored-oyster-3147
06/16/2021, 9:51 PMworried-city-86458
06/16/2021, 10:03 PMPulumiFn.InvokeAsync
should not rethrow since they are capturing the exception:
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi.Automation/PulumiFn.cs#L21
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi.Automation/PulumiFn.ServiceProvider.cs#L54-L63
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi.Automation/PulumiFn.TStack.cs#L35-L44
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi.Automation/PulumiFn.Inline.cs#L30-L34LanguageRuntimeService.Run
where it would no longer be null
and so return the "bail" response:
https://github.com/pulumi/pulumi/blob/258fb00bc2ecbd489af6d694a2204468cc7ca729/sdk/dotnet/Pulumi.Automation/Runtime/LanguageRuntimeService.cs#L61bored-oyster-3147
06/16/2021, 10:17 PMIRunner
is used by local programs too, and rethrowing in IRunner
would cause other issues thereworried-city-86458
06/16/2021, 10:18 PMbored-oyster-3147
06/16/2021, 10:21 PMCommandException
without an inline host exception, which was the first thing I fixed. Then needed to do some work to capture an aggregate of in-flight exceptions so that the explicit exception could bubble upDeployment_Runner
sooner coming back to bite meworried-city-86458
06/16/2021, 10:45 PMbored-oyster-3147
06/22/2021, 6:27 PMworried-city-86458
06/22/2021, 11:35 PM