Hello, I was exploring provisioning CoreDNS using ...
# python
a
Hello, I was exploring provisioning CoreDNS using pulumi python [kubernetes-coredns.CoreDNS] but I am facing a peculiar error message
Copy code
coredns_cpu_metric_spec = MetricSpecArgs(
            type="Resource",
            resource=ResourceMetricSourceArgs(
                name="cpu",
                target=MetricTargetArgs(
                    type="Utilization",
                    average_utilization=60
                )
            )
        )
        coredns_memory_metric_spec = MetricSpecArgs(
            type="Resource",
            resource=ResourceMetricSourceArgs(
                name="memory",
                target=MetricTargetArgs(
                    type="Utilization",
                    average_utilization=60
                )
            )
        )
        coredns_hpa = CoreDNSHPAArgs(
            enabled=True,
            max_replicas=15,
            min_replicas=5,
            metrics=[coredns_memory_metric_spec, coredns_cpu_metric_spec]
        )
...
...
CoreDNS(..., hpa=coredns_hpa, ...)
The error I am encountering is
Copy code
error: Program failed with an unhandled exception:
    Traceback (most recent call last):
      File "/home/ubuntu/.pulumi/bin/pulumi-language-python-exec", line 197, in <module>
        loop.run_until_complete(coro)
      File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
        return future.result()
      File "/home/ubuntu/iota_team_members/ct/platform-resources/cloudport-infra/venv/lib/python3.10/site-packages/pulumi/runtime/stack.py", line 126, in run_in_stack
        await run_pulumi_func(lambda: Stack(func))
      File "/home/ubuntu/iota_team_members/ct/platform-resources/cloudport-infra/venv/lib/python3.10/site-packages/pulumi/runtime/stack.py", line 51, in run_pulumi_func
        await wait_for_rpcs()
      File "/home/ubuntu/iota_team_members/ct/platform-resources/cloudport-infra/venv/lib/python3.10/site-packages/pulumi/runtime/stack.py", line 73, in wait_for_rpcs
        await RPC_MANAGER.rpcs.pop()
    AssertionError: Unexpected type. Expected 'list' got '<class 'pulumi_kubernetes.autoscaling.v2beta2._inputs.MetricSpecArgs'>'
The error message makes no sense, I am passing a list but why is it not recognising it?
my requirements.txt file has
Copy code
pulumi==3.46.0
pulumi-gcp==6.41.0
pulumi-google-native==0.27.0
pulumi-aws==5.9.0
pulumi-eks==0.40.0
pulumi-kubernetes==3.18.1
pulumi-kubernetes-coredns==0.0.2
pulumi_random==4.11.2
b
looks like you’re passing the wrong type to
metrics
a
metrics
needs a list as per the error message I am passing
[coredns_memory_metric_spec, coredns_cpu_metric_spec]
which is a list of
MetricSpecArgs
class objects