Karpenter not re-evaluating pending pods

Description
Observed Behavior:
We see Karpenter nominating a particular node for pending pods, but the pods are never actually scheduled there. Pods are then left pending indefinitely. There are also no significant taints or selectors involved and the stuck pods are a completely random set. It isn't occurring for all pods - we usually find the issue to occur on scale-in/out.
We speculate there are at least two possible scenarios that could make this happen:

The node that Karpenter has nominated becomes full before the pending pod is scheduled. e.g. Another node is spot interrupted and it's workloads immediately move to the nominated node.
The node that Karpenter has nominated is consolidated before the pending pod is scheduled. ( similar to #4341 )

In both these scenarios it seems that Karpenter needs to re-evaluate the pod.
Provisioner:
apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
  name: default
spec:
  consolidation:
    enabled: true
  kubeletConfiguration:
    systemReserved:
      cpu: 100m
      memory: 100Mi
      ephemeral-storage: 1Gi
  limits:
    resources:
      cpu: 2500
  providerRef:
    name: default
  requirements:
    - key: kubernetes.io/arch
      operator: In
      values: ['amd64', 'arm64']
    - 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-family
      operator: NotIn
      values: ['m5', 'm5d', 'm5n', 'm5dn', 'm5a', 'm5ad', 'r5', 'r5d', 'r5n', 'r5dn', 'r5b', 'r5a', 'r5ad']
    - key: karpenter.k8s.aws/instance-generation
      operator: Gt
      values: ['4']
    - key: karpenter.k8s.aws/instance-size
      operator: In
      values: ['2xlarge','4xlarge']
    - key: topology.kubernetes.io/zone
      operator: In
      values: ['eu-central-1a']

Pod events:
  Type     Reason            Age                   From               Message
  ----     ------            ----                  ----               -------
  Warning  FailedScheduling  6m1s (x4 over 6m31s)  default-scheduler  0/13 nodes are available: 1 node(s) had untolerated taint {monitoring: }, 1 node(s) were unschedulable, 2 node(s) had untolerated taint {eks.amazonaws.com/compute-type: fargate}, 4 Insufficient memory, 8 Insufficient cpu. preemption: 0/13 nodes are available: 4 Preemption is not helpful for scheduling, 9 No preemption victims found for incoming pod..

  Normal   Nominated         30s (x4 over 6m30s)   karpenter          Pod should schedule on: machine/default-5v524, node/ip-X-Y-16-107.region.compute.internal
  ... FailedScheduling continues ...

Node events:
  Type     Reason                   Age                From                   Message
  ----     ------                   ----               ----                   -------
  Normal   Starting                 10m                kube-proxy
  Normal   Starting                 11m                kubelet                Starting kubelet.
  Warning  InvalidDiskCapacity      11m                kubelet                invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientMemory  11m (x2 over 11m)  kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    11m (x2 over 11m)  kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     11m (x2 over 11m)  kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeHasSufficientPID
  Normal   NodeAllocatableEnforced  11m                kubelet                Updated Node Allocatable limit across pods
  Normal   Synced                   10m                cloud-node-controller  Node synced successfully
  Normal   RegisteredNode           10m                node-controller        Node ip-X-Y-16-107.region.compute.internal event: Registered Node ip-X-Y-16-107.region.compute.internal in Controller
  Normal   DeprovisioningBlocked    10m                karpenter              Cannot deprovision node due to machine is not initialized
  Normal   NodeReady                10m                kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeReady
  Normal   DeprovisioningBlocked    40s (x5 over 10m)  karpenter              Cannot deprovision node due to machine is nominated

Karpenter logs

2023-08-07T03:39:30.799Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-5v524", "provisioner": "default", "provider-id": "aws:///regiona/i-0027fc6792f2c019d", "node": "ip-X-Y-16-107.region.compute.internal"}
2023-08-07T03:39:31.207Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-0adc52b170198b060", "name": "karpenter.k8s.aws/13153237635562061995"}
2023-08-07T03:39:31.297Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-082261bbc5b2f3567", "name": "karpenter.k8s.aws/16969462482242265312"}
2023-08-07T03:39:31.393Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-0323af4e0542c0cd3", "name": "karpenter.k8s.aws/15163484215685057987"}
2023-08-07T03:39:31.482Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-0469c9ca84954ab85", "name": "karpenter.k8s.aws/8039010270740481828"}
2023-08-07T03:39:39.865Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:39:41.233Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T03:39:43.123Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-5v524", "provisioner": "default", "provider-id": "aws:///regiona/i-0027fc6792f2c019d", "node": "ip-X-Y-16-107.region.compute.internal"}
2023-08-07T03:40:07.496Z	INFO	controller.deprovisioning	deprovisioning via consolidation delete, terminating 1 machines ip-X-Y-61-95.region.compute.internal/r6gd.2xlarge/spot	{"commit": "34d50bf-dirty"}
2023-08-07T03:40:07.563Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-61-95.region.compute.internal"}
2023-08-07T03:40:59.669Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-61-95.region.compute.internal"}
2023-08-07T03:40:59.981Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-dcsdj", "node": "ip-X-Y-61-95.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-022a9d3392d40894e"}
2023-08-07T03:41:19.221Z	INFO	controller.deprovisioning	deprovisioning via consolidation replace, terminating 1 machines ip-X-Y-56-56.region.compute.internal/m6g.4xlarge/on-demand and replacing with spot machine from types m6gd.4xlarge, r6g.4xlarge, r6i.4xlarge, r6id.4xlarge, c5n.4xlarge and 5 other(s)	{"commit": "34d50bf-dirty"}
2023-08-07T03:41:19.316Z	INFO	controller.deprovisioning	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"14090m","memory":"32267Mi","pods":"27"}, "instance-types": "c5n.4xlarge, m6a.4xlarge, m6g.4xlarge, m6gd.4xlarge, m6i.4xlarge and 5 other(s)"}
2023-08-07T03:41:19.634Z	DEBUG	controller.machine.lifecycle	discovered subnets	{"commit": "34d50bf-dirty", "machine": "default-pwqrw", "provisioner": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:41:22.480Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-pwqrw", "provisioner": "default", "provider-id": "aws:///regiona/i-072805f5ce8653824", "instance-type": "r6gd.4xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"15790m","ephemeral-storage":"16Gi","memory":"118153Mi","pods":"234"}}
2023-08-07T03:41:44.226Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-pwqrw", "provisioner": "default", "provider-id": "aws:///regiona/i-072805f5ce8653824", "node": "ip-X-Y-49-9.region.compute.internal"}
2023-08-07T03:41:56.921Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-pwqrw", "provisioner": "default", "provider-id": "aws:///regiona/i-072805f5ce8653824", "node": "ip-X-Y-49-9.region.compute.internal"}
2023-08-07T03:42:03.567Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-56-56.region.compute.internal"}
2023-08-07T03:43:29.335Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-56-56.region.compute.internal"}
2023-08-07T03:43:29.646Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-2wfn5", "node": "ip-X-Y-56-56.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-07cb0d89e8ce28563"}
2023-08-07T03:43:37.909Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-tlslj"}
...
2023-08-07T03:44:22.832Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T03:44:54.706Z	DEBUG	controller.awsnodetemplate	discovered subnets	{"commit": "34d50bf-dirty", "awsnodetemplate": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:49:28.248Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-tlslj"}
...
2023-08-07T03:49:30.217Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T03:49:31.205Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-0774941c841d7721c", "name": "karpenter.k8s.aws/18323470363648805825"}
2023-08-07T03:49:31.297Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-01eb40992bacab8b1", "name": "karpenter.k8s.aws/2781562212885794394"}
2023-08-07T03:49:31.401Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-03c463d42935c6593", "name": "karpenter.k8s.aws/9323694851113280840"}
2023-08-07T03:49:31.492Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-03f6cd48dc7a43192", "name": "karpenter.k8s.aws/15790409320365474551"}
2023-08-07T03:49:55.373Z	DEBUG	controller.awsnodetemplate	discovered subnets	{"commit": "34d50bf-dirty", "awsnodetemplate": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:54:51.436Z	INFO	controller.deprovisioning	deprovisioning via consolidation replace, terminating 2 machines ip-X-Y-26-11.region.compute.internal/c5a.4xlarge/on-demand, ip-X-Y-7-93.region.compute.internal/r6gd.2xlarge/spot and replacing with on-demand machine from types c7g.4xlarge, c6g.4xlarge	{"commit": "34d50bf-dirty"}
2023-08-07T03:54:51.558Z	INFO	controller.deprovisioning	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"12515m","memory":"26923Mi","pods":"26"}, "instance-types": "c6g.4xlarge, c7g.4xlarge"}
2023-08-07T03:54:51.673Z	DEBUG	controller.machine.lifecycle	discovered subnets	{"commit": "34d50bf-dirty", "machine": "default-8f5jm", "provisioner": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:54:52.291Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-8f5jm", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/16969462482242265312", "id": "lt-06b71cc326740b7d7"}
2023-08-07T03:54:52.752Z	DEBUG	controller.provisioner	waiting on cluster sync	{"commit": "34d50bf-dirty"}
2023-08-07T03:54:54.039Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-8f5jm", "provisioner": "default", "provider-id": "aws:///regiona/i-09041929855182f45", "instance-type": "c6g.4xlarge", "zone": "regiona", "capacity-type": "on-demand", "allocatable": {"cpu":"15790m","ephemeral-storage":"16Gi","memory":"27222Mi","pods":"234"}}
2023-08-07T03:55:15.579Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-8f5jm", "provisioner": "default", "provider-id": "aws:///regiona/i-09041929855182f45", "node": "ip-X-Y-43-164.region.compute.internal"}
2023-08-07T03:55:28.187Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-8f5jm", "provisioner": "default", "provider-id": "aws:///regiona/i-09041929855182f45", "node": "ip-X-Y-43-164.region.compute.internal"}
2023-08-07T03:55:35.830Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-26-11.region.compute.internal"}
2023-08-07T03:55:35.855Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-7-93.region.compute.internal"}
2023-08-07T03:55:39.826Z	INFO	controller.provisioner	found provisionable pod(s)	{"commit": "34d50bf-dirty", "pods": 16}
2023-08-07T03:55:39.826Z	INFO	controller.provisioner	computed new machine(s) to fit pod(s)	{"commit": "34d50bf-dirty", "machines": 1, "pods": 13}
2023-08-07T03:55:39.826Z	INFO	controller.provisioner	computed 3 unready node(s) will fit 3 pod(s)	{"commit": "34d50bf-dirty"}
2023-08-07T03:55:39.836Z	INFO	controller.provisioner	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"6985m","memory":"16923Mi","pods":"19"}, "instance-types": "c5.4xlarge, c5a.4xlarge, c5ad.4xlarge, c5d.4xlarge, c5n.2xlarge and 27 other(s)"}
2023-08-07T03:55:40.027Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/15790409320365474551", "id": "lt-0920d5c0c501a815f"}
2023-08-07T03:55:40.159Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/9323694851113280840", "id": "lt-0f76e882a8c5222e7"}
2023-08-07T03:55:40.303Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/2781562212885794394", "id": "lt-0101dad20a4c23bea"}
2023-08-07T03:55:40.458Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/18323470363648805825", "id": "lt-0acec33ea13b62d15"}
2023-08-07T03:55:41.531Z	DEBUG	controller.provisioner	waiting on cluster sync	{"commit": "34d50bf-dirty"}
2023-08-07T03:55:42.466Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "provider-id": "aws:///regiona/i-0979c299232ecedaf", "instance-type": "r6gd.2xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"59468Mi","pods":"58"}}
2023-08-07T03:55:58.268Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-7-93.region.compute.internal"}
2023-08-07T03:55:58.269Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-26-11.region.compute.internal"}
2023-08-07T03:55:58.570Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-5zrn9", "node": "ip-X-Y-7-93.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-0aabf6f81f91f5f26"}
2023-08-07T03:55:58.572Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-t5wg2", "node": "ip-X-Y-26-11.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-09cd7ef42da828d3b"}
2023-08-07T03:56:00.526Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:56:00.919Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["tap-injector"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/tap-injector-84c68fc689-4fxf4"}
2023-08-07T03:56:05.009Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "provider-id": "aws:///regiona/i-0979c299232ecedaf", "node": "ip-X-Y-20-234.region.compute.internal"}
2023-08-07T03:56:12.333Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:56:12.421Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["tap-injector"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/tap-injector-84c68fc689-4fxf4"}
2023-08-07T03:56:17.506Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "provisioner": "default", "provider-id": "aws:///regiona/i-0979c299232ecedaf", "node": "ip-X-Y-20-234.region.compute.internal"}
2023-08-07T03:56:17.623Z	INFO	controller.provisioner	found provisionable pod(s)	{"commit": "34d50bf-dirty", "pods": 1}
2023-08-07T03:56:17.623Z	INFO	controller.provisioner	computed new machine(s) to fit pod(s)	{"commit": "34d50bf-dirty", "machines": 1, "pods": 1}
2023-08-07T03:56:17.639Z	INFO	controller.provisioner	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"2650m","memory":"2389Mi","pods":"7"}, "instance-types": "c5.2xlarge, c5.4xlarge, c5a.2xlarge, c5a.4xlarge, c5ad.2xlarge and 38 other(s)"}
2023-08-07T03:56:17.777Z	DEBUG	controller.machine.lifecycle	discovered subnets	{"commit": "34d50bf-dirty", "machine": "default-9bf66", "provisioner": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:56:19.311Z	DEBUG	controller.provisioner	waiting on cluster sync	{"commit": "34d50bf-dirty"}
2023-08-07T03:56:20.629Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-9bf66", "provisioner": "default", "provider-id": "aws:///regiona/i-0205c08f3e7cf4037", "instance-type": "r6gd.2xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"59468Mi","pods":"58"}}
2023-08-07T03:56:23.430Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:56:23.437Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["tap-injector"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/tap-injector-84c68fc689-4fxf4"}
2023-08-07T03:56:41.782Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-9bf66", "provisioner": "default", "provider-id": "aws:///regiona/i-0205c08f3e7cf4037", "node": "ip-X-Y-40-78.region.compute.internal"}
2023-08-07T03:56:44.936Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:56:45.223Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T03:56:54.033Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-9bf66", "provisioner": "default", "provider-id": "aws:///regiona/i-0205c08f3e7cf4037", "node": "ip-X-Y-40-78.region.compute.internal"}
2023-08-07T03:57:11.919Z	INFO	controller.deprovisioning	deprovisioning via consolidation replace, terminating 1 machines ip-X-Y-38-180.region.compute.internal/c5a.4xlarge/on-demand and replacing with on-demand machine from types m6a.2xlarge, c5n.2xlarge, m6id.2xlarge, c5d.2xlarge, c6i.2xlarge and 7 other(s)	{"commit": "34d50bf-dirty"}
2023-08-07T03:57:11.949Z	INFO	controller.deprovisioning	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"7360m","memory":"10595Mi","pods":"13"}, "instance-types": "c5.2xlarge, c5a.2xlarge, c5ad.2xlarge, c5d.2xlarge, c5n.2xlarge and 7 other(s)"}
2023-08-07T03:57:12.468Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-vjfx6", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/15163484215685057987", "id": "lt-0478331164a2b8f3d"}
2023-08-07T03:57:14.173Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-vjfx6", "provisioner": "default", "provider-id": "aws:///regiona/i-0747ef27539a821e7", "instance-type": "c5a.2xlarge", "zone": "regiona", "capacity-type": "on-demand", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"14062Mi","pods":"58"}}
2023-08-07T03:57:33.853Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-vjfx6", "provisioner": "default", "provider-id": "aws:///regiona/i-0747ef27539a821e7", "node": "ip-X-Y-47-1.region.compute.internal"}
2023-08-07T03:57:46.524Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-vjfx6", "provisioner": "default", "provider-id": "aws:///regiona/i-0747ef27539a821e7", "node": "ip-X-Y-47-1.region.compute.internal"}
2023-08-07T03:57:56.111Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-38-180.region.compute.internal"}
2023-08-07T03:57:59.384Z	INFO	controller.provisioner	found provisionable pod(s)	{"commit": "34d50bf-dirty", "pods": 3}
2023-08-07T03:57:59.384Z	INFO	controller.provisioner	computed new machine(s) to fit pod(s)	{"commit": "34d50bf-dirty", "machines": 1, "pods": 3}
2023-08-07T03:57:59.393Z	INFO	controller.provisioner	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"3860m","memory":"6275Mi","pods":"9"}, "instance-types": "c5.2xlarge, c5.4xlarge, c5a.2xlarge, c5a.4xlarge, c5ad.2xlarge and 22 other(s)"}
2023-08-07T03:57:59.522Z	DEBUG	controller.machine.lifecycle	discovered subnets	{"commit": "34d50bf-dirty", "machine": "default-v7kqj", "provisioner": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:58:01.976Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-v7kqj", "provisioner": "default", "provider-id": "aws:///regiona/i-0ab792dc0cca9b3b4", "instance-type": "c6id.2xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"14062Mi","pods":"58"}}
2023-08-07T03:58:20.964Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-v7kqj", "provisioner": "default", "provider-id": "aws:///regiona/i-0ab792dc0cca9b3b4", "node": "ip-X-Y-43-172.region.compute.internal"}
2023-08-07T03:58:25.512Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-38-180.region.compute.internal"}
2023-08-07T03:58:25.774Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-gxz6b", "node": "ip-X-Y-38-180.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-0d29698b393dc79bd"}
2023-08-07T03:58:31.012Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-v7kqj", "provisioner": "default", "provider-id": "aws:///regiona/i-0ab792dc0cca9b3b4", "node": "ip-X-Y-43-172.region.compute.internal"}
2023-08-07T03:58:46.385Z	INFO	controller.deprovisioning	deprovisioning via consolidation delete, terminating 1 machines ip-X-Y-20-234.region.compute.internal/r6gd.2xlarge/spot	{"commit": "34d50bf-dirty"}
2023-08-07T03:58:46.445Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-20-234.region.compute.internal"}
2023-08-07T03:58:49.765Z	INFO	controller.provisioner	found provisionable pod(s)	{"commit": "34d50bf-dirty", "pods": 3}
2023-08-07T03:58:49.765Z	INFO	controller.provisioner	computed new machine(s) to fit pod(s)	{"commit": "34d50bf-dirty", "machines": 1, "pods": 1}
2023-08-07T03:58:49.765Z	INFO	controller.provisioner	computed 2 unready node(s) will fit 2 pod(s)	{"commit": "34d50bf-dirty"}
2023-08-07T03:58:49.777Z	INFO	controller.provisioner	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"1500m","memory":"2261Mi","pods":"7"}, "instance-types": "c5.2xlarge, c5.4xlarge, c5a.2xlarge, c5a.4xlarge, c5ad.2xlarge and 38 other(s)"}
2023-08-07T03:58:52.221Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-94xdg", "provisioner": "default", "provider-id": "aws:///regiona/i-0f3dd2c31af754f6c", "instance-type": "r6gd.2xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"59468Mi","pods":"58"}}
2023-08-07T03:59:09.929Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-20-234.region.compute.internal"}
2023-08-07T03:59:10.217Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-vvjvp", "node": "ip-X-Y-20-234.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-0979c299232ecedaf"}
2023-08-07T03:59:10.939Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:59:11.536Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T03:59:12.076Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-94xdg", "provisioner": "default", "provider-id": "aws:///regiona/i-0f3dd2c31af754f6c", "node": "ip-X-Y-15-143.region.compute.internal"}
2023-08-07T03:59:21.926Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:59:22.512Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T03:59:23.793Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-94xdg", "provisioner": "default", "provider-id": "aws:///regiona/i-0f3dd2c31af754f6c", "node": "ip-X-Y-15-143.region.compute.internal"}
2023-08-07T03:59:31.202Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-0478331164a2b8f3d", "name": "karpenter.k8s.aws/15163484215685057987"}
2023-08-07T03:59:31.293Z	DEBUG	controller	deleted launch template	{"commit": "34d50bf-dirty", "id": "lt-06b71cc326740b7d7", "name": "karpenter.k8s.aws/16969462482242265312"}
2023-08-07T03:59:32.718Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-n877s"}
...
2023-08-07T03:59:33.115Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["tap-injector"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/tap-injector-84c68fc689-4fxf4"}
2023-08-07T03:59:48.509Z	INFO	controller.deprovisioning	deprovisioning via consolidation delete, terminating 1 machines ip-X-Y-40-78.region.compute.internal/r6gd.2xlarge/spot	{"commit": "34d50bf-dirty"}
2023-08-07T03:59:48.574Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-40-78.region.compute.internal"}
2023-08-07T03:59:51.577Z	INFO	controller.provisioner	found provisionable pod(s)	{"commit": "34d50bf-dirty", "pods": 3}
2023-08-07T03:59:51.577Z	INFO	controller.provisioner	computed new machine(s) to fit pod(s)	{"commit": "34d50bf-dirty", "machines": 1, "pods": 1}
2023-08-07T03:59:51.577Z	INFO	controller.provisioner	computed 1 unready node(s) will fit 2 pod(s)	{"commit": "34d50bf-dirty"}
2023-08-07T03:59:51.588Z	INFO	controller.provisioner	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"2650m","memory":"2389Mi","pods":"7"}, "instance-types": "c5.2xlarge, c5.4xlarge, c5a.2xlarge, c5a.4xlarge, c5ad.2xlarge and 38 other(s)"}
2023-08-07T03:59:51.723Z	DEBUG	controller.machine.lifecycle	discovered subnets	{"commit": "34d50bf-dirty", "machine": "default-4lxp8", "provisioner": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T03:59:54.435Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-4lxp8", "provisioner": "default", "provider-id": "aws:///regiona/i-05c5a13ed53b6d9a4", "instance-type": "r6gd.2xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"59468Mi","pods":"58"}}
2023-08-07T04:00:17.495Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-4lxp8", "provisioner": "default", "provider-id": "aws:///regiona/i-05c5a13ed53b6d9a4", "node": "ip-X-Y-2-238.region.compute.internal"}
2023-08-07T04:00:18.052Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-40-78.region.compute.internal"}
2023-08-07T04:00:18.400Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-9bf66", "node": "ip-X-Y-40-78.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-0205c08f3e7cf4037"}
2023-08-07T04:00:24.222Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"In","values":["destination"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd/linkerd-destination-5c6bc8648b-66pk5"}
...
2023-08-07T04:00:24.240Z	DEBUG	controller.deprovisioning	relaxing soft constraints for pod since it previously failed to schedule, removing: spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0]={"weight":100,"podAffinityTerm":{"labelSelector":{"matchExpressions":[{"key":"component","operator":"In","values":["metrics-api"]}]},"topologyKey":"failure-domain.beta.kubernetes.io/zone"}}	{"commit": "34d50bf-dirty", "pod": "linkerd-viz/metrics-api-86f7647844-kj8k6"}
2023-08-07T04:00:29.249Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-4lxp8", "provisioner": "default", "provider-id": "aws:///regiona/i-05c5a13ed53b6d9a4", "node": "ip-X-Y-2-238.region.compute.internal"}
2023-08-07T04:00:50.326Z	INFO	controller.deprovisioning	deprovisioning via consolidation replace, terminating 1 machines ip-X-Y-47-1.region.compute.internal/c5a.2xlarge/on-demand and replacing with on-demand machine from types c7g.2xlarge, c6g.2xlarge	{"commit": "34d50bf-dirty"}
2023-08-07T04:00:50.359Z	INFO	controller.deprovisioning	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"2250m","memory":"2285Mi","pods":"8"}, "instance-types": "c6g.2xlarge, c7g.2xlarge"}
2023-08-07T04:00:50.563Z	DEBUG	controller.machine.lifecycle	created launch template	{"commit": "34d50bf-dirty", "machine": "default-2g8tb", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/13153237635562061995", "id": "lt-0e0a68a68b5a3c8f9"}
2023-08-07T04:00:52.148Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-2g8tb", "provisioner": "default", "provider-id": "aws:///regiona/i-0cc6f51751fbd27cf", "instance-type": "c6g.2xlarge", "zone": "regiona", "capacity-type": "on-demand", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"14003Mi","pods":"58"}}
2023-08-07T04:01:17.224Z	DEBUG	controller.machine.lifecycle	registered machine	{"commit": "34d50bf-dirty", "machine": "default-2g8tb", "provisioner": "default", "provider-id": "aws:///regiona/i-0cc6f51751fbd27cf", "node": "ip-X-Y-60-127.region.compute.internal"}
2023-08-07T04:01:29.956Z	DEBUG	controller.machine.lifecycle	initialized machine	{"commit": "34d50bf-dirty", "machine": "default-2g8tb", "provisioner": "default", "provider-id": "aws:///regiona/i-0cc6f51751fbd27cf", "node": "ip-X-Y-60-127.region.compute.internal"}
2023-08-07T04:01:34.493Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-47-1.region.compute.internal"}
2023-08-07T04:01:56.625Z	INFO	controller.termination	deleted node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-47-1.region.compute.internal"}
2023-08-07T04:01:56.925Z	INFO	controller.machine.termination	deleted machine	{"commit": "34d50bf-dirty", "machine": "default-vjfx6", "node": "ip-X-Y-47-1.region.compute.internal", "provisioner": "default", "provider-id": "aws:///regiona/i-0747ef27539a821e7"}
2023-08-07T04:02:14.713Z	INFO	controller.deprovisioning	deprovisioning via consolidation delete, terminating 1 machines ip-X-Y-15-143.region.compute.internal/r6gd.2xlarge/spot	{"commit": "34d50bf-dirty"}
2023-08-07T04:02:14.772Z	INFO	controller.termination	cordoned node	{"commit": "34d50bf-dirty", "node": "ip-X-Y-15-143.region.compute.internal"}
2023-08-07T04:02:17.724Z	INFO	controller.provisioner	found provisionable pod(s)	{"commit": "34d50bf-dirty", "pods": 3}
2023-08-07T04:02:17.724Z	INFO	controller.provisioner	computed new machine(s) to fit pod(s)	{"commit": "34d50bf-dirty", "machines": 1, "pods": 2}
2023-08-07T04:02:17.724Z	INFO	controller.provisioner	computed 1 unready node(s) will fit 1 pod(s)	{"commit": "34d50bf-dirty"}
2023-08-07T04:02:17.821Z	INFO	controller.provisioner	created machine	{"commit": "34d50bf-dirty", "provisioner": "default", "requests": {"cpu":"2790m","memory":"4373Mi","pods":"8"}, "instance-types": "c5.2xlarge, c5.4xlarge, c5a.2xlarge, c5a.4xlarge, c5ad.2xlarge and 38 other(s)"}
2023-08-07T04:02:18.021Z	DEBUG	controller.machine.lifecycle	discovered subnets	{"commit": "34d50bf-dirty", "machine": "default-rsfsk", "provisioner": "default", "subnets": ["subnet-0172226b966a9d7d7 (regiona)"]}
2023-08-07T04:02:20.707Z	INFO	controller.machine.lifecycle	launched machine	{"commit": "34d50bf-dirty", "machine": "default-rsfsk", "provisioner": "default", "provider-id": "aws:///regiona/i-0050f6b3cba1f6d35", "instance-type": "r6gd.2xlarge", "zone": "regiona", "capacity-type": "spot", "allocatable": {"cpu":"7810m","ephemeral-storage":"16Gi","memory":"59468Mi","pods":"58"}}

Expected Behavior:
The pending pod should be scheduled and spawn on the node that was nominated, or if that fails a new node should be nominated and the pod should schedule on it instead.
Reproduction Steps (Please include YAML):
We were only able to reproduce the issue by unwiring our workloads completely and then re-applying them back to the cluster, causing node churn. The issue is otherwise intermittent.
Versions:

Chart Version: v0.29.2
Kubernetes Version (kubectl version): v1.27.3-eks-a5565ad

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

When this happens, can you run kubectl describe pod pod-name on the pod? and then run kubectl describe node node-name on the node that we think it will schedule to?
The only thing I'm aware of that causes this is if we launch a node that doesn't go ready, but that node should now be removed after 15 minutes of failing to register.

In our case the node does go ready and it runs other workloads.
Here are the full details:
Describe pod
Name:             pod-c
Namespace:        default
Priority:         0
Service Account:  default
Node:             <none>
Labels:           app=pod-c
                  pod-template-hash=bb48cc698
                  pool.type=default
                  version.type=released
Annotations:      prometheus.io/port: 8968
                  prometheus.io/scrape: true
Status:           Pending
IP:
IPs:              <none>
Controlled By:    ReplicaSet/pod-c-bb48cc698
Containers:
  pod-c:
    Image:       account-id.dkr.ecr.region.amazonaws.com/pod-c:redacted
    Ports:       8967/TCP, 8968/TCP, 8969/TCP
    Host Ports:  0/TCP, 0/TCP, 0/TCpod-cP
    Limits:
      memory:  1Gi
    Requests:
      cpu:      500m
      memory:   1Gi
    Readiness:  http-get http://:http/up delay=0s timeout=5s period=10s
    Environment Variables from:
      cluster-info  ConfigMap  Optional: false
    Environment:
      ...redacted...
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-v4bfl (ro)
  jaeger-agent:
    Image:       jaegertracing/jaeger-agent:1.39.0
    Ports:       5778/TCP, 6831/UDP
    Host Ports:  0/TCP, 0/UDP
    Args:
      --reporter.grpc.host-port=dns:///jaeger-collector-headless.tracing:14250
      --reporter.grpc.discovery.min-peers=10
    Limits:
      memory:  128Mi
    Requests:
      cpu:        10m
      memory:     64Mi
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-v4bfl (ro)
Readiness Gates:
  Type                                                     Status
  target-health.elbv2.k8s.aws/k8s-default-pod-c            <none>
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  kube-api-access-v4bfl:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason            Age                   From               Message
  ----     ------            ----                  ----               -------
  Warning  FailedScheduling  6m1s (x4 over 6m31s)  default-scheduler  0/13 nodes are available: 1 node(s) had untolerated taint {monitoring: }, 1 node(s) were unschedulable, 2 node(s) had untolerated taint {eks.amazonaws.com/compute-type: fargate}, 4 Insufficient memory, 8 Insufficient cpu. preemption: 0/13 nodes are available: 4 Preemption is not helpful for scheduling, 9 No preemption victims found for incoming pod..

  Normal   Nominated         30s (x4 over 6m30s)   karpenter          Pod should schedule on: machine/default-5v524, node/ip-X-Y-16-107.region.compute.internal
  ... FailedScheduling ...

Describe node
Name:               ip-x-y-16-107-region.compute.internal
Roles:              <none>
Labels:             beta.kubernetes.io/arch=arm64
                    beta.kubernetes.io/instance-type=r6gd.2xlarge
                    beta.kubernetes.io/os=linux
                    failure-domain.beta.kubernetes.io/region=region
                    failure-domain.beta.kubernetes.io/zone=zone
                    k8s.io/cloud-provider-aws=f275cbb56d826c5225e870ca953827c7
                    karpenter.k8s.aws/instance-category=r
                    karpenter.k8s.aws/instance-cpu=8
                    karpenter.k8s.aws/instance-encryption-in-transit-supported=false
                    karpenter.k8s.aws/instance-family=r6gd
                    karpenter.k8s.aws/instance-generation=6
                    karpenter.k8s.aws/instance-hypervisor=nitro
                    karpenter.k8s.aws/instance-local-nvme=474
                    karpenter.k8s.aws/instance-memory=65536
                    karpenter.k8s.aws/instance-network-bandwidth=2500
                    karpenter.k8s.aws/instance-pods=58
                    karpenter.k8s.aws/instance-size=2xlarge
                    karpenter.sh/capacity-type=spot
                    karpenter.sh/initialized=true
                    karpenter.sh/provisioner-name=default
                    karpenter.sh/registered=true
                    kubernetes.io/arch=arm64
                    kubernetes.io/hostname=ip-X-Y-16-107.region.compute.internal
                    kubernetes.io/os=linux
                    node.kubernetes.io/instance-type=r6gd.2xlarge
                    topology.ebs.csi.aws.com/zone=zone
                    topology.kubernetes.io/region=region
                    topology.kubernetes.io/zone=zone
Annotations:        alpha.kubernetes.io/provided-node-ip: X.Y.16.107
                    csi.volume.kubernetes.io/nodeid: {"ebs.csi.aws.com":"redacted"}
                    karpenter.sh/managed-by: redacted
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Mon, 07 Aug 2023 15:39:30 +1200
Taints:             <none>
Unschedulable:      false
Lease:
  HolderIdentity:  ip-X-Y-16-107.region.compute.internal
  AcquireTime:     <unset>
  RenewTime:       Mon, 07 Aug 2023 15:50:24 +1200
Conditions:
  Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----             ------  -----------------                 ------------------                ------                       -------
  MemoryPressure   False   Mon, 07 Aug 2023 15:45:37 +1200   Mon, 07 Aug 2023 15:39:30 +1200   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Mon, 07 Aug 2023 15:45:37 +1200   Mon, 07 Aug 2023 15:39:30 +1200   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Mon, 07 Aug 2023 15:45:37 +1200   Mon, 07 Aug 2023 15:39:30 +1200   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            True    Mon, 07 Aug 2023 15:45:37 +1200   Mon, 07 Aug 2023 15:39:42 +1200   KubeletReady                 kubelet is posting ready status
Addresses:
  InternalIP:   X.Y.16.107
  ExternalIP:   redacted
  InternalDNS:  ip-X-Y-16-107.region.compute.internal
  Hostname:     ip-X-Y-16-107.region.compute.internal
  ExternalDNS:  redacted.region.compute.amazonaws.com
Capacity:
  cpu:                8
  ephemeral-storage:  20949996Ki
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  hugepages-32Mi:     0
  hugepages-64Ki:     0
  memory:             65034728Ki
  pods:               58
Allocatable:
  cpu:                7810m
  ephemeral-storage:<PHONE_NUMBER>4
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  hugepages-32Mi:     0
  hugepages-64Ki:     0
  memory:             63915496Ki
  pods:               58
System Info:
  Machine ID:                 ec23423095f1d606d50dadd119e81dc8
  System UUID:                ec234230-95f1-d606-d50d-add119e81dc8
  Boot ID:                    db569762-b5bf-4183-99b5-ef6537d59299
  Kernel Version:             5.10.184-175.749.amzn2.aarch64
  OS Image:                   Amazon Linux 2
  Operating System:           linux
  Architecture:               arm64
  Container Runtime Version:  containerd://1.6.19
  Kubelet Version:            v1.27.3-eks-a5565ad
  Kube-Proxy Version:         v1.27.3-eks-a5565ad
ProviderID:                   aws:///region/redacted
Non-terminated Pods:          (8 in total)
  Namespace                   Name                                         CPU Requests  CPU Limits  Memory Requests  Memory Limits  Age
  ---------                   ----                                         ------------  ----------  ---------------  -------------  ---
  default                     pod-a                                        5510m (70%)   0 (0%)      8256Mi (13%)     8320Mi (13%)   10m
  default                     pod-b                                        2010m (25%)   0 (0%)      1984Mi (3%)      2Gi (3%)       11m
  kube-system                 aws-node-cldnd                               10m (0%)      0 (0%)      100Mi (0%)       0 (0%)         11m
  kube-system                 aws-node-termination-handler-gnplx           0 (0%)        0 (0%)      0 (0%)           0 (0%)         10m
  kube-system                 ebs-csi-node-w7zlg                           30m (0%)      0 (0%)      120Mi (0%)       768Mi (1%)     11m
  kube-system                 kube-proxy-48jh9                             100m (1%)     0 (0%)      0 (0%)           0 (0%)         11m
  logging                     fluent-bit-8vwrt                             100m (1%)     0 (0%)      32Mi (0%)        128Mi (0%)     10m
  monitoring                  prometheus-prometheus-node-exporter-nktcm    0 (0%)        0 (0%)      25Mi (0%)        0 (0%)         11m
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests       Limits
  --------           --------       ------
  cpu                7760m (99%)    0 (0%)
  memory             10517Mi (16%)  11Gi (18%)
  ephemeral-storage  0 (0%)         0 (0%)
  hugepages-1Gi      0 (0%)         0 (0%)
  hugepages-2Mi      0 (0%)         0 (0%)
  hugepages-32Mi     0 (0%)         0 (0%)
  hugepages-64Ki     0 (0%)         0 (0%)
Events:
  Type     Reason                   Age                From                   Message
  ----     ------                   ----               ----                   -------
  Normal   Starting                 10m                kube-proxy
  Normal   Starting                 11m                kubelet                Starting kubelet.
  Warning  InvalidDiskCapacity      11m                kubelet                invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientMemory  11m (x2 over 11m)  kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    11m (x2 over 11m)  kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     11m (x2 over 11m)  kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeHasSufficientPID
  Normal   NodeAllocatableEnforced  11m                kubelet                Updated Node Allocatable limit across pods
  Normal   Synced                   10m                cloud-node-controller  Node synced successfully
  Normal   RegisteredNode           10m                node-controller        Node ip-X-Y-16-107.region.compute.internal event: Registered Node ip-X-Y-16-107.region.compute.internal in Controller
  Normal   DeprovisioningBlocked    10m                karpenter              Cannot deprovision node due to machine is not initialized
  Normal   NodeReady                10m                kubelet                Node ip-X-Y-16-107.region.compute.internal status is now: NodeReady
  Normal   DeprovisioningBlocked    40s (x5 over 10m)  karpenter              Cannot deprovision node due to machine is nominated

If you look at the Non-terminated Pods  block you'll see that the kube-scheduler has added pod-a and pod-b to the node, and they have consumed most of the node's capacity. This is the same node that was nominated for the pending pod, pod-c, but it will never schedule there because there's no space for it.
So here we'd expect Karpenter to re-evaluate and nominate a new node.  We don't see this though and pod-c remains in pending state indefinitely.

Looking further it seems like Karpenter is nominating a node that just doesn't have enough space.
We're using a Runtime Class class on some of our pods and it looks like Karpenter doesn't take this into account when analyzing pod specs:
https://github.com/aws/karpenter-core/blob/main/pkg/utils/resources/resources.go#L25
// RequestsForPods returns the total resources of a variadic list of podspecs.
func RequestsForPods(pods ...*v1.Pod) v1.ResourceList {
	var resources []v1.ResourceList
	for _, pod := range pods {
		resources = append(resources, Ceiling(pod).Requests)
	}
	merged := Merge(resources...)
	merged[v1.ResourcePods] = *resource.NewQuantity(int64(len(pods)), resource.DecimalExponent)
	return merged
}

https://github.com/aws/karpenter-core/blob/main/pkg/utils/resources/resources.go#L97
// Ceiling calculates the max between the sum of container resources and max of initContainers
func Ceiling(pod *v1.Pod) v1.ResourceRequirements {
	var resources v1.ResourceRequirements
	for _, container := range pod.Spec.Containers {
		resources.Requests = Merge(resources.Requests, MergeResourceLimitsIntoRequests(container))
		resources.Limits = Merge(resources.Limits, container.Resources.Limits)
	}
	for _, container := range pod.Spec.InitContainers {
		resources.Requests = MaxResources(resources.Requests, MergeResourceLimitsIntoRequests(container))
		resources.Limits = MaxResources(resources.Limits, container.Resources.Limits)
	}
	return resources
}

We've found a way to replicate the issue!
Add a runtime class with an overhead that does not fit on any node:
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata:
  name: trouble
handler: runc
overhead:
  podFixed:
    cpu: '24'  # no nodes in the provisioner that are >= 24 cores

Attach it to the pod:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: trouble
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: 'trouble'
  template:
    metadata:
      labels:
        app: 'trouble'
    spec:
      enableServiceLinks: false
      containers:
        - name: trouble
          image: public.ecr.aws/nginx/nginx:stable
      runtimeClassName: trouble

Pod describe events:
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  2m24s                default-scheduler  0/13 nodes are available: 1 node(s) had untolerated taint {monitoring: }, 10 Insufficient cpu, 2 node(s) had untolerated taint {eks.amazonaws.com/compute-type: fargate}. preemption: 0/13 nodes are available: 10 No preemption victims found for incoming pod, 3 Preemption is not helpful for scheduling..
  Normal   Nominated         13s (x2 over 2m23s)  karpenter          Pod should schedule on: machine/default-jn8lw, node/ip-x-y-1-78.region.compute.internal

Thanks for the reproducer, not sure how we missed it, fairly certain we used to do this correctly.  Its fixed and I added a test to prevent this from reoccurring.

@tzneal so weird, I got this issue today
2 pods with these config has been schedule to run in same node
initContainers:
  - name: bootstrap-data
    resources:
      requests:
        cpu: 300m
        memory: 2Gi
      limits:
        cpu: 1
        memory: 3Gi
containers:
  - name: db
    image: mysql:8.0.36
    resources:
      requests:
        cpu: 300m
        memory: 2Gi
      limits:
        cpu: 1
        memory: 3Gi

Karpenter launch the node with these info
beta.kubernetes.io/arch=arm64
beta.kubernetes.io/instance-type=r7gd.medium
beta.kubernetes.io/os=linux
failure-domain.beta.kubernetes.io/region=eu-central-1
failure-domain.beta.kubernetes.io/zone=eu-central-1b
k8s.io/cloud-provider-aws=b62f791862f0bcb708f69b3ccd553e14
karpenter.k8s.aws/instance-category=r
**karpenter.k8s.aws/instance-cpu=1**
karpenter.k8s.aws/instance-cpu-manufacturer=aws
karpenter.k8s.aws/instance-encryption-in-transit-supported=true
**karpenter.k8s.aws/instance-family=r7gd**
karpenter.k8s.aws/instance-generation=7
karpenter.k8s.aws/instance-hypervisor=nitro
karpenter.k8s.aws/instance-local-nvme=59
**karpenter.k8s.aws/instance-memory=8192**
karpenter.k8s.aws/instance-network-bandwidth=520
karpenter.k8s.aws/instance-size=medium
karpenter.sh/capacity-type=spot
karpenter.sh/initialized=true
karpenter.sh/registered=true
kubernetes.io/arch=arm64
kubernetes.io/hostname=i-04fe8d3d19deae784.eu-central-1.compute.internal
kubernetes.io/os=linux
node.kubernetes.io/instance-type=r7gd.medium

The node show Cannot disrupt Node: Nominated for a pending pod, but both 2 pods stuck in Pod should schedule on: nodeclaim/database-dlxs6, node/i-04fe8d3d19deae784.eu-central-1.compute.internal
Im using karpenter v0.36.1

Update: it might related to tolerateAllTaints disabled https://github.com/kubernetes-sigs/aws-ebs-csi-driver/issues/1955#issuecomment-2125141309, after I delete tolerateAllTaints=false all pods up and run


Update method signatures to use generic arg

Replace the rdd argument in all of the S4 methods with x. This will allow us to standardize the code as other Spark components get added and we need to set up multiple dispatch on S4 methods.
In any cases where x was used as a generic iterator, I've replaced it with i except in a few cases where a different letter made sense. For example, in some of the pair functions, we now use function(k) and function(v) for the key/value functions.

Should we change the signatures for all the methods, or for only for whose also works for DataFrame?
The downside is that we will make some of the code less readable.

I considered both, but I think that having x for everything will ultimately be easier as the project grows and changes over time. It also provides a standard function format for everything in SparkR (e.g. your input object is always going to be x) and it conforms to existing R conventions (e.g. the signature for lapply in base R is (X, FUN) for all input types.

It says the Travis CI build failed but all the unit tests pass on my machine. Looks like Travis might be down for maintenance?

Yeah travis-ci seems to be down as seen from http://www.traviscistatus.com/ -- Hopefully it'll come back soon (lets give it a few hours)

Change otherwise LGTM -- I think its fine to keep RDD as x in all functions as it gives some uniformity across functions.

@cafreeman It makes sense. LGTM.

@cafreeman Travis is back and the latest test run showed a couple of failures. https://travis-ci.org/amplab-extras/SparkR-pkg/builds/52211253 -- I left comments inline that should hopefully fix them.

Thanks @shivaram, I'll make the last few corrections first thing tomorrow.
This may be a silly question, but does Travis CI run extra tests or something? When I run all of the unit tests on my machine, everything passes, but your comments clearly highlight some areas where something is wrong. Is there something else I should be doing to catch these earlier?

Travis CI just runs run-tests.sh which is in our repo [1]. I'm not sure how you are running the tests but if you build SparkR using ./install-dev.sh and then use run-tests.sh it should mimic Travis's behavior.
[1] https://github.com/amplab-extras/SparkR-pkg/blob/master/.travis.yml#L17

That's odd. That's exactly what I've been doing.

Fixed the typos and the tests pass again. Let's see if Travis CI agrees.

Thanks - LGTM. Merging this.


The images in WebP format are not loading or displaying correctly on iOS 15, but they work fine on iOS 17. I haven’t tested on iOS 16 yet.

Steps to Reproduce:

Run the app on an iOS 15 device but works perfectly in iOS 17
Attempt to load a WebP image using SDWebImageSwiftUI.
Observe that the image does not display as expected.

Expected Behavior:
WebP images should load and display correctly on iOS 15, similar to how they work on iOS 17.
Actual Behavior:
The WebP images are not loading or displaying correctly on iOS 15.
Additional Information:

SDWebImageSwiftUI version: 2.2.7
iOS version: 15.x
WebP images are loading fine on iOS 17.
I have not tested on iOS 16 yet.

if let url = URL(string: "https://www.gstatic.com/webp/gallery/1.webp") {
WebImage(url:url)
.resizable()
.placeholder(Image("vendor_background_placeholder"))
.onSuccess { image, data, cacheType in
print("Image successfully loaded")
}
.onFailure(perform: { error in
print("Image loading failed  (error.localizedDescription)")
})
}
in ios 17 I am seeing logs "Image loaded successfully" but in ios 15 neither success nor failure log is displayed in console
pod 'SDWebImageSwiftUI'
Please let me know if there are any additional steps I should take or if there are any workarounds available.
Thank you!

Anything related to Apple's own decoder (ImageIO framwork), maybe you should ask Apple to fix :)
If not, you can have a try with our custom decoder using libwebp (open-sourced)
https://github.com/SDWebImage/SDWebImageWebPCoder

Read agin in this link: https://github.com/SDWebImage/SDWebImage?tab=readme-ov-file#supported-image-formats
Apple's system decoder may have different behavior on different firmware OS version, but our third-party based decoder always has the same behavior across any firmware version


Set USER_CONTEXT_VAR on ComandHandler dispatching.

Closing this issue as the context var is already set according to https://github.com/Clariteia/minos_microservice_networks/blob/main/minos/networks/handlers/commands/handlers.py#L100-L116


Issues with getting tensorflow to use SSE4.2 instructions, for faster CPU computations

Using this on a Mac OS, using the anaconda support system. Basically trying to get tensorflow to use SSE4.2 and AVX .
##This is on tensorflow version 1.0.0
##All commands are done in this order.
#1st
Using this command,
bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.2
I am not using the gpu with cuda,
##so I didnt include the --config==cuda and the -k
#2nd
##Using a test command on a test script.
python3 Test.py
Im still getting the same
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
#3rd
##So being confused, I used a command I found this command via http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions to tie up any "lose ends" another way for tensor flow to work on SSE4.2
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
I get this error
WARNING: Sandboxed execution is not supported on your system and thus hermeticity of actions cannot be guaranteed. See http://bazel.build/docs/bazel-user-manual.html#sandboxing for more information. You can turn off this warning via --ignore_unsupported_sandboxing. ERROR: no such package 'tensorflow/tools/pip_package': BUILD file not found on package path. INFO: Elapsed time: 0.210s
What am I doing wrong here ? All I am trying to do is get tensorflow to use SSE4.2 and AVX .

There is a section in this page which suggests that configuration flags need to be supplied at the ./configure step.  (Search for "Optimizing CPU Performance")

To be compatible with as wide a range of machines as possible, TensorFlow defaults to only using SSE4 SIMD instructions. Most modern computers support more advanced instructions. So if you're building a binary that you'll only be running on your own machine, you can enable these by using -march=native for optimization options when running configure. Then you can build your optimized binaries with the following command:
$ bazel build --config opt //tensorflow/tools/pip_package:build_pip_package

Looking at the configure script, it seems to examine the environment variable CC_OPT_FLAGS and add flags to the tools/bazel.rc file.   Perhaps worth giving this a go?
I don't know off the top of my head why flags passed on the bazel command line aren't being respected. @gunan Any ideas?

The warnings about sse4.2 or AVX are completely benign, and can be ignored. It just means that TensorFlow can run faster on your machine if you build from sources. But everything will run OK on your machine, you can safely ignore these warnings.
From what I can see, You did not actually clone the code, but you tried to build our sources.
Especially the first bazel command you have above does not do anything at all (no build target specified).
Unless you clone our github repo, run configure, build the code, then build the pip package and install the resulting pip package, bazel commands themselves will not have any effect. For that, you need to follow  our the instructions here:
https://www.tensorflow.org/install/install_sources
I will close this issue, as the user clearly did not follow the instructions to build from sources.
Please create a new issue if you run into issues with the instructions to install from sources.


yarn add error

$ yarn add jspdf
yarn add v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
error An unexpected error occurred: "https://raw.githubusercontent.com/eligrey/FileSaver.js/e865e37af9f9947ddcced76b549e27dc45c1cb2e/package.json: connect ECONNREFUSED <IP_ADDRESS>:443".
info If you think this is a bug, please open a bug report with the information provided in "C:\Users\Administrator\Desktop\izar-wlm-ui\yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Fixed in 2.0.0


Fix minor bug and touch-up for #144

Fix a small bug - keywords being passed as strings to match_keyword in two instances, allowing e.g. keywords like 'B' to match 'BY'. Also rename some variables for clarity.

cc @ ewjoachim


links are html escaped but should not be

The link
https://github.com?foo=1&bar=2[Hello World]
in the generated PDF goes to:
https://github.com/?foo=1&bar=2
The ampersand in the url is HTML escaped but should not be.

Nice catch! Our text parser handles character references in regular text, but it does not handle them inside attribute values. The main case of this is the link target. We can at least handle that case.

PR sent!


[New Dataset Training]

Hi yang,
Thank you so much for your brilliant work! I have one question to ask:
When I involve a new dataset (such as a directory of images). The first step
is to convert it to TFRecord and then I normalize it to [-1, 1].
The example code is below, so I want some help in checking whether it is right, thank you!

# 1) image preprocess.
def preprocess_hand_image(image):
  image = tf.image.decode_jpeg(image, channels=3)
  image = tf.image.resize(image, [128, 128])
  image /= 255.0  # normalize to [0,1] range
  img = image * 2. - 1.  # normalize to [-1, 1] range

  return dict(image=img, label=None)

# 2) load a directory of images without label
all_image_paths = [str(item) for item in glob.glob("/data-nas1/sam/2021AW/score_hand/score_train/*")]
image_ds = tf.data.Dataset.from_tensor_slices(all_image_paths).map(tf.io.read_file)
tfrec = tf.data.experimental.TFRecordWriter('/data-nas1/sam/2021AW/score_hand/hands_0625.tfrec')
dataset_builder = tf.data.TFRecordDataset('/data-nas1/sam/2021AW/score_hand/hands_0625.tfrec')
train_split_name = eval_split_name = 'train'

# 3) output
ds = dataset_builder.with_options(dataset_options)
ds = ds.repeat(count=num_epochs)
ds = ds.shuffle(shuffle_buffer_size)
ds = ds.map(preprocess_hand_image, num_parallel_calls=tf.data.experimental.AUTOTUNE)
ds = ds.batch(batch_size, drop_remainder=True)
return ds.prefetch(prefetch_size)

Hi @tomguluson92 ,
How was your model going?
If it is possible, sharing any experience would be highly appreciated:)


Installation instruction not sufficient

Dear Delight-Im,
When following the instructions I keep getting an error.
I copied the files (Auth.php, Base64.php and Exceptions.php) to a subfolder.
When I run the following script however, I get the following errors, no matter what I tried.
I feel like there might be an error using the namespaces?
I run the following (I tried both instances of $db uncommented)
require 'subfolder/Auth.php';
// $db = new PDO('mysql:dbname=my-database;host=localhost;charset=utf8mb4', 'my-username', 'my-password');
// or
// $db = new \Delight\Db\PdoDsn('mysql:dbname=my-database;host=localhost;charset=utf8mb4', 'my-username', 'my-password');

$auth = new \Delight\Auth\Auth($db);

But I get the following errors:
Uncaught Error: Class 'Delight\Db\PdoDatabase' not found in ... Stack trace: #0 ...: Delight\Auth\Auth->__construct(Object(PDO)) #1 {main}
OR
Fatal error: Uncaught Error: Class 'Delight\Auth\PdoDsn' not found in ...
Stack trace: #0 {main}
I tried to install everything using composer but I got the some errors......
I am really looking forward to start using this package!
Cheers

Thanks a lot for pointing this out!
Technically, importing the library manually is still possible. But since you have Composer already, anyway, this is definitely the recommended approach.
The manual way of including the library used to be possible in a convenient way. But two external dependencies have been introduced over the time, as can be seen here. We forgot to update the installation instructions with language that reflects this.
The README has thus been updated now in https://github.com/delight-im/PHP-Auth/commit/4f5ff151ef490deefd4af28467c82959e6e3e50b
We'd like to ask you to try the setup with Composer again. Please see the updated installation instructions in the README. The setup with Composer has been tested time and again and works. Please make sure that you really included the Composer autoloader (and not the classes from this library directly).

Thanks! It is working now! Looking forward to get started with this package!

Is it possible to please include more detailed instructions that are not dependent on Composer? For several reasons, I cannot use Composer and am struggling with the same issue.

I got the tests/index.php file to work after I included all of the following:
require 'src/Database.php';
require 'src/DataSource.php';
require 'src/Dsn.php';
require 'src/ErrorHandler.php';
require 'src/Measurement.php';
require 'src/PdoDatabase.php';
require 'src/PdoDataSource.php';
require 'src/PdoDsn.php';
require 'src/Profiler.php';
require 'src/SimpleMeasurement.php';
require 'src/SimpleProfiler.php';
require 'src/ResponseHeader.php';
require 'src/Cookie.php';
require 'src/Session.php';
require "src/UserManager.php";
require "src/Administration.php";
require "src/Auth.php";
require "src/Base64.php";
require_once "src/Exceptions.php";
require "src/Status.php";

Maybe this helps others ...

@LimpEmu, I feel your pain. Like yourself, I don't like using composer.
It's not too difficult to do the setup that composer does manually. But first, you must understand what it does and how it works:

First composer recursively downloads any dependencies (you can check for these in projects' composer.json files)
Then it places the source files in specific places (often based on namespace/class name) to be used in the next step
It creates an 'autoload' script that tells php where to find any classes it needs if they are not already loaded at runtime

You can learn more about autoloading here: http://php.net/manual/en/language.oop5.autoload.php
Because php passes the namespace and class to the autoloader, it makes sense to layout your file structure using that format. Here is an example autoloading function:
spl_autoload_register(function($class_name)
{
	$folder = 'lib';
	$path = str_replace('\\', '/', $class_name);
	$file = __DIR__."/$folder/$path.php";
	if (is_readable($file))
		require $file;
});

You can see how it locates the .php file based on namespace and class.
You might have to modify this function for some libraries (for example ones that use _ instead of \ in namespaces).
Autoloading is basically necessary with medium and larger projects. It is wasteful to load every single dependency on every single type of request, so the autoloader only loads them when needed. But the main benefit is not having to write out any require statements ever again -- the autoloader will find them automatically (if you've set up the autoload function properly).

Thank you for your note.
I was able to write an autoloader function, and I was also able to get all
the features to work for the project I am working on. This is a very nice
package. I have problem remaining that I cannot figure out. It seems to
have something to do with dual factor authentication which I will not
support (not necessary for this project). For some logon attempts I get the
result "attempt cancelled." If I keep trying to logon, at some point, it
works, but I am clueless why this issue occurs. What situation triggers
this $result, and how can I avoid it?
I have not much experience with PHP, so I apologize if this is a dumb
question, I do much appreciate your work and help. Thank you,
Beate
--
Beate Danielsen, Director, Health Information Solutions
Voice:<PHONE_NUMBER>   e-mail<EMAIL_ADDRESS> web:
www.health-info-solutions.com
On Wed, Jul 5, 2017 at 5:25 PM, rgvy<EMAIL_ADDRESS>wrote:

@LimpEmu https://github.com/limpemu, I feel your pain. Like yourself, I
don't like using composer.
It's not too difficult to do the setup that composer does manually. But
first, you must understand what it does and how it works:

First composer recursively downloads any dependencies (you can
check for these in projects' composer.json files)
Then it places the source files in specific places (often based on
namespace/class name) to be used in the next step
It creates an 'autoload' script that tells php where to find any
classes it needs if they are not already loaded at runtime

You can learn more about autoloading here: http://php.net/manual/en/
language.oop5.autoload.php
Because php passes the namespace and class to the autoloader, it makes
sense to layout your file structure using that format. Here is an example
autoloading function:
spl_autoload_register(function($class_name){	$folder = 'lib';	$path = str_replace('\', '/', $class_name);	$file = DIR."/$folder/$path.php";	if (is_readable($file))		require $file;});
You can see how it locates the .php file based on namespace and class.
You might have to modify this function for some libraries (for example
ones that use _ instead of \ in namespaces).
Autoloading is basically necessary with medium and larger projects. It is
wasteful to load every single dependency on every single type of request,
so the autoloader only loads them when needed. But the main benefit is not
having to write out any require statements ever again -- the autoloader
will find them automatically (if you've set up the autoload function
properly).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/delight-im/PHP-Auth/issues/14#issuecomment-313262040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APTsJcblR283bb9KhC46rkQ5kfVQVcNLks5sLClsgaJpZM4Lw2O5
.

Hello again:
I am not sure this is going anywhere, but in case it is, I would like to
express my gratitude for the PHP AUTH library. I have very little
experience with PHP, but was able to integrate your authentication
mechanism in a website for the California Society of Thoracic Surgeons that
reports on outcomes after various types of heart surgeries. The time on my
end was entirely donated, so I was thrilled to find your gem. Also, I was
also able to resolve the problem from yesterday's message.
Thank you!
Beate
On Thu, Jul 6, 2017 at 8:30 PM, Beate Danielsen <
<EMAIL_ADDRESS>wrote:

Thank you for your note.
I was able to write an autoloader function, and I was also able to get all
the features to work for the project I am working on. This is a very nice
package. I have problem remaining that I cannot figure out. It seems to
have something to do with dual factor authentication which I will not
support (not necessary for this project). For some logon attempts I get the
result "attempt cancelled." If I keep trying to logon, at some point, it
works, but I am clueless why this issue occurs. What situation triggers
this $result, and how can I avoid it?
I have not much experience with PHP, so I apologize if this is a dumb
question, I do much appreciate your work and help. Thank you,
Beate
--
Beate Danielsen, Director, Health Information Solutions
Voice:<PHONE_NUMBER>   e-mail<EMAIL_ADDRESS> web:
www.health-info-solutions.com
On Wed, Jul 5, 2017 at 5:25 PM, rgvy<EMAIL_ADDRESS>wrote:

@LimpEmu https://github.com/limpemu, I feel your pain. Like yourself,
I don't like using composer.
It's not too difficult to do the setup that composer does manually. But
first, you must understand what it does and how it works:

First composer recursively downloads any dependencies (you can
check for these in projects' composer.json files)
Then it places the source files in specific places (often based on
namespace/class name) to be used in the next step
It creates an 'autoload' script that tells php where to find any
classes it needs if they are not already loaded at runtime

You can learn more about autoloading here: http://php.net/manual/en/langu
age.oop5.autoload.php
Because php passes the namespace and class to the autoloader, it makes
sense to layout your file structure using that format. Here is an example
autoloading function:
spl_autoload_register(function($class_name){	$folder = 'lib';	$path = str_replace('\', '/', $class_name);	$file = DIR."/$folder/$path.php";	if (is_readable($file))		require $file;});
You can see how it locates the .php file based on namespace and class.
You might have to modify this function for some libraries (for example
ones that use _ instead of \ in namespaces).
Autoloading is basically necessary with medium and larger projects. It is
wasteful to load every single dependency on every single type of request,
so the autoloader only loads them when needed. But the main benefit is not
having to write out any require statements ever again -- the autoloader
will find them automatically (if you've set up the autoload function
properly).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/delight-im/PHP-Auth/issues/14#issuecomment-313262040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APTsJcblR283bb9KhC46rkQ5kfVQVcNLks5sLClsgaJpZM4Lw2O5
.

Sorry for the problems that you had with the setup, @LimpEmu, but glad that you were able to make everything work! Your list of require statements, after having imported the source files for this library and the cookie library and the database helper, is exactly how to do the setup manually.
Then, @rgvy, thanks a lot for helping and for providing an explanation of how Composer works and what it does – this was spot-on. But as your explanation shows, and the last paragraph about how autoloading becomes crucial as your project grows is really important, Composer really is something that helps you simplify and speed up development. If you were using Composer, @LimpEmu, all this trouble would have been the few seconds of typing
$ composer require delight-im/auth

only. But just as @rgvy does, I can definitely relate to the reluctance to use Composer. But all this is just out of convenience, because Composer is yet another unfamiliar part in the course of the development process where we seek the familiar whenever possible.
As questions about Composer – or often, how to avoid Composer – come up time and again, there's now an introduction to Composer which is also linked in the README:
https://github.com/delight-im/Knowledge/blob/master/Composer (PHP).md
I definitely recommend reading it, since it (or rather Composer) is worth the very small (!) effort of becoming familiar with it.

I have problem remaining that I cannot figure out. It seems to have something to do with dual factor authentication which I will not support (not necessary for this project). For some logon attempts I get the result "attempt cancelled." If I keep trying to logon, at some point, it works, but I am clueless why this issue occurs.

The support for two-factor authentication, which is a recent addition, is definitely something that a lot of projects won't need. But from your description of the problem, @LimpEmu, it seems that you started working with the tests/index.php file instead of putting the things that you need together yourself while following the README.
Is that correct? If so, the reason for your problem is that the tests include a random decision of whether "two-factor authentication" should succeed or not. This is not meant for actual use, but only for these internal tests. You just have to remove that part.

I am not sure this is going anywhere, but in case it is, I would like to express my gratitude for the PHP AUTH library. I have very little experience with PHP, but was able to integrate your authentication mechanism in a website for the California Society of Thoracic Surgeons that reports on outcomes after various types of heart surgeries.

It is going somewhere! Thank you so much for letting us know and for showing your appreciation, @LimpEmu – very happy to hear that this library has been helpful to you and for a good cause.

Also, I was also able to resolve the problem from yesterday's message.

That's great. I assume you've removed that random part, if that was the cause.

 I did
generate separate php files to cover all the components you had listed in
the read me, that was a very useful check list!
And yes, I realized that you were just randomly deciding to set true or
false for the success of the two-factor authentication, so - as you
indicated - I got rid of that.
So far all is working well, very happy!
Thank you again!
Beate
On Sat, Jul 8, 2017 at 3:03 PM, Marco<EMAIL_ADDRESS>wrote:

Sorry for the problems that you had with the setup, @LimpEmu
https://github.com/limpemu, but glad that you were able to make
everything work! Your list of require statements, after having imported
the source files for this library and the cookie library
https://github.com/delight-im/PHP-Cookie and the database helper
https://github.com/delight-im/PHP-DB, is exactly how to do the setup
manually.
Then, @rgvy https://github.com/rgvy, thanks a lot for helping and for
providing an explanation of how Composer works and what it does – this was
spot-on. But as your explanation shows, and the last paragraph about how
autoloading becomes crucial as your project grows is really important,
Composer really is something that helps you simplify and speed up
development. If you were using Composer, @LimpEmu
https://github.com/limpemu, all this trouble would have been the few
seconds of typing
$ composer require delight-im/auth
only. But just as @rgvy https://github.com/rgvy does, I can definitely
relate to the reluctance to use Composer. But all this is just out of
convenience, because Composer is yet another unfamiliar part in the course
of the development process where we seek the familiar whenever possible.
As questions about Composer – or often, how to avoid Composer – come up
time and again, there's now an introduction to Composer which is also
linked in the README:
https://github.com/delight-im/Knowledge/blob/master/Composer (PHP).md
I definitely recommend reading it, since it (or rather Composer) is worth
the very small (!) effort of becoming familiar with it.
I have problem remaining that I cannot figure out. It seems to have
something to do with dual factor authentication which I will not support
(not necessary for this project). For some logon attempts I get the result
"attempt cancelled." If I keep trying to logon, at some point, it works,
but I am clueless why this issue occurs.
The support for two-factor authentication, which is a recent addition, is
definitely something that a lot of projects won't need. But from your
description of the problem, @LimpEmu https://github.com/limpemu, it
seems that you started working with the tests/index.php file instead of
putting the things that you need together yourself while following the
README.
Is that correct? If so, the reason for your problem is that the tests
include a random decision
https://github.com/delight-im/PHP-Auth/blob/6e3728a9187093b73a23600294b8be5f52acf8d8/tests/index.php#L53
of whether "two-factor authentication" should succeed or not. This is not
meant for actual use, but only for these internal tests. You just have to
remove that part.
I am not sure this is going anywhere, but in case it is, I would like to
express my gratitude for the PHP AUTH library. I have very little
experience with PHP, but was able to integrate your authentication
mechanism in a website for the California Society of Thoracic Surgeons that
reports on outcomes after various types of heart surgeries.
It is going somewhere! Thank you so much for letting us know and for
showing your appreciation, @LimpEmu https://github.com/limpemu – very
happy to hear that this library has been helpful to you and for a good
cause.
Also, I was also able to resolve the problem from yesterday's message.
That's great. I assume you've removed that random part, if that was the
cause.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/delight-im/PHP-Auth/issues/14#issuecomment-313883616,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APTsJYtbDd1NBWUh-Eyt9BSZVA6DICH5ks5sL_yvgaJpZM4Lw2O5
.

I definitely recommend reading it, since it (or rather Composer) is worth the very small (!) effort of becoming familiar with it.

composer simply isn't always available.

@flatsiedatsie It is! Virtually everywhere, at least. Let’s keep this discussion in https://github.com/delight-im/PHP-Auth/issues/90.

Actually it is very easy to write your own autoloader.
First of all what is an autoloader:
Let's say our project consists of 1000+ php files. So in order to have access to all those classes, we would need to include all these files in our project. Well, that doesn't seem too practical... It would be a huge waste to always load everything, even when we don't need it.
So autoloaders basically solve this issue. We don't have to include anything. When we want to use something, and it can't find it, it will trigger the autoloader, and we can tell the autoloader to load the specific file from the specified destination.
In order to write one for this, you would need to separately download all the dependencies:
/Delight/Auth
/Delight/Base64
/Delight/Cookie
/Delight/Db
/Delight/Http
Then just do something like this:
spl_autoload_register(function($class_name) {
    $class_name = str_replace('\\', '/', $class_name);
    if(file_exists($path_where_delight_is . $class_name . '.php')) {
        require_once $path_where_delight_is . $class_name . '.php';
    }
});


Add Docker image building, testing and pushing to Travis

A proof of concept for Docker image building and pushing within Travis. Currently working well in the CI system on my fork. Still some work to do; ideally, Travis would build images, push them and refresh the server instances for the test environment for any change on master, and do the same for the production environment for any new tag, which shouldn't be too hard to do. This also adds support for testing the Docker image.

@lucassz this is awesome. A couple thoughts

I'm happy that the back-end tests can now be run. Ideally, they wouldn't need docker to run. However, the mocking necessary for that to work would be pretty complicated. Also, there are good arguments for why the tests should be run in docker. Namely, this is closer to the production environment.
Also, for the public record, we discussed an automated deployment pipe-line that looks something like:

Merge PR
Build images
Deploy images on test servers
A human reviews and hits a command to push to the production servers

This PR in addition to OpenSourcePolicyCenter/pb_deploy#1 is going to substantially increase PB quality and efficiency (and my happiness as principal deployer). Thanks again for the high quality work you've done so far this summer.
What's left to complete this PR?

@hdoupe The latest version of the PR should now be functional, as shown on my build here. When it is merged, the relevant branch in .travis.yml will have to be changed from travis to master.
The new approach corresponds to the latter part on your reflection on Docker, as Docker is now used for all steps of testing. I think this is more straightforward, as it avoids "works on my machine"-style issues where some edge case could pass on Travis' workers but not on the Docker containers that are actually pushed.

Semi-related note: perhaps it would be helpful for the test site to show (through an environment variable) the commit it's running (e.g. in the footer)? This would make it easier to verify that this new feature is working as expected.

The new approach corresponds to the latter part on your reflection on Docker, as Docker is now used for all steps of testing. I think this is more straightforward, as it avoids "works on my machine"-style issues where some edge case could pass on Travis' workers but not on the Docker containers that are actually pushed.

Ok, that seems sensible to me but with one condition: we should make sure that it's possible to at least run the tests without docker locally. The image build and run loop adds about 10 or 15 seconds to the feedback loop when you're making changes. Believe it or not that makes a big difference when you are used to a 2 to 5 second feedback loop when you're targeting a single test or group of tests.

Semi-related note: perhaps it would be helpful for the test site to show (through an environment variable) the commit it's running (e.g. in the footer)? This would make it easier to verify that this new feature is working as expected.

I agree. We used to show a commit hash, but this was removed in PR #622. I still don't think we should show a commit hash on the prod site, but I think it would be useful to do so on the test site. To do so, we would have to:

pull the version from git instead of hard-coding it in settings.py
add a keyword to get_version indicating whether to trim the commit hash or not

side note: get_version should be using LooseVersion or the like

However, I'll knock this out in a follow up PR.

Ok, that seems sensible to me but with one condition: we should make sure that it's possible to at least run the tests without docker locally.

I understand, though unless I'm misunderstanding what you're saying, wouldn't the present PR be neutral as to that ability, since it's not altering the possibility of running them locally? Or do you just mean that we need to keep that in mind as a supported feature more generally?

I still don't think we should show a commit hash on the prod site, but I think it would be useful to do so on the test site.

Right. Alternatively, it could still not be shown to the user on either one, but included in a HTML comment on both for devs to use.

I just mean that we need to keep that ability available in general.
That's something to consider. I'll keep that in mind (and you can bring it back up) when this is implemented in a follow up PR.


[ENH] Use TSV instead of CSV for tabular files

Closes #247

Changes proposed in this pull request:

Convert all CSV files to TSV
Read/write tabular data as TSV instead of CSV
Update layout
Update docs

Checklist (for reviewers)
This section is for the PR reviewer

[x] PR has an interpretable title with a prefix (e.g. [BUG], [DOC], [ENH], [MAINT])
Refer to NumPy Development Guide for a full list
[x] PR links to GitHub issue with mention Closes #XXXX
[ ] Tests pass
[ ] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions

Thanks for the review @surchs! I made it more explicit that we were using tabs as separators now in BaseTabular


Removed limit from the test

The order isn't guaranteed when using limit which causes the test to fail intermittently
fixes #5021
Signed-off-by: Raza Jafri<EMAIL_ADDRESS>

build

build


During the RF test, the packet sent by Bluetooth could not be received. (IDFGH-11875)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
esp-idf-release-v5.1
Espressif SoC revision.
esp32s3
Operating System used.
Windows
How did you build your project?
Command line with Make
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32s3
Power Supply used.
USB
What is the expected behavior?
During the RF test, a packet sent by Bluetooth was received
What is the actual behavior?
No packet is received. phy: rx_num: 0 rx_rssi: 0 is displayed
Steps to reproduce.

The sending device is LE, the rate is 1M, the power is 10dbm, the payload length is 37 byte, the pattern type is 10101010, the channel is 1, the syncw is 0x71746129, and the data is sent in cycles.
The receiving end executes the instruction:esp_ble_rx -n 1 -s 0x71764129 -r 0    output : phy: RW LE V9 RX PER
Wait a while
Run the cmdstop command
expected hehavior:  rx_num and rx_rssi   can receive data.
actual behavior: rx_num and rx_rssi   are both 0.

Debug Logs.
phy>
phy> esp_ble_rx -n 1 -s 0x71764129 -r 0
phy> I (17897) phy: RW LE V9 RX PER

phy>
phy>
phy> cmdstop
phy> I (27167) phy: rx_num: 0 rx_rssi: 0

phy>
phy>  esp_ble_rx -n 1 -s 0x71764129 -r 0
phy> I (47417) phy: RW LE V9 RX PER

phy>
phy>
phy> get_rx_result
I (55877) cmd_phy: Desired: 1, Correct: 0, RSSI: 0, flag: 0
phy> get_rx_result
I (61727) cmd_phy: Desired: 1, Correct: 0, RSSI: 0, flag: 0
phy>cmdstop
phy> I (70397) phy: rx_num: 0 rx_rssi: 0

phy>
phy> esp_ble_rx -n 1 -s 0x71764129 -r 0
phy> I (149447) phy: RW LE V9 RX PER

phy>
phy>
phy> cmdstop
phy> I (167987) phy: rx_num: 0 rx_rssi: 0
aa
Unrecognized command
phy>
phy>  esp_ble_rx
W (454097) cmd_phy: Default channel is 1
W (454107) cmd_phy: Default syncw is 0x71764129
W (454107) cmd_phy: Default rate is PHY_BLE_RATE_1M
phy> I (454117) phy: RW LE V9 RX PER

phy>
phy> cmdstop
phy> I (598427) phy: rx_num: 0 rx_rssi: 0

phy>
phy>
phy>

Unrecognized command
phy>
phy>
phy>
phy>
phy>
phy>
phy>
phy> esp_ble_rx
W (975867) cmd_phy: Default channel is 1
W (975867) cmd_phy: Default syncw is 0x71764129
W (975867) cmd_phy: Default rate is PHY_BLE_RATE_1M
phy> I (975887) phy: RW LE V9 RX PER

phy>

More Information.
No response

It seems like tx channel and rx channel are not the same one，in phy_cert test case：
BLE TX channel mapping：https://github.com/espressif/esp-idf/blob/master/components/esp_phy/include/esp_phy_cert_test.h/#L154
BLE RX channel mapping：https://github.com/espressif/esp-idf/blob/master/components/esp_phy/include/esp_phy_cert_test.h/#L166

@zhp0406  Thank you for your comments, my test V5.1.1 is able to receive data。

Data can be received using V5.1.1 tests.


Azure Core Amqp Sample issue

Section Link:

Reason:
AmqpAnnotatedMessage is null which caused NullPointException.

@jongio for notification

@Melanie-Ma I do not think we need to change anything here because all the sample which ends with JavaDocCodeSamples are just code snippet which are places in java doc. You will see BEGIN: and END: tag and the code with in these tag will placed in source code. The variable amqpAnnotatedMessage having null value is outside of these tags and will not be put in java doc like  here.

@Melanie-Ma I do not think we need to change anything here because all the sample which ends with JavaDocCodeSamples are just code snippet which are places in java doc. You will see BEGIN: and END: tag and the code with in these tag will placed in source code. The variable amqpAnnotatedMessage having null value is outside of these tags and will not be put in java doc like  here.

@hemanttanwar - I  agree that the code snippets are used in  in java doc. However, I think that the code documentation also need right example for users ′ reference. Therefore, I think the issue need to be fixed. Please refer to the #12571


Fixes

Unlock bundler version to be able to test with modern one
Update Factory Bot syntax to define attributes within block
Fix Factory Bot factories initiralization
Fix passing api key/url from ENV variables
Remove API key recorded in the spec cassette

Also add Gemfile.lock to repo
Read more on https://bundler.io/guides/faq.html#committing-lockfiles-in-libraries

@jboltz88 Since there was no commits to this project since some time, I'm wondering if it's still maintained, as currently I'm working on Braze integration using this gem and I'll have also other contributions in future?