Provisioning fails with NodeClaim issues with fresh 1.0.5 install

Description
Observed Behavior:
Karpenter not provisioning nodes.
Log:
{"level":"INFO","time":"2024-10-04T08:17:02.299Z","logger":"controller.controller-runtime.metrics","message":"Starting metrics server","commit":"652e6aa"}
{"level":"INFO","time":"2024-10-04T08:17:02.299Z","logger":"controller.controller-runtime.metrics","message":"Serving metrics server","commit":"652e6aa","bindAddress":":8080","secure":false}
{"level":"INFO","time":"2024-10-04T08:17:02.299Z","logger":"controller","message":"starting server","commit":"652e6aa","name":"health probe","addr":"[::]:8081"}
{"level":"ERROR","time":"2024-10-04T08:17:02.500Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"599744df-494d-485a-a3c7-383de66c6e18","knative.dev/key":"ec2nodeclasses.karpenter.k8s.aws","duration":"39.82µs","error":"secret \"karpenter-cert\" is missing \"ca-cert.pem\" key"}
{"level":"ERROR","time":"2024-10-04T08:17:02.500Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"831f4aef-0d5e-4e75-a14a-b9ed39b2aecc","knative.dev/key":"nodepools.karpenter.sh","duration":"5µs","error":"secret \"karpenter-cert\" is missing \"ca-cert.pem\" key"}
{"level":"ERROR","time":"2024-10-04T08:17:02.500Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"8c70a62b-3854-4522-acd6-6c1ca6633488","knative.dev/key":"nodeclaims.karpenter.sh","duration":"3.75µs","error":"secret \"karpenter-cert\" is missing \"ca-cert.pem\" key"}
{"level":"ERROR","time":"2024-10-04T08:17:02.506Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"49df3e50-3e7d-47eb-9acd-1d067f23e3a2","knative.dev/key":"ec2nodeclasses.karpenter.k8s.aws","duration":"10.64µs","error":"secret \"karpenter-cert\" is missing \"ca-cert.pem\" key"}
{"level":"ERROR","time":"2024-10-04T08:17:02.506Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"c46e10e6-4dcf-4841-bd76-acf4eb287e37","knative.dev/key":"nodepools.karpenter.sh","duration":"4.69µs","error":"secret \"karpenter-cert\" is missing \"ca-cert.pem\" key"}
{"level":"ERROR","time":"2024-10-04T08:17:02.506Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"5a5d9d53-fb22-4fa2-82d4-6f924d484cf1","knative.dev/key":"nodeclaims.karpenter.sh","duration":"3.84µs","error":"secret \"karpenter-cert\" is missing \"ca-cert.pem\" key"}
{"level":"INFO","time":"2024-10-04T08:17:02.600Z","logger":"controller","message":"attempting to acquire leader lease karpenter/karpenter-leader-election...","commit":"652e6aa"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"successfully acquired lease karpenter/karpenter-leader-election","commit":"652e6aa"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"provisioner","source":"channel source: 0xc00061aa10"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"provisioner"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"provisioner","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"disruption.queue","source":"channel source: 0xc00061aaf0"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"disruption.queue"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"disruption.queue","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"eviction-queue","source":"channel source: 0xc00061aa80"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"eviction-queue"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"eviction-queue","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"provisioner.trigger.pod","controllerGroup":"","controllerKind":"Pod","source":"kind source: *v1.Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"provisioner.trigger.pod","controllerGroup":"","controllerKind":"Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"provisioner.trigger.pod","controllerGroup":"","controllerKind":"Pod","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"disruption","source":"channel source: 0xc00061ab60"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"disruption"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"disruption","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.hash","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodepool.hash","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.663Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodepool.hash","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"provisioner.trigger.node","controllerGroup":"","controllerKind":"Node","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"provisioner.trigger.node","controllerGroup":"","controllerKind":"Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"provisioner.trigger.node","controllerGroup":"","controllerKind":"Node","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"state.daemonset","controllerGroup":"apps","controllerKind":"DaemonSet","source":"kind source: *v1.DaemonSet"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"state.daemonset","controllerGroup":"apps","controllerKind":"DaemonSet"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.expiration","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.expiration","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"state.pod","controllerGroup":"","controllerKind":"Pod","source":"kind source: *v1.Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"state.pod","controllerGroup":"","controllerKind":"Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"state.node","controllerGroup":"","controllerKind":"Node","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"state.node","controllerGroup":"","controllerKind":"Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"state.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"state.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"state.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"state.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"metrics.pod","controllerGroup":"","controllerKind":"Pod","source":"kind source: *v1.Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"metrics.pod","controllerGroup":"","controllerKind":"Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"node.termination","controllerGroup":"","controllerKind":"Node","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"node.termination","controllerGroup":"","controllerKind":"Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"metrics.node","source":"channel source: 0xc00061abd0"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"metrics.node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"metrics.node","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"metrics.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"metrics.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.counter","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.counter","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.counter","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodepool.counter","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.readiness","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.readiness","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodepool.readiness","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.podevents","controllerGroup":"","controllerKind":"Pod","source":"kind source: *v1.Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.664Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.podevents","controllerGroup":"","controllerKind":"Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodepool.validation","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodepool.validation","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.consistency","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.consistency","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.consistency","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.termination","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.termination","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.Node"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.termination","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.garbagecollection","source":"channel source: 0xc00061ac40"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.garbagecollection"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.garbagecollection","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"lease.garbagecollection","controllerGroup":"coordination.k8s.io","controllerKind":"Lease","source":"kind source: *v1.Lease"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"lease.garbagecollection","controllerGroup":"coordination.k8s.io","controllerKind":"Lease"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.disruption","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.disruption","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.disruption","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.disruption","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.Pod"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.disruption","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"migration.resource.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","source":"kind source: *v1.NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"migration.resource.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"migration.resource.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"migration.resource.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclass.hash","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclass.hash","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"migration.crd","controllerGroup":"apiextensions.k8s.io","controllerKind":"CustomResourceDefinition","source":"kind source: *v1.CustomResourceDefinition"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"migration.crd","controllerGroup":"apiextensions.k8s.io","controllerKind":"CustomResourceDefinition"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclass.termination","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclass.termination","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclass.termination","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclass.status","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclass.status","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.tagging","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","source":"kind source: *v1.NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.tagging","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"nodeclaim.garbagecollection","source":"channel source: 0xc00061bb90"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"nodeclaim.garbagecollection"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.garbagecollection","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"providers.instancetype","source":"channel source: 0xc00061bc70"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"providers.instancetype"}
{"level":"INFO","time":"2024-10-04T08:17:02.665Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"providers.instancetype","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"providers.pricing","source":"channel source: 0xc00061bc00"}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"providers.pricing"}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"providers.pricing","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"migration.resource.ec2nodeclass","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"migration.resource.ec2nodeclass","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","source":"kind source: *v1.EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.666Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass"}
{"level":"INFO","time":"2024-10-04T08:17:02.667Z","logger":"controller","message":"Starting EventSource","commit":"652e6aa","controller":"interruption","source":"channel source: 0xc00061bce0"}
{"level":"INFO","time":"2024-10-04T08:17:02.667Z","logger":"controller","message":"Starting Controller","commit":"652e6aa","controller":"interruption"}
{"level":"INFO","time":"2024-10-04T08:17:02.667Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"interruption","worker count":1}
{"level":"ERROR","time":"2024-10-04T08:17:03.134Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"844c032e-5ff3-47d7-9103-82b414787743","knative.dev/key":"ec2nodeclasses.karpenter.k8s.aws","duration":"96.44552ms","error":"failed to update webhook: Operation cannot be fulfilled on customresourcedefinitions.apiextensions.k8s.io \"ec2nodeclasses.karpenter.k8s.aws\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"ERROR","time":"2024-10-04T08:17:03.195Z","logger":"webhook.ConversionWebhook","message":"Reconcile error","commit":"652e6aa","knative.dev/traceid":"55aa1828-ba80-488b-a0d1-4498ef2376ec","knative.dev/key":"nodepools.karpenter.sh","duration":"110.301042ms","error":"failed to update webhook: Operation cannot be fulfilled on customresourcedefinitions.apiextensions.k8s.io \"nodepools.karpenter.sh\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"INFO","time":"2024-10-04T08:17:03.215Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclass.hash","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.228Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclass.status","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.229Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"migration.resource.ec2nodeclass","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.229Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.234Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"lease.garbagecollection","controllerGroup":"coordination.k8s.io","controllerKind":"Lease","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.234Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"state.daemonset","controllerGroup":"apps","controllerKind":"DaemonSet","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.234Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.expiration","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:03.234Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"state.pod","controllerGroup":"","controllerKind":"Pod","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"state.node","controllerGroup":"","controllerKind":"Node","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"state.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"state.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"metrics.pod","controllerGroup":"","controllerKind":"Pod","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"node.termination","controllerGroup":"","controllerKind":"Node","worker count":100}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"metrics.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:03.235Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.podevents","controllerGroup":"","controllerKind":"Pod","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:03.236Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodepool.counter","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.236Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodepool.readiness","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.236Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodepool.validation","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.247Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":1000}
{"level":"INFO","time":"2024-10-04T08:17:03.253Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.termination","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":100}
{"level":"INFO","time":"2024-10-04T08:17:03.253Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.consistency","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.253Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.tagging","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:03.253Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.253Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclaim.disruption","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.253Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"status","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.254Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"migration.crd","controllerGroup":"apiextensions.k8s.io","controllerKind":"CustomResourceDefinition","worker count":1}
{"level":"INFO","time":"2024-10-04T08:17:03.254Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"migration.resource.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.254Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"migration.resource.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","worker count":10}
{"level":"INFO","time":"2024-10-04T08:17:03.362Z","logger":"controller","message":"Starting workers","commit":"652e6aa","controller":"nodeclass.termination","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","worker count":10}
{"level":"ERROR","time":"2024-10-04T08:18:05.292Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","NodePool":{"name":"default"},"namespace":"","name":"default","reconcileID":"b30fce65-cfc4-4474-8a08-1797cd134b7c","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.sh/v1, Kind=NodePool, Operation cannot be fulfilled on nodepools.karpenter.sh \"default\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"ERROR","time":"2024-10-04T08:18:05.340Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","NodePool":{"name":"default"},"namespace":"","name":"default","reconcileID":"a976f6d5-f389-43ab-8f76-754f68614a4c","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.sh/v1, Kind=NodePool, Operation cannot be fulfilled on nodepools.karpenter.sh \"default\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"ERROR","time":"2024-10-04T08:18:05.382Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.nodepool","controllerGroup":"karpenter.sh","controllerKind":"NodePool","NodePool":{"name":"default"},"namespace":"","name":"default","reconcileID":"60dfc482-e41a-4c5a-bb27-4d6841adbbfa","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.sh/v1, Kind=NodePool, Operation cannot be fulfilled on nodepools.karpenter.sh \"default\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"ERROR","time":"2024-10-04T08:18:05.426Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.ec2nodeclass","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","EC2NodeClass":{"name":"default"},"namespace":"","name":"default","reconcileID":"eb4a713b-66bd-4b23-9652-a3043943dd3e","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.k8s.aws/v1, Kind=EC2NodeClass, Operation cannot be fulfilled on ec2nodeclasses.karpenter.k8s.aws \"default\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"INFO","time":"2024-10-04T08:23:21.336Z","logger":"controller","message":"found provisionable pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"58031f10-d219-40db-8516-41386c993fe9","Pods":"web-renderer/main-759695cfff-sf8l6","duration":"62.462774ms"}
{"level":"INFO","time":"2024-10-04T08:23:21.336Z","logger":"controller","message":"computed new nodeclaim(s) to fit pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"58031f10-d219-40db-8516-41386c993fe9","nodeclaims":1,"pods":1}
{"level":"INFO","time":"2024-10-04T08:23:21.354Z","logger":"controller","message":"created nodeclaim","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"58031f10-d219-40db-8516-41386c993fe9","NodePool":{"name":"default"},"NodeClaim":{"name":"default-qf4tc"},"requests":{"cpu":"850m","memory":"500M","pods":"4"},"instance-types":"c3.large, c4.large, c4.xlarge, c5.large, c5a.large and 55 other(s)"}
{"level":"ERROR","time":"2024-10-04T08:23:21.384Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"748552e7-c4f3-4418-982e-ba425ca85c71","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.sh/v1, Kind=NodeClaim, Operation cannot be fulfilled on nodeclaims.karpenter.sh \"default-qf4tc\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"ERROR","time":"2024-10-04T08:23:21.403Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"7c7753e4-1ff2-4b68-95dd-cf7fd51a9e46","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.sh/v1, Kind=NodeClaim, Operation cannot be fulfilled on nodeclaims.karpenter.sh \"default-qf4tc\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"ERROR","time":"2024-10-04T08:23:21.438Z","logger":"controller","message":"Reconciler error","commit":"652e6aa","controller":"migration.resource.nodeclaim","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"cf1b0101-ca40-4ca3-a0ec-e0a8283a531d","error":"adding karpenter.sh/stored-version-migrated annotation to karpenter.sh/v1, Kind=NodeClaim, Operation cannot be fulfilled on nodeclaims.karpenter.sh \"default-qf4tc\": the object has been modified; please apply your changes to the latest version and try again"}
{"level":"INFO","time":"2024-10-04T08:23:23.670Z","logger":"controller","message":"launched nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"672ab9c9-0755-4d03-a4c9-78f3d450782a","provider-id":"aws:///eu-west-1c/i-01c5177e8d5d89ca8","instance-type":"c7a.medium","zone":"eu-west-1c","capacity-type":"spot","allocatable":{"cpu":"940m","ephemeral-storage":"17Gi","memory":"1451Mi","pods":"8","vpc.amazonaws.com/pod-eni":"4"}}
{"level":"INFO","time":"2024-10-04T08:23:36.540Z","logger":"controller","message":"found provisionable pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe","Pods":"web-renderer/main-759695cfff-sf8l6, web-renderer/main-759695cfff-5kbmg","duration":"60.618806ms"}
{"level":"INFO","time":"2024-10-04T08:23:36.540Z","logger":"controller","message":"computed new nodeclaim(s) to fit pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe","nodeclaims":1,"pods":1}
{"level":"INFO","time":"2024-10-04T08:23:36.540Z","logger":"controller","message":"computed 1 unready node(s) will fit 1 pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe"}
{"level":"INFO","time":"2024-10-04T08:23:36.553Z","logger":"controller","message":"created nodeclaim","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe","NodePool":{"name":"default"},"NodeClaim":{"name":"default-6qd8s"},"requests":{"cpu":"850m","memory":"500M","pods":"4"},"instance-types":"c3.large, c4.large, c4.xlarge, c5.large, c5a.large and 55 other(s)"}
{"level":"INFO","time":"2024-10-04T08:23:39.623Z","logger":"controller","message":"launched nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-6qd8s"},"namespace":"","name":"default-6qd8s","reconcileID":"666e5e7d-43f4-4af2-8d48-d573316b5514","provider-id":"aws:///eu-west-1c/i-099b4cb641fa3cddc","instance-type":"c7a.medium","zone":"eu-west-1c","capacity-type":"spot","allocatable":{"cpu":"940m","ephemeral-storage":"17Gi","memory":"1451Mi","pods":"8","vpc.amazonaws.com/pod-eni":"4"}}
{"level":"INFO","time":"2024-10-04T08:23:45.816Z","logger":"controller","message":"registered nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"96445d3f-4b73-494b-a080-baeb70870580","provider-id":"aws:///eu-west-1c/i-01c5177e8d5d89ca8","Node":{"name":"ip-10-6-85-79.eu-west-1.compute.internal"}}
{"level":"INFO","time":"2024-10-04T08:23:58.150Z","logger":"controller","message":"initialized nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"5d95c348-7044-44ad-a82a-0b0986d589f6","provider-id":"aws:///eu-west-1c/i-01c5177e8d5d89ca8","Node":{"name":"ip-10-6-85-79.eu-west-1.compute.internal"},"allocatable":{"cpu":"940m","ephemeral-storage":"18181869946","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1471172Ki","pods":"8"}}
{"level":"INFO","time":"2024-10-04T08:24:01.400Z","logger":"controller","message":"registered nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-6qd8s"},"namespace":"","name":"default-6qd8s","reconcileID":"48100b54-e314-4f42-91ff-122faf764a88","provider-id":"aws:///eu-west-1c/i-099b4cb641fa3cddc","Node":{"name":"ip-10-6-175-251.eu-west-1.compute.internal"}}
{"level":"INFO","time":"2024-10-04T08:24:14.223Z","logger":"controller","message":"initialized nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-6qd8s"},"namespace":"","name":"default-6qd8s","reconcileID":"34e7c10f-0dff-4aa8-8535-56fcf6c0ef79","provider-id":"aws:///eu-west-1c/i-099b4cb641fa3cddc","Node":{"name":"ip-10-6-175-251.eu-west-1.compute.internal"},"allocatable":{"cpu":"940m","ephemeral-storage":"18181869946","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1471172Ki","pods":"8"}}

Expected Behavior:
Karpenter provisioning nodes.
Reproduction Steps (Please include YAML):
Create cluster:

brew upgrade eksctl
source env.sh
curl -fsSL https://raw.githubusercontent.com/aws/karpenter-provider-aws/v"${KARPENTER_VERSION}"/website/content/en/preview/getting-started/getting-started-with-karpenter/cloudformation.yaml  > "${TEMPOUT}" && aws cloudformation deploy --stack-name "Karpenter-${CLUSTER_NAME}" --template-file "${TEMPOUT}" --capabilities CAPABILITY_NAMED_IAM --parameter-overrides "ClusterName=${CLUSTER_NAME}"
envsubst < cluster.yaml | eksctl create cluster -f -

env.sh:
export K8S_VERSION="1.31"
export AWS_ACCOUNT_ID="-----"
export CLUSTER_NAME="production6"
export CLUSTER_VPC_CIDR="<IP_ADDRESS>/16"
export KARPENTER_VERSION="1.0.5"
export KARPENTER_NAMESPACE="karpenter"
export TEMPOUT="$(mktemp)"
export AMI_ID="ami-02c1559fa605afe01"

Install karpenter:

Onboard to EC2 spot: aws iam create-service-linked-role --aws-service-name spot.amazonaws.com || true - this will return an error if already onboarded
helm upgrade --install karpenter oci://public.ecr.aws/karpenter/karpenter --version "${KARPENTER_VERSION}" --namespace "${KARPENTER_NAMESPACE}" --create-namespace --set "settings.clusterName=${CLUSTER_NAME}" --set "settings.interruptionQueue=${CLUSTER_NAME}" --set controller.resources.requests.cpu=1 --set controller.resources.requests.memory=1Gi --set controller.resources.limits.cpu=1 --set controller.resources.limits.memory=1Gi --wait
`envsubst < karpenter.yaml | kubectl apply -f -

karpenter.yaml:
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: default
spec:
  template:
    spec:
      requirements:
        - key: kubernetes.io/arch
          operator: In
          values: ["amd64"]
        - key: kubernetes.io/os
          operator: In
          values: ["linux"]
        - key: karpenter.sh/capacity-type
          operator: In
          values: ["spot", "on-demand"]
        - key: karpenter.k8s.aws/instance-category
          operator: In
          values: ["c", "m", "r"]
        - key: karpenter.k8s.aws/instance-generation
          operator: Gt
          values: ["2"]
      nodeClassRef:
        group: karpenter.k8s.aws
        kind: EC2NodeClass
        name: default
      expireAfter: 720h
  limits:
    cpu: 1000
  disruption:
    consolidationPolicy: WhenEmptyOrUnderutilized
    consolidateAfter: 1m
---
apiVersion: karpenter.k8s.aws/v1
kind: EC2NodeClass
metadata:
  name: default
spec:
  amiFamily: AL2023
  role: KarpenterNodeRole-${CLUSTER_NAME}
  subnetSelectorTerms:
    - tags:
        karpenter.sh/discovery: ${CLUSTER_NAME}
  securityGroupSelectorTerms:
    - tags:
        karpenter.sh/discovery: ${CLUSTER_NAME}
  amiSelectorTerms:
    - id: ${AMI_ID}

Versions:

Chart Version: 1.0.5
Kubernetes Version (kubectl version): 1.31

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

The provided logs indicate that Karpenter was able to successfully launch instances, and that they were successfully registered with the cluster:
{"level":"INFO","time":"2024-10-04T08:23:21.336Z","logger":"controller","message":"computed new nodeclaim(s) to fit pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"58031f10-d219-40db-8516-41386c993fe9","nodeclaims":1,"pods":1}
{"level":"INFO","time":"2024-10-04T08:23:21.354Z","logger":"controller","message":"created nodeclaim","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"58031f10-d219-40db-8516-41386c993fe9","NodePool":{"name":"default"},"NodeClaim":{"name":"default-qf4tc"},"requests":{"cpu":"850m","memory":"500M","pods":"4"},"instance-types":"c3.large, c4.large, c4.xlarge, c5.large, c5a.large and 55 other(s)"}
{"level":"INFO","time":"2024-10-04T08:23:23.670Z","logger":"controller","message":"launched nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"672ab9c9-0755-4d03-a4c9-78f3d450782a","provider-id":"aws:///eu-west-1c/i-01c5177e8d5d89ca8","instance-type":"c7a.medium","zone":"eu-west-1c","capacity-type":"spot","allocatable":{"cpu":"940m","ephemeral-storage":"17Gi","memory":"1451Mi","pods":"8","vpc.amazonaws.com/pod-eni":"4"}}
{"level":"INFO","time":"2024-10-04T08:23:36.540Z","logger":"controller","message":"found provisionable pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe","Pods":"web-renderer/main-759695cfff-sf8l6, web-renderer/main-759695cfff-5kbmg","duration":"60.618806ms"}
{"level":"INFO","time":"2024-10-04T08:23:36.540Z","logger":"controller","message":"computed new nodeclaim(s) to fit pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe","nodeclaims":1,"pods":1}
{"level":"INFO","time":"2024-10-04T08:23:36.540Z","logger":"controller","message":"computed 1 unready node(s) will fit 1 pod(s)","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe"}
{"level":"INFO","time":"2024-10-04T08:23:36.553Z","logger":"controller","message":"created nodeclaim","commit":"652e6aa","controller":"provisioner","namespace":"","name":"","reconcileID":"c13956b6-7b7f-4bba-b2c9-043692160cfe","NodePool":{"name":"default"},"NodeClaim":{"name":"default-6qd8s"},"requests":{"cpu":"850m","memory":"500M","pods":"4"},"instance-types":"c3.large, c4.large, c4.xlarge, c5.large, c5a.large and 55 other(s)"}
{"level":"INFO","time":"2024-10-04T08:23:39.623Z","logger":"controller","message":"launched nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-6qd8s"},"namespace":"","name":"default-6qd8s","reconcileID":"666e5e7d-43f4-4af2-8d48-d573316b5514","provider-id":"aws:///eu-west-1c/i-099b4cb641fa3cddc","instance-type":"c7a.medium","zone":"eu-west-1c","capacity-type":"spot","allocatable":{"cpu":"940m","ephemeral-storage":"17Gi","memory":"1451Mi","pods":"8","vpc.amazonaws.com/pod-eni":"4"}}
{"level":"INFO","time":"2024-10-04T08:23:45.816Z","logger":"controller","message":"registered nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"96445d3f-4b73-494b-a080-baeb70870580","provider-id":"aws:///eu-west-1c/i-01c5177e8d5d89ca8","Node":{"name":"ip-10-6-85-79.eu-west-1.compute.internal"}}
{"level":"INFO","time":"2024-10-04T08:23:58.150Z","logger":"controller","message":"initialized nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-qf4tc"},"namespace":"","name":"default-qf4tc","reconcileID":"5d95c348-7044-44ad-a82a-0b0986d589f6","provider-id":"aws:///eu-west-1c/i-01c5177e8d5d89ca8","Node":{"name":"ip-10-6-85-79.eu-west-1.compute.internal"},"allocatable":{"cpu":"940m","ephemeral-storage":"18181869946","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1471172Ki","pods":"8"}}
{"level":"INFO","time":"2024-10-04T08:24:01.400Z","logger":"controller","message":"registered nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-6qd8s"},"namespace":"","name":"default-6qd8s","reconcileID":"48100b54-e314-4f42-91ff-122faf764a88","provider-id":"aws:///eu-west-1c/i-099b4cb641fa3cddc","Node":{"name":"ip-10-6-175-251.eu-west-1.compute.internal"}}
{"level":"INFO","time":"2024-10-04T08:24:14.223Z","logger":"controller","message":"initialized nodeclaim","commit":"652e6aa","controller":"nodeclaim.lifecycle","controllerGroup":"karpenter.sh","controllerKind":"NodeClaim","NodeClaim":{"name":"default-6qd8s"},"namespace":"","name":"default-6qd8s","reconcileID":"34e7c10f-0dff-4aa8-8535-56fcf6c0ef79","provider-id":"aws:///eu-west-1c/i-099b4cb641fa3cddc","Node":{"name":"ip-10-6-175-251.eu-west-1.compute.internal"},"allocatable":{"cpu":"940m","ephemeral-storage":"18181869946","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"1471172Ki","pods":"8"}}

What indicates to you that Karpenter is failing to provision Nodes? Are you just not seeing any Nodes when doing a kubectl get?

@jmdeal yes - I'm doing kubectl get nodes and only seeing my 2 base nodes.

Can you verify that you're current context is set to the right cluster in your kubeconfig? Based on the provided logs Karpenter can see the nodes, so unless they were removed sometime after the logs ended they should exist.

Apologies - yuo seem to be right @jmdeal . At least now when I tried with a new cluster, it did work. Hopefully it was just my mistake last time. I will reopen if it happens again. Thanks and have a great weekend!


Kapa v1.6.4 realese notes

Closes https://github.com/influxdata/docs-v2/issues/3826
Added Kapa 1.6.4 release notes

@lwandzura I believe we need to add config docs: https://github.com/influxdata/docs-v2/issues/3870
I believe that belongs here: https://docs.influxdata.com/kapacitor/v1.6/event_handlers/kafka/


[Event Request] - Table Warehouse Shipment Line - Function OnDelete

Describe the request
Could this event be added?
 trigger OnDelete()
    var
        ItemTrackingMgt: Codeunit "Item Tracking Management";
        IsHandled:Boolean;
    begin
        TestReleased();

        if "Assemble to Order" then
            Validate("Qty. to Ship", 0);

        //NewEvent
        OnDeleteOnBeforeConfirmDelete(Rec,IsHandled);
        if not IsHandled then
        //NewEvent
        if "Qty. Shipped" < "Qty. Picked" then
            if not Confirm(
                 StrSubstNo(
                   Text007,
                   FieldCaption("Qty. Picked"), "Qty. Picked", FieldCaption("Qty. Shipped"),
                   "Qty. Shipped", TableCaption), false)
            then
                Error('');

        ItemTrackingMgt.SetDeleteReservationEntries(true);
        ItemTrackingMgt.DeleteWhseItemTrkgLines(
          Database::"Warehouse Shipment Line", 0, "No.", '', 0, "Line No.", "Location Code", true);

        UpdateDocumentStatus();
    end;

[IntegrationEvent(false, false)]
    local procedure OnDeleteOnBeforeConfirmDelete(var WarehouseShipmentLine: Record "Warehouse Shipment Line";var IsHandled:Boolean)
    begin
    end;

Additional context
I need this to skip the confirm
Internal work item: AB#498854

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 16024.


doc: Update v2 migrations docs with info on CLI configuration

Summary
On request of customers link addition info on ttnctl infiguration is added.
Changes

Info in configuring the V2 ttnctl

Checklist

[ ] Scope: The referenced issue is addressed, there are no unrelated changes.
[ ] Run Locally: Verified that the docs build using make server
[ ] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[ ] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[ ] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

Cool. @neoaggelos we are going to replace this with ttn-lw-migrate right?


fix wrong urls for neuclir docs

The docs URL for NeuCLIR Chinese and Russian were mixed.

good catch, thanks!


PICNIC-784 - Integrate saltpack RPCs (string)

PR performs saltpack operations on string inputs
Blocked by https://github.com/keybase/client/pull/21979
Does not show errors (different ticket)
TODO

[ ] Encrypt options change should re-run saltpackEncrypt
[ ] Wrap inputs and outputs in HiddenString

Rebased on thebearjew/crypto-design-tweaks-pass-2


test: I am breaking stuff on purpose

Adding #[non_exhaustive] to NetworkKind.

Is this not breaking @obi1kenobi?

It is breaking. It just isn't caught by any lints right now since they can't see type information:
https://predr.ag/blog/four-challenges-cargo-semver-checks-has-yet-to-tackle/#surprising-limitation-no-checking-of-types
Exposing type information to lints is a ~3 month project minimum, so it's blocked on a lack of funding =/ The problem isn't types like i64 or String but things like impl Iterator<Item = &'_[str]> + '_ and for<'a> F: Fn(&'a (u8, u16)) -> &'a u8.
There's no great way to say "we only check simple types" either, because we don't want false-positives that incorrectly report breakage in cases like:
- pub fn example(data: String) {
+ pub fn example(data: impl Into<String>) {

or
- pub fn example<'a>(data: Vec<&'a str>) -> impl Iterator<Item = &'a str> {
+ pub fn example<'a>(data: impl IntoIterator<Item = &'a str>) -> Box<dyn Iterator<Item = &'a str>> {

None of the changes in either block here is SemVer-major. (Even though they may still cause breakage for some users.)

Oh I see. Ooof!
Ok I'll try to add an enum variant then

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

53 of 144 (36.81%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 82.797%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/address/mod.rs
19
26
73.08%

bitcoin/src/blockdata/constants.rs
0
11
0.0%

bitcoin/src/consensus/params.rs
3
17
17.65%

bitcoin/src/network.rs
7
21
33.33%

bitcoin/src/p2p/mod.rs
24
69
34.78%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
19540

Relevant Lines:
23600

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

53 of 144 (36.81%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 82.797%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/address/mod.rs
19
26
73.08%

bitcoin/src/blockdata/constants.rs
0
11
0.0%

bitcoin/src/consensus/params.rs
3
17
17.65%

bitcoin/src/network.rs
7
21
33.33%

bitcoin/src/p2p/mod.rs
24
69
34.78%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
19540

Relevant Lines:
23600

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 18 (33.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 82.978%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/network.rs
6
18
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
19514

Relevant Lines:
23517

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 18 (33.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 82.978%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/network.rs
6
18
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
19514

Relevant Lines:
23517

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 18 (33.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 82.978%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/network.rs
6
18
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
19514

Relevant Lines:
23517

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 18 (33.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 82.978%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bitcoin/src/network.rs
6
18
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
19514

Relevant Lines:
23517

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Ok I am at a loss now 😓.
I can reproduce EVERYTHING locally (with the binstalled version of cargo-semver-check) but I have no idea why the script is failing here.
I will try to PR in the original bitcoin org repo

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Ok I am at a loss now 😓. I can reproduce EVERYTHING locally (with the binstalled version of cargo-semver-check) but I have no idea why the script is failing here. I will try to PR in the original bitcoin org repo

Try adding set -x to the script so it prints each line it runs. That'll make it easier to see which line failed.

Is it possible you're installing cargo-semver-checks to the wrong cargo?
I see cargo install cargo-semver-checks but cargo +$NIGHTLY semver-checks 🤔

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Ok how do I force cargo semver-checks to NOT error out when detecting semver breaks and make the whole script fail?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

Ok how do I force cargo semver-checks to NOT error out when detecting semver breaks and make the whole script fail?

It's easiest to just tell the shell to not exit on error across that one line.
set +e
cargo semver-checks ...
set -e

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls

🚨 API BREAKING CHANGE DETECTED 🚨

AMAZING IT WORKS! 🎉

Thank you @obi1kenobi!

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.004%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19510

Relevant Lines:
23505

💛  - Coveralls


Clean up and document rearrange_column_by_tasks

This is in anticipation of future work on this function

[ ] Tests added / passed
[ ] Passes flake8 dask

Merging later this afternoon if there are no comments


DX: cleanup NullableTypeTransformerTest

Took me a minute to figure out that this is actually the same test. Let's save that from another person who spots this.
Pinging @julienfalque (as an author of testProcess74 function) and @julienfalque (as an author of testProcessPhp74 function) for review :smiley:

Thank you @kubawerlos.


OpenSearch JVM crash

Please provide a brief summary of the bug
Seeing a crash on OpenSearch 2.6.0.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (virtualSpaceNode.cpp:190), pid=1, tid=270
#  fatal error: Failed to uncommit metaspace.
#
# JRE version: OpenJDK Runtime Environment Temurin-17.0.6+10 (17.0.6+10) (build 17.0.6+10)
# Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (17.0.6+10, mixed mode, sharing, tiered, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0xed5fe2]  metaspace::VirtualSpaceNode::uncommit_range(MetaWordImpl**, unsigned long)+0x1c2
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /usr/share/opensearch/core.1)
#
# JFR recording file will be written. Location: /usr/share/opensearch/hs_err_pid1.jfr
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
#

---------------  S U M M A R Y ------------
Host: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz, 20 cores, 157G, Amazon Linux release 2 (Karoo)
Time: Wed Mar  1 03:58:30 2023 UTC elapsed time: 2262.216714 seconds (0d 0h 37m 42s)
---------------  T H R E A D  ---------------
Current thread (0x00007fa135249b50):  VMThread "VM Thread" [stack: 0x00007f90798a4000,0x00007f90799a4000] [id=270]
Stack: [0x00007f90798a4000,0x00007f90799a4000],  sp=0x00007f90799a22e0,  free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xed5fe2]  metaspace::VirtualSpaceNode::uncommit_range(MetaWordImpl**, unsigned long)+0x1c2
V  [libjvm.so+0xb8ee88]  metaspace::Metachunk::uncommit_locked()+0x38
V  [libjvm.so+0x53f414]  metaspace::ChunkManager::return_chunk(metaspace::Metachunk*)+0x134
V  [libjvm.so+0xb927ce]  metaspace::MetaspaceArena::~MetaspaceArena()+0xbe
V  [libjvm.so+0x5942b6]  ClassLoaderMetaspace::~ClassLoaderMetaspace()+0x36
V  [libjvm.so+0x58a39e]  ClassLoaderData::~ClassLoaderData()+0x12e
V  [libjvm.so+0x59025f]  ClassLoaderDataGraph::purge(bool)+0x3f
V  [libjvm.so+0x6efcd0]  G1CollectedHeap::prepare_heap_for_mutators()+0x30
V  [libjvm.so+0x70c6bc]  G1FullCollector::complete_collection()+0x5c
V  [libjvm.so+0x6e6404]  G1CollectedHeap::do_full_collection(bool, bool, bool) [clone .part.0]+0x164
V  [libjvm.so+0x76a4bb]  VM_G1CollectFull::doit()+0x3b
V  [libjvm.so+0xee364a]  VM_Operation::evaluate()+0xea
V  [libjvm.so+0xee4ff3]  VMThread::evaluate_operation(VM_Operation*)+0x103
V  [libjvm.so+0xee5544]  VMThread::inner_execute(VM_Operation*)+0x1d4
V  [libjvm.so+0xee582f]  VMThread::run()+0xbf
V  [libjvm.so+0xe62020]  Thread::call_run()+0xc0
V  [libjvm.so+0xc187e1]  thread_native_entry(Thread*)+0xe1
Register to memory mapping:
RAX=0x00007fa13c4e8000 points into unknown readable memory: 0x0000000000000058 | 58 00 00 00 00 00 00 00
RBX=0x00007f8fff880000 is pointing into metadata
RCX=0x00007fa13b5b9e4b: <offset 0x0000000001018e4b> in /usr/share/opensearch/jdk/lib/server/libjvm.so at 0x00007fa13a5a1000
RDX=0x00000000000000be is an unknown value
RSP=0x00007f90799a22e0 points into unknown readable memory: 0x0000000000010000 | 00 00 01 00 00 00 00 00
RBP=0x00007f90799a2320 points into unknown readable memory: 0x00007f90799a2340 | 40 23 9a 79 90 7f 00 00
"logs/hs_err_pid1.log" 265286L, 46323744B
Please provide steps to reproduce where possible
Run OpenSearch 2.6.0 Docker image with OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)
Expected Results
Not crash
Actual Results
JVM crashed referencing invalid memory
What Java Version are you using?
OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)
What is your operating system and platform?
Ubuntu
How did you install Java?
Bundled with opensearchproject/opensearch:2.6.0
Did it work before?
No response
Did you test with the latest update version?
TBD

Did you test with other Java versions?
TBD

Relevant log output
No response

@dgilling Is that a fully patched Ubuntu and the latest version of OpenSearch?  Is this occurring on one host or all hosts?

@dgilling Is this problem solved?

Yes, this can be closed. Was unrelated.


Fix def command

Container does not have getTranslations() method, just translation().

Yeah, thank you! I just was working on this too.

Published new release


Fix Typo Issue #31785

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #31785

LGTM, thanks! You can close and reopen the PR to trigger another Travis build — the failure was not your fault.


[Emergency] Uncaught Exception: Inline adding requires the editable columns component

On a fresh SS 4 install, I get the error reported in subject when trying to edit a Locale (clicking on the GridField row). Adding  a new Locale also throw an Internal Server Error, but the Locale is created.
symbiote/silverstripe-gridfieldextensions version 3.0.2 is installed
$ composer show -i
XDebug could not open the remote debug file '/tmp/xdebug-remote.log'.
You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages.
composer/ca-bundle                        1.1.0              Lets you find a path to the system CA bundle, and includes a fallb...
composer/installers                       v1.4.0             A multi-framework Composer library installer
doctrine/instantiator                     1.0.5              A small, lightweight utility to instantiate objects in PHP without...
embed/embed                               v3.2.2             PHP library to retrieve page info using oembed, opengraph, etc
guzzlehttp/psr7                           1.4.2              PSR-7 message implementation that also provides common utility met...
intervention/image                        2.4.1              Image handling and manipulation library with support for Laravel i...
league/flysystem                          1.0.41             Filesystem abstraction: Many filesystems, one API.
m1/env                                    2.1.0              Env is a lightweight library bringing .env file parser compatibili...
marcj/topsort                             1.1.0              High-Performance TopSort/Dependency resolving algorithm
monolog/monolog                           1.23.0             Sends your logs to files, sockets, inboxes, databases and various ...
myclabs/deep-copy                         1.7.0              Create deep copies (clones) of your objects
nikic/php-parser                          v3.1.2             A PHP parser written in PHP
paragonie/random_compat                   v2.0.11            PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
phpdocumentor/reflection-common           1.0.1              Common reflection classes used by phpdocumentor to reflect the cod...
phpdocumentor/reflection-docblock         3.3.2              With this component, a library can provide support for annotations...
phpdocumentor/type-resolver               0.4.0
phpspec/prophecy                          1.7.3              Highly opinionated mocking framework for PHP 5.3+
phpunit/php-code-coverage                 4.0.8              Library that provides collection, processing, and rendering functi...
phpunit/php-file-iterator                 1.4.5              FilterIterator implementation that filters files based on a list o...
phpunit/php-text-template                 1.2.1              Simple template engine.
phpunit/php-timer                         1.0.9              Utility class for timing
phpunit/php-token-stream                  1.4.12             Wrapper around PHP's tokenizer extension.
phpunit/phpunit                           5.7.25             The PHP Unit Testing framework.
phpunit/phpunit-mock-objects              3.4.4              Mock Object library for PHPUnit
psr/cache                                 1.0.1              Common interface for caching libraries
psr/container                             1.0.0              Common Container Interface (PHP FIG PSR-11)
psr/http-message                          1.0.1              Common interface for HTTP messages
psr/log                                   1.0.2              Common interface for logging libraries
psr/simple-cache                          1.0.0              Common interfaces for simple caching
sebastian/code-unit-reverse-lookup        1.0.1              Looks up which function or method a line of code belongs to
sebastian/comparator                      1.2.4              Provides the functionality to compare PHP values for equality
sebastian/diff                            1.4.3              Diff implementation
sebastian/environment                     2.0.0              Provides functionality to handle HHVM/PHP environments
sebastian/exporter                        2.0.0              Provides the functionality to export PHP variables for visualization
sebastian/global-state                    1.1.1              Snapshotting of global state
sebastian/object-enumerator               2.0.1              Traverses array structures and object graphs to enumerate all refe...
sebastian/recursion-context               2.0.0              Provides functionality to recursively process PHP variables
sebastian/resource-operations             1.0.0              Provides a list of PHP built-in functions that operate on resources
sebastian/version                         2.0.1              Library that helps with managing the version number of Git-hosted ...
silverstripe-themes/simple                dev-master ef35734 The SilverStripe simple theme (default SilverStripe 3 theme)
silverstripe/admin                        1.0.1              SilverStripe admin interface
silverstripe/asset-admin                  1.0.1              Asset management for the SilverStripe CMS
silverstripe/assets                       1.0.1              SilverStripe Assets component
silverstripe/campaign-admin               1.0.1              SilverStripe campaign admin interface
silverstripe/cms                          4.0.1              The SilverStripe Content Management System
silverstripe/config                       1.0.1              SilverStripe configuration based on YAML and class statics
silverstripe/errorpage                    1.0.1              ErrorPage component for SilverStripe CMS
silverstripe/framework                    4.0.1              The SilverStripe framework
silverstripe/graphql                      1.0.1              GraphQL server for SilverStripe models and other data
silverstripe/recipe-cms                   1.0.1              SilverStripe recipe for fully featured page and asset content editing
silverstripe/recipe-core                  1.0.1              SilverStripe framework-only core recipe
silverstripe/recipe-plugin                1.0.0              Helper plugin to install SilverStripe recipes
silverstripe/reports                      4.0.1              Reports module for SilverStripe CMS
silverstripe/siteconfig                   4.0.1              Site wide settings administration.
silverstripe/vendor-plugin                1.2.0              Allows vendor modules to expose directories to the webroot
silverstripe/versioned                    1.0.1              SilverStripe Versioned component
swiftmailer/swiftmailer                   v5.4.8             Swiftmailer, free feature-rich PHP mailer
symbiote/silverstripe-gridfieldextensions 3.0.2              A collection of useful grid field components
symfony/cache                             v3.4.2             Symfony Cache component with PSR-6, PSR-16, and tags
symfony/config                            v3.4.2             Symfony Config Component
symfony/filesystem                        v3.4.2             Symfony Filesystem Component
symfony/finder                            v3.4.2             Symfony Finder Component
symfony/polyfill-apcu                     v1.6.0             Symfony polyfill backporting apcu_* functions to lower PHP versions
symfony/polyfill-mbstring                 v1.6.0             Symfony polyfill for the Mbstring extension
symfony/translation                       v2.8.32            Symfony Translation Component
symfony/yaml                              v3.4.2             Symfony Yaml Component
tractorcow/silverstripe-fluent            dev-master 9b19a0a Simple localisation for Silverstripe
webmozart/assert                          1.2.0              Assertions to validate method input/output with nice error messages.
webonyx/graphql-php                       v0.8.0             A PHP port of GraphQL reference implementation

The bug is that gridfieldextensions hasn't had a new 3.0 tag in months.
https://github.com/symbiote/silverstripe-gridfieldextensions/compare/3.0.2...master
You can use dev-master of this module for the time being.

Will leave this issue open... we can adjust fluent's dependencies to ^3.0.3 once it's tagged.

Ok, now it works!
Thanks a lot, I will update my composer.json too when a 3.0.3 tag will be issued.
Maybe @symbiote can tag it as a Xmas gift? :)

I think that if you asked for ^3.0.3 now you'll get the dev branch until the tag is released :)


As an author I should be able to browse the posts of others depending on my status

What does this even mean?

Closing this since permissions are in place for retrieving content based on status.


Add info about optimizing composer in production

Before running a deploy, this should be executed locally if there are composer packages in use:
composer dump-autoload --classmap-authoritative

Maybe this could be automated.

run it before the deploy if a composer.json exists
after the deploy, run a simple dump-autoload to allow continued development


Add Toolbar Table RenderHooks

panels::resource.pages.list-records.table.toolbar.reorder.start - The start of the reorder action in the table toolbar, also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.actions.start - The start of the bulkactions in the table toolbar, also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.actions.end - The end of the bulkactions in the table toolbar, also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.groups.end - The end of the groups action in the table toolbar, also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.search.start - The start of the search in the table toolbar, also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.search.end - The end of the search in the table toolbar, also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.column-toggle.start - The start of the column toggle in the table toolbar (or the end of the filters action), also can be scoped to the page or resource class
panels::resource.pages.list-records.table.toolbar.column-toggle.end - The end of the column toggle in the table toolbar, also can be scoped to the page or resource class

Please remove the extra lines at the start of the inner content of elements, so the code style is consistent with the rest of Filament
These render hooks should be part of the tables package, not the panels
Is getRenderHookScopes() defined as part of InteratsWithTables? I think it might just be used inside panels

Can you confirm me that what you expect about the tables package should look like this because the edited file is indeed located in the tables package packages/tables/resources/views/index.blade.php:
I think you're definitely waiting for this?
{{ \Filament\Support\Facades\FilamentView::renderHook('tables::toolbar.reorder.start') }}

When you talk about extra lines like for this example:
...

  {{ \Filament\Support\Facades\FilamentView::renderHook('tables::toolbar.reorder.start') }}

  @if ($isReorderable)
...

You just expect the code to be compact like:
...

  {{ \Filament\Support\Facades\FilamentView::renderHook('tables::toolbar.reorder.start') }}
  @if ($isReorderable)
...

Everything works fine on my side. Confirming me your expectations so that I can make the changes,
Have a good day

@antoinemy Hi! Where are things with this PR?

We cannot use panel:: prefixes outside the panel, so those need fixing before merge
Sibling elements should have new lines:

  {{ \Filament\Support\Facades\FilamentView::renderHook('tables::toolbar.reorder.start') }}

  @if ($isReorderable)

Replacing with #8475 due to inactivity.


location##streets[1] precedence is wrong

(location##streets)[1] is the right precedence. But it formats to location##streets[1]. The first form is the desirable precedence, but the latter form is the desirable visual.

Likewise for #774


Where can I get Purple perl module for this plugin?

When I try to run this plugin in Ubuntu with Pidgin installed - I got the error:

Can't locate Purple.pm in @INC (you may need to install the Purple module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at ./youtube-title.pl line 2.
BEGIN failed--compilation aborted at ./youtube-title.pl line 2.

But I can't see package with purple modules for Perl in Ubuntu repository. Where can I get this module?

Seems that Purple.pm file exists in system at /usr/lib/purple-2/perl/Purple.pm but script don't see it :(

If I manually copy the file to INC folders - I got another error:

Can't load '/etc/perl/auto/Purple/Purple.so' for module Purple: /etc/perl/auto/Purple/Purple.so: undefined symbol: g_free at /usr/share/perl/5.18/XSLoader.pm line 68.
at /etc/perl/Purple.pm line 52.
Compilation failed in require at ./youtube-title.pl line 2.
BEGIN failed--compilation aborted at ./youtube-title.pl line 2.

Here is issue about this: https://developer.pidgin.im/ticket/17028
So there are no way to fix this?

The script isn't intended to be run outside of Pidgin.
Are you trying to access it via the Pidgin plugins menu, or by running it using perl?
You can install it in Pidgin using the following guide: https://developer.pidgin.im/wiki/ThirdPartyPlugins#InstallingPlugins

I have enable it in Pidgin, but seems it isn't working, so I try to run in via command line for check errors.

Ah, yes, YouTube changed their API a while back.
I've created #2 to address this issue, so I will close this issue.
You're welcome to give it a try if you wish.

Thanks for the info! I will try to change the code for new API. But at now I don't understand how I can debug the code for viewing debug output and code errors, for understanding the problems in development process. Before I use command line for debug script code.

@MurzNN https://developer.pidgin.im/wiki/Scripting and Plugins has some links on how to develop for Pidgin.
What I think I used to do was make a change, then restart pidgin and check the debug console.


Unexpected metadata for non-existent ebooks

The metadata database contains records for non-existent ebooks.
Exists: https://www.gutenberg.org/ebooks/1
Doesn't exist: https://www.gutenberg.org/ebooks/182
Example code:
from __future__ import print_function
from gutenberg.query import get_metadata

def get_all_metadata(etextno):
    for feature_name in ['author', 'formaturi', 'language',
                         'rights', 'subject', 'title']:
        print("{}\t{}\t{}".format(
            etextno,
            feature_name,
            get_metadata(feature_name, etextno)))
    print()

get_all_metadata(1)  # US Declaration of Independence
get_all_metadata(182)  # no such ebook

Actual output:
1       author  frozenset([u'United States President (1801-1809)'])
1       formaturi       frozenset([u'http://www.gutenberg.org/ebooks/1.txt.utf-8', u'http://www.gutenberg.org/ebooks/1.e
pub.noimages', u'http://www.gutenberg.org/6/5/2/6527/6527-t/6527-t.tex', u'http://www.gutenberg.org/ebooks/1.html.noimag
es', u'http://www.gutenberg.org/files/1/1.zip', u'http://www.gutenberg.org/ebooks/1.epub.images', u'http://www.gutenberg
.org/ebooks/1.rdf', u'http://www.gutenberg.org/ebooks/1.kindle.noimages', u'http://www.gutenberg.org/files/1/1.txt', u'h
ttp://www.gutenberg.org/ebooks/1.html.images', u'http://www.gutenberg.org/6/5/2/6527/6527-t.zip', u'http://www.gutenberg
.org/ebooks/1.kindle.images'])
1       language        frozenset([u'en'])
1       rights  frozenset([u'Public domain in the USA.'])
1       subject frozenset([u'E201', u'United States. Declaration of Independence', u'United States -- History -- Revolut
ion, 1775-1783 -- Sources', u'JK'])
1       title   frozenset([u'The Declaration of Independence of the United States of America'])

182     author  frozenset([])
182     formaturi       frozenset([])
182     language        frozenset([u'en'])
182     rights  frozenset([u'None'])
182     subject frozenset([])
182     title   frozenset([])

Expected output:
I'd expect get_metadata("language", 182) and get_metadata("rights", 182) to both return frozenset([]) instead of frozenset([u'en']) and frozenset([u'None']).
Or better, as there's no such ebook, perhaps it should it return None or raise an exception: maybe IndexError or something custom like NoEbookIndex, or just don't add it to the database in the first place and let that raise whatever it would raise when an index is not found.

For reference in fixing this, the RDFs have an entry for 182:
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xml:base="http://www.gutenberg.org/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dcam="http://purl.org/dc/dcam/"
  xmlns:pgterms="http://www.gutenberg.org/2009/pgterms/"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:cc="http://web.resource.org/cc/"
>
  <pgterms:ebook rdf:about="ebooks/182">
    <dcterms:publisher>Project Gutenberg</dcterms:publisher>
    <dcterms:language>
      <rdf:Description rdf:nodeID="N4260554339da4361bcc361fd183ef804">
        <rdf:value rdf:datatype="http://purl.org/dc/terms/RFC4646">en</rdf:value>
      </rdf:Description>
    </dcterms:language>
    <dcterms:type>
      <rdf:Description rdf:nodeID="Na773bbd642f9428e9e07b94f85257f29">
        <rdf:value>Text</rdf:value>
        <dcam:memberOf rdf:resource="http://purl.org/dc/terms/DCMIType"/>
      </rdf:Description>
    </dcterms:type>
    <dcterms:rights>None</dcterms:rights>
    <dcterms:issued>None</dcterms:issued>
    <dcterms:license rdf:resource="license"/>
    <pgterms:downloads rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</pgterms:downloads>
  </pgterms:ebook>
  <cc:Work rdf:about="">
    <cc:license rdf:resource="http://www.gnu.org/licenses/gpl.html"/>
    <rdfs:comment>Archives containing the RDF files for *all* our books can be downloaded at
            http://www.gutenberg.org/wiki/Gutenberg:Feeds#The_Complete_Project_Gutenberg_Catalog</rdfs:comment>
  </cc:Work>
</rdf:RDF>

So whatever solution is developed should take phantom RDF entries into consideration.

Ah, interesting. I see the phantom RDF says language = "en" and rights = "None", and the other fields are missing hence None for those.

There's actually quite a few "phantom RDFs" in the Gutenberg library. I think it would be safe to say that any RDF that is missing title and author and the publisher is "Project Gutenberg", then it's probably a phantom entry and should be "discarded" in some fashion when setting up the cache as I cannot see why anyone would be interested in these things when using this library.

This is probably quite ignorant of me, but how are you accessing the language and subject parts of a book? I'm told that they cannot be queried when I run your code:
NotImplementedError: no MetadataExtractor registered for feature "language" (try any of the following: author, title)

The code in the repository is slightly ahead of the PyPI version. A number of the recent improvements (including more metadata extractors) are being held up by the need to decide if we're going to keep support for Python 3.2 or not.
To run the latest version of the code, you can follow the instructions in the readme for installing from source. If you run into issues with that, you'll probably want to create an issue (or post a StackOverflow question and then create an issue pointing to it, or any other way to ask for help, of course.)

On a related note, the RDFs also have dummy entries for 0 and 999999. 0 causes some issues because it causes a InvalidEtextIdException since an etextno of zero is (reasonably) rejected as invalid. Annoyingly, it does have the copyright status field set, which causes a search for all public domain books to error out.

@ikarth: Now that #75 is merged, the query crash due to the phantom books should be fixed. Let me know if you still face this problem.

According to @MasterOdin earlier in the thread, we can identify phantoms by the fact that they are published by Project Gutenberg and they have no title nor author. The following query implements this search:
from gutenberg.acquire.metadata import load_metadata

# warning: this is slow, takes minutes to run on my machine
phantom_query = load_metadata().query('''
SELECT ?uri
WHERE {
  ?uri
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
  <http://www.gutenberg.org/2009/pgterms/ebook>.

  ?uri
  <http://purl.org/dc/terms/publisher>
  "Project Gutenberg".

  FILTER(NOT EXISTS { ?uri <http://purl.org/dc/terms/creator> ?creator })
  FILTER(NOT EXISTS { ?uri <http://purl.org/dc/terms/title> ?title }) }
''')

phantom_urls = frozenset(result['uri'].toPython() for result in phantom_query)

with open('phantom_urls.txt', 'w') as fobj:
    fobj.write('\n'.join(sorted(phantom_urls)))

Let's verify that all of these ebooks don't exist using a quick bash script:
while read phantom_url; do
  curl --silent "${phantom_url}" | grep -q '<title>404 Not Found</title>' || echo "${phantom_url} did not 404";
done < 'phantom_urls.txt'

Turns out that we have some false-positives in the query: valid books without authors and titles!

http://www.gutenberg.org/ebooks/50624 did not 404
http://www.gutenberg.org/ebooks/50625 did not 404
http://www.gutenberg.org/ebooks/51307 did not 404
http://www.gutenberg.org/ebooks/51950 did not 404

Did a bit more digging. A solid way to identify phantoms seems to be to check if the book has no published formats.
SELECT ?uri
WHERE {
  ?uri
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
  <http://www.gutenberg.org/2009/pgterms/ebook>.

  FILTER(NOT EXISTS { ?uri <http://purl.org/dc/terms/hasFormat> ?format })
}

This finds all 71 real phantoms identified by the query in my earlier comment minus the 4 false positives.

Here is a query that we can use to delete all the phantoms:
DELETE { ?s ?p ?o }
WHERE {
 SELECT ?s ?p ?o
 WHERE {
  ?entity
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
  <http://www.gutenberg.org/2009/pgterms/ebook>.

  FILTER(NOT EXISTS {
   ?s <http://purl.org/dc/terms/hasFormat> ?format.
  })
 }

I've done a bit of work towards resolving this issue on the filter-phantom-books branch. We now have a unit test that reproduces the problem and I've implemented the approach discussed above: identify the phantoms at metadata cache creation time and remove them from the cache.
However, for some reason, deleting items from the graph doesn't seem to work (code). Does anyone have an idea what could be going wrong here? @hugovk @MasterOdin @ikarth


Fix typos, unused imports, missing docstring, and other small issues

Today I learned about signposting, thanks! Saw the library in my GitHub feed, imported into my IDE to have a look around. It found a few typos and other small issues that I've included in this PR :+1:
Feel free to point if there's any mistakes, or push directly to this branch.
Thanks!
-Bruno

Thank you, Bruno, much appreciated!
About to add merging of signposting across HTTP/HTML/Linkset and wonder if you have views on this library's current take on contexts/anchors..? It is the thing I find most complicating for users of signpostings, but I need to take it into consideration for merging..


Update GH actions actions to use v3 instead of v1

This should hopefully get rid of a bunch of deprecation warnings.
Currently seeing the following on our CI runs:

actions/upload-release-asset also appears to be unmaintained so we'll have to replace that with something else.

@saulecabrera is there a way I can test the release action without releasing a new version?

@saulecabrera is there a way I can test the publish action without releasing a new version?

Not easily afaik. I've used https://github.com/nektos/act in the past. Perhaps you could try that?

Looks like act requires Docker. I tried with Podman and am getting some weird errors. There are some workarounds in https://github.com/nektos/act/issues/303 but they seem to only work on Linux.
I'll just try to get this working in the repo so might be several more PRs as I iterate.


Missing HEDLEY_DIAGNOSTIC_POP

Hello,
There is a HEDLEY_DIAGNOSTIC_PUSH without a corresponding HEDLEY_DIAGNOSTIC_POP in x86/sse.h, just before simde_mm_unpackhi_ps function.
This leads to warning C5032 in MSVC.
I’d open a PR myself to fix add the missing POP, but I’m not sure where it should go. I guess after simde_mm_unpackhi_ps declaration.

I started on this in https://github.com/simd-everywhere/simde/commit/09fc0b8f355d939bacb25ddeb461d894dca4cf11 ; but it uncovered more issues than I have time to fix right now