Network policy enforcement is delayed

Version:
k3s version v0.10.0 (f9888ca3)
Describe the bug
There appears to be period of time (<1 minute) after a pod is started during which applicable network policies are not enforced.
To Reproduce
Steps to reproduce the behavior:
https://github.com/ahmetb/kubernetes-network-policy-recipes/blob/master/11-deny-egress-traffic-from-an-application.md
Expected behavior
All egress requests (via wget) from the app=foo labeled pod should fail with either bad address or download timed out (depending on the network policy in use).
Actual behavior
Egress requests (via wget) from the app=foo labeled pod initially succeed after pod startup before eventually failing as expected.
Additional context

@williamsandrew thanks for reporting this! I ran into this as well. I figure it would be useful to be able to reproduce this for anyone that knows enough to try resolve this, and here is how.
My environment
I'm running on Ubuntu 20.04, and my k3s cluster was setup like this.
curl -sfL https://get.k3s.io | sh -s - \
    --write-kubeconfig-mode=644 \
    --disable metrics-server \
    --disable traefik \
    --disable local-storage \
    --docker
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
alias kubectl="k3s kubectl"

$ k3s --version
k3s version v1.17.4+k3s1 (3eee8ac3)

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4+k3s1", GitCommit:"3eee8ac3a1cf0a216c8a660571329d4bda3bdf77", GitTreeState:"clean", BuildDate:"2020-03-25T16:13:25Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4+k3s1", GitCommit:"3eee8ac3a1cf0a216c8a660571329d4bda3bdf77", GitTreeState:"clean", BuildDate:"2020-03-25T16:13:25Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

Reproduction script
echo "installing a networkpolicy, service, and deployment for an echoserver ..."

cat << EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: echoserver
spec:
  podSelector:
    matchLabels:
      app: echoserver
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          echoserver-access: "true"
---
apiVersion: v1
kind: Service
metadata:
  name: echoserver
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: echoserver
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echoserver
spec:
  selector:
    matchLabels:
      app: echoserver
  template:
    metadata:
      labels:
        app: echoserver
    spec:
      containers:
      - name: echoserver
        image: gcr.io/google_containers/echoserver:1.10
        ports:
        - containerPort: 8080
EOF

echo "waiting for the deployed echoserver to be ready ..."
kubectl rollout status --watch deploy/echoserver

echo "starting a pod that will try to reach the echoserver ..."
kubectl run -it --rm --restart=Never --image=busybox --generator=run-pod/v1 --labels=echoserver-access=true busybox -- sh -c 'while ! wget -q -O- http://echoserver; do sleep 5; done'

Logs from using containerd (no --docker flag)
The bug reproduced in the same way.

Output of: journalctl -u k3s --since "10 minutes ago"
systemd[1]: Starting Lightweight Kubernetes...
time="2020-05-13T02:00:43+02:00" level=info msg="Preparing data dir /var/lib/rancher/k3s/data/6a3098e6644f5f0dbfe14e5efa99bb8fdf60d63cae89fdffd71b7de11a1f1430"
time="2020-05-13T02:00:45.049498527+02:00" level=info msg="Starting k3s v1.17.4+k3s1 (3eee8ac3)"
time="2020-05-13T02:00:45.056077189+02:00" level=info msg="Kine listening on unix://kine.sock"
time="2020-05-13T02:00:45.200729539+02:00" level=info msg="Active TLS secret  (ver=) (count 7): map[listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-kubernetes:kubernetes listener.cattle.io/cn-kubernetes.default:kub>
time="2020-05-13T02:00:45.209798219+02:00" level=info msg="Running kube-apiserver --advertise-port=6443 --allow-privileged=true --anonymous-auth=false --api-audiences=unknown --authorization-mode=Node,RBAC --basic-auth-file=/var/lib/rancher/k3s/server/cred/passwd --bind-address=<IP_ADDRESS> --cert-dir=/var/lib/rancher/k3s/ser>
Flag --basic-auth-file has been deprecated, Basic authentication mode is deprecated and will be removed in a future release. It is not recommended for production environments.
I0513 02:00:45.210668 server.go:622] external host was not specified, using <IP_ADDRESS>
I0513 02:00:45.210951 server.go:163] Version: v1.17.4+k3s1
I0513 02:00:45.616111 plugins.go:158] Loaded 11 mutating admission controller(s) successfully in the following order: NamespaceLifecycle,LimitRanger,ServiceAccount,NodeRestriction,TaintNodesByCondition,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,MutatingAdmissionWebhook,Runtim>
I0513 02:00:45.616141 plugins.go:161] Loaded 7 validating admission controller(s) successfully in the following order: LimitRanger,ServiceAccount,Priority,PersistentVolumeClaimResize,ValidatingAdmissionWebhook,RuntimeClass,ResourceQuota.
I0513 02:00:45.617288 plugins.go:158] Loaded 11 mutating admission controller(s) successfully in the following order: NamespaceLifecycle,LimitRanger,ServiceAccount,NodeRestriction,TaintNodesByCondition,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,MutatingAdmissionWebhook,Runtim>
I0513 02:00:45.617306 plugins.go:161] Loaded 7 validating admission controller(s) successfully in the following order: LimitRanger,ServiceAccount,Priority,PersistentVolumeClaimResize,ValidatingAdmissionWebhook,RuntimeClass,ResourceQuota.
I0513 02:00:45.641042 master.go:267] Using reconciler: lease
I0513 02:00:45.692832 rest.go:115] the default service ipfamily for this cluster is: IPv4
W0513 02:00:46.055957 genericapiserver.go:409] Skipping API batch/v2alpha1 because it has no resources.
W0513 02:00:46.067204 genericapiserver.go:409] Skipping API discovery.k8s.io/v1alpha1 because it has no resources.
W0513 02:00:46.079340 genericapiserver.go:409] Skipping API node.k8s.io/v1alpha1 because it has no resources.
W0513 02:00:46.099131 genericapiserver.go:409] Skipping API rbac.authorization.k8s.io/v1alpha1 because it has no resources.
W0513 02:00:46.103971 genericapiserver.go:409] Skipping API scheduling.k8s.io/v1alpha1 because it has no resources.
W0513 02:00:46.120124 genericapiserver.go:409] Skipping API storage.k8s.io/v1alpha1 because it has no resources.
W0513 02:00:46.148699 genericapiserver.go:409] Skipping API apps/v1beta2 because it has no resources.
W0513 02:00:46.148743 genericapiserver.go:409] Skipping API apps/v1beta1 because it has no resources.
I0513 02:00:46.162456 plugins.go:158] Loaded 11 mutating admission controller(s) successfully in the following order: NamespaceLifecycle,LimitRanger,ServiceAccount,NodeRestriction,TaintNodesByCondition,Priority,DefaultTolerationSeconds,DefaultStorageClass,StorageObjectInUseProtection,MutatingAdmissionWebhook,Runtim>
I0513 02:00:46.162481 plugins.go:161] Loaded 7 validating admission controller(s) successfully in the following order: LimitRanger,ServiceAccount,Priority,PersistentVolumeClaimResize,ValidatingAdmissionWebhook,RuntimeClass,ResourceQuota.
I0513 02:00:48.358466 dynamic_cafile_content.go:166] Starting request-header::/var/lib/rancher/k3s/server/tls/request-header-ca.crt
I0513 02:00:48.358467 dynamic_cafile_content.go:166] Starting client-ca-bundle::/var/lib/rancher/k3s/server/tls/client-ca.crt
I0513 02:00:48.358847 dynamic_serving_content.go:129] Starting serving-cert::/var/lib/rancher/k3s/server/tls/serving-kube-apiserver.crt::/var/lib/rancher/k3s/server/tls/serving-kube-apiserver.key
I0513 02:00:48.359683 secure_serving.go:178] Serving securely on <IP_ADDRESS>:6444
I0513 02:00:48.359777 autoregister_controller.go:140] Starting autoregister controller
I0513 02:00:48.359781 controller.go:81] Starting OpenAPI AggregationController
I0513 02:00:48.359785 cache.go:32] Waiting for caches to sync for autoregister controller
I0513 02:00:48.359813 tlsconfig.go:219] Starting DynamicServingCertificateController
I0513 02:00:48.359852 crd_finalizer.go:263] Starting CRDFinalizer
I0513 02:00:48.359901 crdregistration_controller.go:111] Starting crd-autoregister controller
I0513 02:00:48.359921 apiapproval_controller.go:185] Starting KubernetesAPIApprovalPolicyConformantConditionController
I0513 02:00:48.359922 nonstructuralschema_controller.go:191] Starting NonStructuralSchemaConditionController
I0513 02:00:48.359906 customresource_discovery_controller.go:208] Starting DiscoveryController
I0513 02:00:48.359944 controller.go:85] Starting OpenAPI controller
I0513 02:00:48.359947 establishing_controller.go:73] Starting EstablishingController
I0513 02:00:48.359921 shared_informer.go:197] Waiting for caches to sync for crd-autoregister
I0513 02:00:48.359970 available_controller.go:386] Starting AvailableConditionController
I0513 02:00:48.359906 naming_controller.go:288] Starting NamingConditionController
I0513 02:00:48.359981 cache.go:32] Waiting for caches to sync for AvailableConditionController controller
I0513 02:00:48.359926 apiservice_controller.go:94] Starting APIServiceRegistrationController
I0513 02:00:48.360020 cache.go:32] Waiting for caches to sync for APIServiceRegistrationController controller
I0513 02:00:48.360469 cluster_authentication_trust_controller.go:440] Starting cluster_authentication_trust_controller controller
I0513 02:00:48.360483 shared_informer.go:197] Waiting for caches to sync for cluster_authentication_trust_controller
I0513 02:00:48.360531 dynamic_cafile_content.go:166] Starting client-ca-bundle::/var/lib/rancher/k3s/server/tls/client-ca.crt
I0513 02:00:48.360564 dynamic_cafile_content.go:166] Starting request-header::/var/lib/rancher/k3s/server/tls/request-header-ca.crt
E0513 02:00:48.379799 controller.go:150] Unable to perform initial Kubernetes service initialization: Service "kubernetes" is invalid: spec.clusterIP: Invalid value: "<IP_ADDRESS>": cannot allocate resources of type serviceipallocations at this time
E0513 02:00:48.380538 controller.go:155] Unable to remove old endpoints from kubernetes service: StorageError: key not found, Code: 1, Key: /registry/masterleases/<IP_ADDRESS>, ResourceVersion: 0, AdditionalErrorMsg:
I0513 02:00:48.459941 cache.go:39] Caches are synced for autoregister controller
I0513 02:00:48.460071 cache.go:39] Caches are synced for AvailableConditionController controller
I0513 02:00:48.460143 cache.go:39] Caches are synced for APIServiceRegistrationController controller
I0513 02:00:48.460147 shared_informer.go:204] Caches are synced for crd-autoregister
I0513 02:00:48.460630 shared_informer.go:204] Caches are synced for cluster_authentication_trust_controller
I0513 02:00:49.358502 controller.go:107] OpenAPI AggregationController: Processing item
I0513 02:00:49.358558 controller.go:130] OpenAPI AggregationController: action for item : Nothing (removed from the queue).
I0513 02:00:49.358584 controller.go:130] OpenAPI AggregationController: action for item k8s_internal_local_delegation_chain_0000000000: Nothing (removed from the queue).
I0513 02:00:49.366466 storage_scheduling.go:133] created PriorityClass system-node-critical with value<PHONE_NUMBER>
I0513 02:00:49.369126 storage_scheduling.go:133] created PriorityClass system-cluster-critical with value<PHONE_NUMBER>
I0513 02:00:49.369141 storage_scheduling.go:142] all system priority classes are created successfully or already exist.
I0513 02:00:49.581817 controller.go:606] quota admission added evaluator for: roles.rbac.authorization.k8s.io
I0513 02:00:49.607608 controller.go:606] quota admission added evaluator for: rolebindings.rbac.authorization.k8s.io
W0513 02:00:49.706340 lease.go:224] Resetting endpoints for master service "kubernetes" to [<IP_ADDRESS>]
I0513 02:00:49.706994 controller.go:606] quota admission added evaluator for: endpoints
time="2020-05-13T02:00:50.368297075+02:00" level=info msg="Running kube-scheduler --bind-address=<IP_ADDRESS> --kubeconfig=/var/lib/rancher/k3s/server/cred/scheduler.kubeconfig --leader-elect=false --port=10251 --secure-port=0"
time="2020-05-13T02:00:50.368753608+02:00" level=info msg="Running kube-controller-manager --allocate-node-cidrs=true --bind-address=<IP_ADDRESS> --cluster-cidr=<IP_ADDRESS>/16 --cluster-signing-cert-file=/var/lib/rancher/k3s/server/tls/server-ca.crt --cluster-signing-key-file=/var/lib/rancher/k3s/server/tls/server-ca.key --kube>
I0513 02:00:50.374159 controllermanager.go:161] Version: v1.17.4+k3s1
time="2020-05-13T02:00:50.374262232+02:00" level=info msg="Waiting for cloudcontroller rbac role to be created"
I0513 02:00:50.374646 deprecated_insecure_serving.go:53] Serving insecurely on [::]:10252
time="2020-05-13T02:00:50.375220044+02:00" level=info msg="Creating CRD addons.k3s.cattle.io"
W0513 02:00:50.379416 authorization.go:47] Authorization is disabled
W0513 02:00:50.379439 authentication.go:92] Authentication is disabled
I0513 02:00:50.379453 deprecated_insecure_serving.go:51] Serving healthz insecurely on [::]:10251
time="2020-05-13T02:00:50.380359833+02:00" level=info msg="Creating CRD helmcharts.helm.cattle.io"
time="2020-05-13T02:00:50.388762369+02:00" level=info msg="Waiting for CRD helmcharts.helm.cattle.io to become available"
I0513 02:00:50.686877 plugins.go:100] No cloud provider specified.
I0513 02:00:50.688925 shared_informer.go:197] Waiting for caches to sync for tokens
I0513 02:00:50.694919 controller.go:606] quota admission added evaluator for: serviceaccounts
I0513 02:00:50.789324 shared_informer.go:204] Caches are synced for tokens
time="2020-05-13T02:00:50.894872895+02:00" level=info msg="Done waiting for CRD helmcharts.helm.cattle.io to become available"
time="2020-05-13T02:00:50.894895475+02:00" level=info msg="Waiting for CRD addons.k3s.cattle.io to become available"
time="2020-05-13T02:00:51.378564860+02:00" level=info msg="Waiting for cloudcontroller rbac role to be created"
time="2020-05-13T02:00:51.397539985+02:00" level=info msg="Done waiting for CRD addons.k3s.cattle.io to become available"
time="2020-05-13T02:00:51.402681956+02:00" level=info msg="Writing static file: /var/lib/rancher/k3s/server/static/charts/traefik-1.81.0.tgz"
time="2020-05-13T02:00:51.402962314+02:00" level=info msg="Writing manifest: /var/lib/rancher/k3s/server/manifests/coredns.yaml"
time="2020-05-13T02:00:51.403050399+02:00" level=info msg="Writing manifest: /var/lib/rancher/k3s/server/manifests/ccm.yaml"
time="2020-05-13T02:00:51.403165262+02:00" level=info msg="Writing manifest: /var/lib/rancher/k3s/server/manifests/rolebindings.yaml"
I0513 02:00:51.407556 garbagecollector.go:129] Starting garbage collector controller
I0513 02:00:51.407580 shared_informer.go:197] Waiting for caches to sync for garbage collector
I0513 02:00:51.407644 graph_builder.go:282] GraphBuilder running
I0513 02:00:51.407822 controllermanager.go:533] Started "garbagecollector"
I0513 02:00:51.415743 controllermanager.go:533] Started "csrsigning"
I0513 02:00:51.415772 certificate_controller.go:118] Starting certificate controller "csrsigning"
I0513 02:00:51.415791 shared_informer.go:197] Waiting for caches to sync for certificate-csrsigning
I0513 02:00:51.424508 controllermanager.go:533] Started "pvc-protection"
I0513 02:00:51.424590 pvc_protection_controller.go:100] Starting PVC protection controller
I0513 02:00:51.424606 shared_informer.go:197] Waiting for caches to sync for PVC protection
I0513 02:00:51.432760 controllermanager.go:533] Started "endpoint"
I0513 02:00:51.432800 endpoints_controller.go:181] Starting endpoint controller
I0513 02:00:51.432815 shared_informer.go:197] Waiting for caches to sync for endpoint
I0513 02:00:51.443833 controllermanager.go:533] Started "serviceaccount"
I0513 02:00:51.443904 serviceaccounts_controller.go:116] Starting service account controller
I0513 02:00:51.443915 shared_informer.go:197] Waiting for caches to sync for service account
I0513 02:00:51.449975 controllermanager.go:533] Started "replicaset"
W0513 02:00:51.449994 core.go:246] configure-cloud-routes is set, but no cloud provider specified. Will not configure cloud provider routes.
W0513 02:00:51.450005 controllermanager.go:525] Skipping "route"
I0513 02:00:51.450108 replica_set.go:180] Starting replicaset controller
I0513 02:00:51.450119 shared_informer.go:197] Waiting for caches to sync for ReplicaSet
I0513 02:00:51.457330 node_lifecycle_controller.go:77] Sending events to api server
E0513 02:00:51.457398 core.go:232] failed to start cloud node lifecycle controller: no cloud provider provided
W0513 02:00:51.457412 controllermanager.go:525] Skipping "cloud-node-lifecycle"
I0513 02:00:51.466727 controllermanager.go:533] Started "replicationcontroller"
I0513 02:00:51.466846 replica_set.go:180] Starting replicationcontroller controller
I0513 02:00:51.466884 shared_informer.go:197] Waiting for caches to sync for ReplicationController
time="2020-05-13T02:00:51.506865982+02:00" level=info msg="Starting k3s.cattle.io/v1, Kind=Addon controller"
time="2020-05-13T02:00:51.506996979+02:00" level=info msg="Waiting for master node  startup: resource name may not be empty"
time="2020-05-13T02:00:51.506872974+02:00" level=info msg="Node token is available at /var/lib/rancher/k3s/server/token"
time="2020-05-13T02:00:51.507171751+02:00" level=info msg="To join node to cluster: k3s agent -s https://<IP_ADDRESS>:6443 -t ${NODE_TOKEN}"
I0513 02:00:51.536184 controller.go:606] quota admission added evaluator for: addons.k3s.cattle.io
http: TLS handshake error from <IP_ADDRESS>:35826: remote error: tls: bad certificate
time="2020-05-13T02:00:51.591742427+02:00" level=info msg="Wrote kubeconfig /etc/rancher/k3s/k3s.yaml"
time="2020-05-13T02:00:51.591774184+02:00" level=info msg="Run: k3s kubectl"
time="2020-05-13T02:00:51.591781874+02:00" level=info msg="k3s is up and running"
time="2020-05-13T02:00:51.591972162+02:00" level=info msg="module overlay was already loaded"
time="2020-05-13T02:00:51.591994989+02:00" level=info msg="module nf_conntrack was already loaded"
time="2020-05-13T02:00:51.592012796+02:00" level=info msg="module br_netfilter was already loaded"
systemd[1]: Started Lightweight Kubernetes.
I0513 02:00:51.593418 controller.go:606] quota admission added evaluator for: deployments.apps
http: TLS handshake error from <IP_ADDRESS>:35834: remote error: tls: bad certificate
http: TLS handshake error from <IP_ADDRESS>:35840: remote error: tls: bad certificate
time="2020-05-13T02:00:51.608165280+02:00" level=info msg="Starting helm.cattle.io/v1, Kind=HelmChart controller"
time="2020-05-13T02:00:51.608210669+02:00" level=info msg="Starting batch/v1, Kind=Job controller"
time="2020-05-13T02:00:51.608217302+02:00" level=info msg="Starting /v1, Kind=Pod controller"
time="2020-05-13T02:00:51.608224576+02:00" level=info msg="Starting /v1, Kind=Node controller"
time="2020-05-13T02:00:51.608227540+02:00" level=info msg="Starting /v1, Kind=Service controller"
time="2020-05-13T02:00:51.608227525+02:00" level=info msg="Starting /v1, Kind=Endpoints controller"
time="2020-05-13T02:00:51.622169234+02:00" level=info msg="Logging containerd to /var/lib/rancher/k3s/agent/containerd/containerd.log"
time="2020-05-13T02:00:51.622324129+02:00" level=info msg="Running containerd -c /var/lib/rancher/k3s/agent/etc/containerd/config.toml -a /run/k3s/containerd/containerd.sock --state /run/k3s/containerd --root /var/lib/rancher/k3s/agent/containerd"
time="2020-05-13T02:00:51.622433451+02:00" level=info msg="Waiting for containerd startup: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial unix /run/k3s/containerd/containerd.sock: connect: connection refused\>
I0513 02:00:51.825336 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for statefulsets.apps
I0513 02:00:51.825372 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for events.events.k8s.io
I0513 02:00:51.825387 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for networkpolicies.networking.k8s.io
I0513 02:00:51.825409 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for addons.k3s.cattle.io
I0513 02:00:51.825432 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for horizontalpodautoscalers.autoscaling
I0513 02:00:51.825467 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for ingresses.networking.k8s.io
I0513 02:00:51.825484 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for poddisruptionbudgets.policy
W0513 02:00:51.825504 shared_informer.go:415] resyncPeriod<PHONE_NUMBER>9810 is smaller than resyncCheckPeriod<PHONE_NUMBER>4217 and the informer has already started. Changing it to<PHONE_NUMBER>4217
I0513 02:00:51.825789 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for replicasets.apps
I0513 02:00:51.825828 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for controllerrevisions.apps
I0513 02:00:51.825846 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for rolebindings.rbac.authorization.k8s.io
I0513 02:00:51.825875 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for roles.rbac.authorization.k8s.io
I0513 02:00:51.825913 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for helmcharts.helm.cattle.io
I0513 02:00:51.825935 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for endpoints
I0513 02:00:51.825949 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for jobs.batch
I0513 02:00:51.825962 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for limitranges
W0513 02:00:51.825969 shared_informer.go:415] resyncPeriod<PHONE_NUMBER>2004 is smaller than resyncCheckPeriod<PHONE_NUMBER>4217 and the informer has already started. Changing it to<PHONE_NUMBER>4217
I0513 02:00:51.826100 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for serviceaccounts
I0513 02:00:51.826132 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for daemonsets.apps
I0513 02:00:51.826153 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for podtemplates
I0513 02:00:51.826170 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for cronjobs.batch
I0513 02:00:51.826225 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for ingresses.extensions
I0513 02:00:51.826246 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for deployments.apps
I0513 02:00:51.826262 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for leases.coordination.k8s.io
I0513 02:00:51.826277 resource_quota_monitor.go:228] QuotaMonitor created object count evaluator for endpointslices.discovery.k8s.io
I0513 02:00:51.826289 controllermanager.go:533] Started "resourcequota"
I0513 02:00:51.826300 resource_quota_controller.go:271] Starting resource quota controller
I0513 02:00:51.826314 shared_informer.go:197] Waiting for caches to sync for resource quota
I0513 02:00:51.826329 resource_quota_monitor.go:303] QuotaMonitor running
I0513 02:00:51.829256 node_lifecycle_controller.go:388] Sending events to api server.
I0513 02:00:51.829387 node_lifecycle_controller.go:423] Controller is using taint based evictions.
I0513 02:00:51.829439 taint_manager.go:162] Sending events to api server.
I0513 02:00:51.829498 node_lifecycle_controller.go:520] Controller will reconcile labels.
I0513 02:00:51.829516 controllermanager.go:533] Started "nodelifecycle"
I0513 02:00:51.829592 node_lifecycle_controller.go:554] Starting node controller
I0513 02:00:51.829604 shared_informer.go:197] Waiting for caches to sync for taint
E0513 02:00:51.835310 core.go:91] Failed to start service controller: WARNING: no cloud provider provided, services of type LoadBalancer will fail
W0513 02:00:51.835325 controllermanager.go:525] Skipping "service"
I0513 02:00:51.843054 controllermanager.go:533] Started "persistentvolume-binder"
I0513 02:00:51.843076 pv_controller_base.go:294] Starting persistent volume controller
I0513 02:00:51.843087 shared_informer.go:197] Waiting for caches to sync for persistent volume
I0513 02:00:51.856678 controllermanager.go:533] Started "attachdetach"
I0513 02:00:51.856936 attach_detach_controller.go:342] Starting attach detach controller
I0513 02:00:51.856961 shared_informer.go:197] Waiting for caches to sync for attach detach
I0513 02:00:51.868774 controllermanager.go:533] Started "pv-protection"
W0513 02:00:51.869176 controllermanager.go:525] Skipping "endpointslice"
I0513 02:00:51.868813 pv_protection_controller.go:81] Starting PV protection controller
I0513 02:00:51.869245 shared_informer.go:197] Waiting for caches to sync for PV protection
I0513 02:00:52.012359 controllermanager.go:533] Started "podgc"
I0513 02:00:52.012409 gc_controller.go:88] Starting GC controller
I0513 02:00:52.012415 shared_informer.go:197] Waiting for caches to sync for GC
I0513 02:00:52.162060 controllermanager.go:533] Started "daemonset"
I0513 02:00:52.162105 daemon_controller.go:255] Starting daemon sets controller
I0513 02:00:52.162112 shared_informer.go:197] Waiting for caches to sync for daemon sets
time="2020-05-13T02:00:52.306816140+02:00" level=info msg="Starting /v1, Kind=Secret controller"
time="2020-05-13T02:00:52.309982021+02:00" level=info msg="Active TLS secret k3s-serving (ver=219) (count 7): map[listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-<IP_ADDRESS>:<IP_ADDRESS> listener.cattle.io/cn-kubernetes:kubernetes listener.cattle.io/cn-kubernet>
I0513 02:00:52.311442 controllermanager.go:533] Started "ttl"
I0513 02:00:52.311533 ttl_controller.go:116] Starting TTL controller
I0513 02:00:52.311544 shared_informer.go:197] Waiting for caches to sync for TTL
I0513 02:00:52.361400 node_ipam_controller.go:94] Sending events to api server.
time="2020-05-13T02:00:52.382772567+02:00" level=info msg="Running cloud-controller-manager --allocate-node-cidrs=true --allow-untagged-cloud=true --bind-address=<IP_ADDRESS> --cloud-provider=k3s --cluster-cidr=<IP_ADDRESS>/16 --kubeconfig=/var/lib/rancher/k3s/server/cred/cloud-controller.kubeconfig --leader-elect=false --node-s>
Flag --allow-untagged-cloud has been deprecated, This flag is deprecated and will be removed in a future release. A cluster-id will be required on cloud instances.
I0513 02:00:52.386417 controllermanager.go:120] Version: v1.17.4+k3s1
W0513 02:00:52.386434 controllermanager.go:132] detected a cluster without a ClusterID.  A ClusterID will be required in the future.  Please tag your cluster to avoid any future issues
I0513 02:00:52.389288 node_controller.go:110] Sending events to api server.
I0513 02:00:52.389395 controllermanager.go:247] Started "cloud-node"
I0513 02:00:52.390620 node_lifecycle_controller.go:77] Sending events to api server
I0513 02:00:52.390671 controllermanager.go:247] Started "cloud-node-lifecycle"
E0513 02:00:52.392432 core.go:90] Failed to start service controller: the cloud provider does not support external load balancers
W0513 02:00:52.392454 controllermanager.go:244] Skipping "service"
W0513 02:00:52.392462 core.go:108] configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.
W0513 02:00:52.392466 controllermanager.go:244] Skipping "route"
time="2020-05-13T02:00:52.510064457+02:00" level=info msg="Waiting for master node sos startup: nodes \"sos\" not found"
time="2020-05-13T02:00:52.635958188+02:00" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>:6443/v1-k3s/connect"
time="2020-05-13T02:00:52.638546043+02:00" level=info msg="Handling backend connection request [sos]"
time="2020-05-13T02:00:52.639960481+02:00" level=info msg="Running kubelet --address=<IP_ADDRESS> --anonymous-auth=false --authentication-token-webhook=true --authorization-mode=Webhook --cgroup-driver=cgroupfs --client-ca-file=/var/lib/rancher/k3s/agent/client-ca.crt --cloud-provider=external --cluster-dns=<IP_ADDRESS> --cluster>
Flag --containerd has been deprecated, This is a cadvisor flag that was mistakenly registered with the Kubelet. Due to legacy concerns, it will follow the standard CLI deprecation timeline before being removed.
time="2020-05-13T02:00:52.640087178+02:00" level=info msg="Running kube-proxy --cluster-cidr=<IP_ADDRESS>/16 --healthz-bind-address=<IP_ADDRESS> --hostname-override=sos --kubeconfig=/var/lib/rancher/k3s/agent/kubeproxy.kubeconfig --proxy-mode=iptables"
W0513 02:00:52.640216 server.go:213] WARNING: all flags other than --config, --write-config-to, and --cleanup are deprecated. Please begin using a config file ASAP.
time="2020-05-13T02:00:52.649398701+02:00" level=info msg="waiting for node sos: nodes \"sos\" not found"
I0513 02:00:52.657665 server.go:412] Version: v1.17.4+k3s1
E0513 02:00:52.665129 node.go:124] Failed to retrieve node info: nodes "sos" not found
I0513 02:00:52.670533 server.go:639] --cgroups-per-qos enabled, but --cgroup-root was not specified.  defaulting to /
I0513 02:00:52.671204 container_manager_linux.go:271] container manager verified user specified cgroup-root exists: []
I0513 02:00:52.671227 container_manager_linux.go:276] Creating Container Manager object based on Node Config: {RuntimeCgroupsName:/systemd/system.slice SystemCgroupsName: KubeletCgroupsName:/systemd/system.slice ContainerRuntime:remote CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/ku>
I0513 02:00:52.671352 fake_topology_manager.go:29] [fake topologymanager] NewFakeManager
I0513 02:00:52.671360 container_manager_linux.go:311] Creating device plugin manager: true
I0513 02:00:52.671443 fake_topology_manager.go:39] [fake topologymanager] AddHintProvider HintProvider:  &{kubelet.sock /var/lib/kubelet/device-plugins/ map[] {0 0} <nil> {{} [0 0 0]} 0x2c49910 0x6dd8210 0x2c4a1e0 map[] map[] map[] map[] map[] 0xc00d31df50 [0] 0x6dd8210}
I0513 02:00:52.671486 state_mem.go:36] [cpumanager] initializing new in-memory state store
I0513 02:00:52.672942 fake_topology_manager.go:39] [fake topologymanager] AddHintProvider HintProvider:  &{{0 0} 0x6dd8210<PHONE_NUMBER>0 0xc005cc1e60 <nil> <nil> <nil> <nil> map[] 0x6dd8210}
I0513 02:00:52.673635 kubelet.go:311] Watching apiserver
W0513 02:00:52.675597 util_unix.go:103] Using "/run/k3s/containerd/containerd.sock" as endpoint is deprecated, please consider using full url format "unix:///run/k3s/containerd/containerd.sock".
W0513 02:00:52.675809 util_unix.go:103] Using "/run/k3s/containerd/containerd.sock" as endpoint is deprecated, please consider using full url format "unix:///run/k3s/containerd/containerd.sock".
I0513 02:00:52.677357 kuberuntime_manager.go:211] Container runtime containerd initialized, version: v1.3.3-k3s2, apiVersion: v1alpha2
I0513 02:00:52.677872 server.go:1111] Started kubelet
I0513 02:00:52.677915 server.go:144] Starting to listen on <IP_ADDRESS>:10250
I0513 02:00:52.679395 server.go:384] Adding debug handlers to kubelet server.
I0513 02:00:52.679813 fs_resource_analyzer.go:64] Starting FS ResourceAnalyzer
I0513 02:00:52.680065 volume_manager.go:265] Starting Kubelet Volume Manager
I0513 02:00:52.680149 desired_state_of_world_populator.go:138] Desired state populator starts to run
E0513 02:00:52.683605 cri_stats_provider.go:375] Failed to get the info of the filesystem with mountpoint "/var/lib/rancher/k3s/agent/containerd/io.containerd.snapshotter.v1.overlayfs": unable to find data in memory cache.
 Stats initialization may not have completed yet: invalid capacity 0 on image filesystem
E0513 02:00:52.690444 controller.go:227] failed to get node "sos" when trying to set owner ref to the node lease: nodes "sos" not found
I0513 02:00:52.752971 status_manager.go:157] Starting to sync pod status with apiserver
I0513 02:00:52.753013 kubelet.go:1820] Starting kubelet main sync loop.
E0513 02:00:52.753057 kubelet.go:1844] skipping pod synchronization - [container runtime status check may not have completed yet, PLEG is not healthy: pleg has yet to be successful]
I0513 02:00:52.780161 kubelet_node_status.go:294] Setting node annotation to enable volume controller attach/detach
E0513 02:00:52.780206 kubelet.go:2263] node "sos" not found
I0513 02:00:52.782530 kubelet_node_status.go:70] Attempting to register node sos
I0513 02:00:52.845059 kubelet_node_status.go:294] Setting node annotation to enable volume controller attach/detach
I0513 02:00:52.846866 cpu_manager.go:173] [cpumanager] starting with none policy
I0513 02:00:52.846890 cpu_manager.go:174] [cpumanager] reconciling every 10s
I0513 02:00:52.846899 policy_none.go:43] [cpumanager] none policy: Start
W0513 02:00:52.847879 manager.go:577] Failed to retrieve checkpoint for "kubelet_internal_checkpoint": checkpoint is not found
I0513 02:00:52.848118 plugin_manager.go:114] Starting Kubelet Plugin Manager
E0513 02:00:52.848702 eviction_manager.go:246] eviction manager: failed to get summary stats: failed to get node info: node "sos" not found
E0513 02:00:52.880358 kubelet.go:2263] node "sos" not found
I0513 02:00:52.880523 reconciler.go:156] Reconciler: start to sync state
E0513 02:00:52.980577 kubelet.go:2263] node "sos" not found
I0513 02:00:53.077753 kubelet_node_status.go:73] Successfully registered node sos
time="2020-05-13T02:00:53.080826836+02:00" level=info msg="couldn't find node internal ip label on node sos"
time="2020-05-13T02:00:53.080854705+02:00" level=info msg="couldn't find node hostname label on node sos"
time="2020-05-13T02:00:53.083722607+02:00" level=info msg="couldn't find node internal ip label on node sos"
time="2020-05-13T02:00:53.083760206+02:00" level=info msg="couldn't find node hostname label on node sos"
I0513 02:00:53.083783 node_controller.go:424] Successfully initialized node sos with cloud provider
time="2020-05-13T02:00:53.088517203+02:00" level=info msg="Updated coredns node hosts entry [<IP_ADDRESS> sos]"
time="2020-05-13T02:00:53.516318794+02:00" level=info msg="master role label has been set succesfully on node: sos"
I0513 02:00:53.566773 controller.go:606] quota admission added evaluator for: networkpolicies.networking.k8s.io
I0513 02:00:53.694391 node.go:135] Successfully retrieved node IP: <IP_ADDRESS>
I0513 02:00:53.694417 server_others.go:146] Using iptables Proxier.
I0513 02:00:53.695046 server.go:571] Version: v1.17.4+k3s1
I0513 02:00:53.695611 conntrack.go:52] Setting nf_conntrack_max to 393216
I0513 02:00:53.695870 config.go:131] Starting endpoints config controller
I0513 02:00:53.695890 config.go:313] Starting service config controller
I0513 02:00:53.695901 shared_informer.go:197] Waiting for caches to sync for endpoints config
I0513 02:00:53.695905 shared_informer.go:197] Waiting for caches to sync for service config
I0513 02:00:53.796077 shared_informer.go:204] Caches are synced for service config
I0513 02:00:53.796077 shared_informer.go:204] Caches are synced for endpoints config
time="2020-05-13T02:00:54.653431871+02:00" level=info msg="waiting for node sos CIDR not assigned yet"
W0513 02:00:54.764473 kubelet_getters.go:297] Path "/var/lib/kubelet/pods/1fd8a837-ad17-49ca-a6a8-42462ad7e03b/volumes" does not exist
W0513 02:00:54.764514 kubelet_getters.go:297] Path "/var/lib/kubelet/pods/1df1fdb9-4f5a-4143-a0b4-1f9c70114cc0/volumes" does not exist
time="2020-05-13T02:00:56.656393713+02:00" level=info msg="waiting for node sos CIDR not assigned yet"
time="2020-05-13T02:00:58.661231762+02:00" level=info msg="waiting for node sos CIDR not assigned yet"
time="2020-05-13T02:01:00.667733790+02:00" level=info msg="waiting for node sos CIDR not assigned yet"
I0513 02:01:02.372614 range_allocator.go:82] Sending events to api server.
I0513 02:01:02.372724 range_allocator.go:110] No Service CIDR provided. Skipping filtering out service addresses.
I0513 02:01:02.372732 range_allocator.go:116] No Secondary Service CIDR provided. Skipping filtering out secondary service addresses.
I0513 02:01:02.372753 controllermanager.go:533] Started "nodeipam"
I0513 02:01:02.372828 node_ipam_controller.go:162] Starting ipam controller
I0513 02:01:02.372838 shared_informer.go:197] Waiting for caches to sync for node
I0513 02:01:02.378005 controllermanager.go:533] Started "deployment"
I0513 02:01:02.378119 deployment_controller.go:152] Starting deployment controller
I0513 02:01:02.378131 shared_informer.go:197] Waiting for caches to sync for deployment
I0513 02:01:02.390079 controllermanager.go:533] Started "horizontalpodautoscaling"
I0513 02:01:02.390171 horizontal.go:156] Starting HPA controller
I0513 02:01:02.390178 shared_informer.go:197] Waiting for caches to sync for HPA
I0513 02:01:02.396000 controllermanager.go:533] Started "cronjob"
I0513 02:01:02.396079 cronjob_controller.go:97] Starting CronJob Manager
I0513 02:01:02.398696 controllermanager.go:533] Started "csrapproving"
I0513 02:01:02.398801 certificate_controller.go:118] Starting certificate controller "csrapproving"
I0513 02:01:02.398810 shared_informer.go:197] Waiting for caches to sync for certificate-csrapproving
I0513 02:01:02.406087 controllermanager.go:533] Started "persistentvolume-expander"
I0513 02:01:02.406133 expand_controller.go:319] Starting expand controller
W0513 02:01:02.406135 controllermanager.go:525] Skipping "ttl-after-finished"
I0513 02:01:02.406142 shared_informer.go:197] Waiting for caches to sync for expand
I0513 02:01:02.423443 controllermanager.go:533] Started "namespace"
I0513 02:01:02.423512 namespace_controller.go:200] Starting namespace controller
I0513 02:01:02.423525 shared_informer.go:197] Waiting for caches to sync for namespace
I0513 02:01:02.429270 controllermanager.go:533] Started "job"
I0513 02:01:02.429359 job_controller.go:143] Starting job controller
I0513 02:01:02.429366 shared_informer.go:197] Waiting for caches to sync for job
I0513 02:01:02.431471 controllermanager.go:533] Started "csrcleaner"
W0513 02:01:02.431482 controllermanager.go:512] "tokencleaner" is disabled
I0513 02:01:02.431542 cleaner.go:81] Starting CSR cleaner controller
I0513 02:01:02.517534 controllermanager.go:533] Started "disruption"
W0513 02:01:02.517578 controllermanager.go:512] "bootstrapsigner" is disabled
I0513 02:01:02.517625 disruption.go:330] Starting disruption controller
I0513 02:01:02.517657 shared_informer.go:197] Waiting for caches to sync for disruption
I0513 02:01:02.668735 controllermanager.go:533] Started "clusterrole-aggregation"
W0513 02:01:02.668755 controllermanager.go:525] Skipping "root-ca-cert-publisher"
I0513 02:01:02.668785 clusterroleaggregation_controller.go:148] Starting ClusterRoleAggregator
I0513 02:01:02.668790 shared_informer.go:197] Waiting for caches to sync for ClusterRoleAggregator
time="2020-05-13T02:01:02.670058551+02:00" level=info msg="waiting for node sos CIDR not assigned yet"
I0513 02:01:02.694713 controller.go:606] quota admission added evaluator for: leases.coordination.k8s.io
I0513 02:01:02.816694 controllermanager.go:533] Started "statefulset"
I0513 02:01:02.817140 stateful_set.go:145] Starting stateful set controller
I0513 02:01:02.817155 shared_informer.go:197] Waiting for caches to sync for stateful set
I0513 02:01:02.817507 shared_informer.go:197] Waiting for caches to sync for garbage collector
I0513 02:01:02.818525 shared_informer.go:197] Waiting for caches to sync for resource quota
I0513 02:01:02.829474 shared_informer.go:204] Caches are synced for job
I0513 02:01:02.833048 shared_informer.go:204] Caches are synced for endpoint
I0513 02:01:02.850398 shared_informer.go:204] Caches are synced for ReplicaSet
I0513 02:01:02.868904 shared_informer.go:204] Caches are synced for ClusterRoleAggregator
I0513 02:01:02.878298 shared_informer.go:204] Caches are synced for deployment
I0513 02:01:02.890456 shared_informer.go:204] Caches are synced for HPA
I0513 02:01:02.899065 shared_informer.go:204] Caches are synced for certificate-csrapproving
I0513 02:01:02.915950 shared_informer.go:204] Caches are synced for certificate-csrsigning
I0513 02:01:02.923633 shared_informer.go:204] Caches are synced for namespace
I0513 02:01:02.943995 shared_informer.go:204] Caches are synced for service account
E0513 02:01:03.123149 clusterroleaggregation_controller.go:180] edit failed with : Operation cannot be fulfilled on clusterroles.rbac.authorization.k8s.io "edit": the object has been modified; please apply your changes to the latest version and try again
E0513 02:01:03.123440 clusterroleaggregation_controller.go:180] admin failed with : Operation cannot be fulfilled on clusterroles.rbac.authorization.k8s.io "admin": the object has been modified; please apply your changes to the latest version and try again
I0513 02:01:03.124786 shared_informer.go:204] Caches are synced for PVC protection
E0513 02:01:03.128620 clusterroleaggregation_controller.go:180] admin failed with : Operation cannot be fulfilled on clusterroles.rbac.authorization.k8s.io "admin": the object has been modified; please apply your changes to the latest version and try again
E0513 02:01:03.132937 clusterroleaggregation_controller.go:180] admin failed with : Operation cannot be fulfilled on clusterroles.rbac.authorization.k8s.io "admin": the object has been modified; please apply your changes to the latest version and try again
I0513 02:01:03.168012 controller.go:606] quota admission added evaluator for: replicasets.apps
I0513 02:01:03.169826 event.go:281] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"default", Name:"echoserver", UID:"bc56b621-2410-462e-951d-25f993f8a8d2", APIVersion:"apps/v1", ResourceVersion:"241", FieldPath:""}): type: 'Normal' reason: 'ScalingReplicaSet' Scaled up replica set echoserver-5d8cc8d48 to 1
I0513 02:01:03.170510 event.go:281] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"kube-system", Name:"coredns", UID:"13445d89-8110-422b-bade-41e472e292e2", APIVersion:"apps/v1", ResourceVersion:"193", FieldPath:""}): type: 'Normal' reason: 'ScalingReplicaSet' Scaled up replica set coredns-6c6bb68b64 to 1
I0513 02:01:03.217274 shared_informer.go:204] Caches are synced for stateful set
I0513 02:01:03.217827 shared_informer.go:204] Caches are synced for disruption
I0513 02:01:03.217840 disruption.go:338] Sending events to api server.
I0513 02:01:03.267205 shared_informer.go:204] Caches are synced for ReplicationController
W0513 02:01:03.268978 actual_state_of_world.go:506] Failed to update statusUpdateNeeded field in actual state of world: Failed to set statusUpdateNeeded to needed true, because nodeName="sos" does not exist
I0513 02:01:03.273059 shared_informer.go:204] Caches are synced for node
I0513 02:01:03.273101 range_allocator.go:172] Starting range CIDR allocator
I0513 02:01:03.273105 shared_informer.go:197] Waiting for caches to sync for cidrallocator
I0513 02:01:03.273109 shared_informer.go:204] Caches are synced for cidrallocator
I0513 02:01:03.276435 range_allocator.go:373] Set node sos PodCIDR to [<IP_ADDRESS>/24]
I0513 02:01:03.304830 kuberuntime_manager.go:981] updating runtime config through cri with podcidr <IP_ADDRESS>/24
I0513 02:01:03.306102 kubelet_network.go:77] Setting Pod CIDR:  -> <IP_ADDRESS>/24
I0513 02:01:03.311754 shared_informer.go:204] Caches are synced for TTL
I0513 02:01:03.312573 shared_informer.go:204] Caches are synced for GC
I0513 02:01:03.320912 event.go:281] Event(v1.ObjectReference{Kind:"ReplicaSet", Namespace:"default", Name:"echoserver-5d8cc8d48", UID:"cf5486fe-fc9e-4e5b-98ce-e0e3c3a166c7", APIVersion:"apps/v1", ResourceVersion:"283", FieldPath:""}): type: 'Normal' reason: 'SuccessfulCreate' Created pod: echoserver-5d8cc8d48-ckd5t
I0513 02:01:03.321372 event.go:281] Event(v1.ObjectReference{Kind:"ReplicaSet", Namespace:"kube-system", Name:"coredns-6c6bb68b64", UID:"1ba062ef-3411-4eb6-95ce-e0950cc3ded2", APIVersion:"apps/v1", ResourceVersion:"284", FieldPath:""}): type: 'Normal' reason: 'SuccessfulCreate' Created pod: coredns-6c6bb68b64-2vmq5
I0513 02:01:03.322970 controller.go:606] quota admission added evaluator for: events.events.k8s.io
I0513 02:01:03.329705 shared_informer.go:204] Caches are synced for taint
I0513 02:01:03.329770 node_lifecycle_controller.go:1443] Initializing eviction metric for zone:
I0513 02:01:03.329796 taint_manager.go:186] Starting NoExecuteTaintManager
W0513 02:01:03.329822 node_lifecycle_controller.go:1058] Missing timestamp for Node sos. Assuming now as a timestamp.
I0513 02:01:03.329849 node_lifecycle_controller.go:1259] Controller detected that zone  is now in state Normal.
I0513 02:01:03.329915 event.go:281] Event(v1.ObjectReference{Kind:"Node", Namespace:"", Name:"sos", UID:"7a0d3bdf-8276-48c1-9dcb-078e51503337", APIVersion:"", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'RegisteredNode' Node sos event: Registered Node sos in Controller
I0513 02:01:03.343148 shared_informer.go:204] Caches are synced for persistent volume
I0513 02:01:03.357364 shared_informer.go:204] Caches are synced for attach detach
I0513 02:01:03.362276 shared_informer.go:204] Caches are synced for daemon sets
I0513 02:01:03.369408 shared_informer.go:204] Caches are synced for PV protection
I0513 02:01:03.406343 shared_informer.go:204] Caches are synced for expand
I0513 02:01:03.407981 shared_informer.go:204] Caches are synced for garbage collector
I0513 02:01:03.408030 garbagecollector.go:138] Garbage collector: all resource monitors have synced. Proceeding to collect garbage
I0513 02:01:03.417795 shared_informer.go:204] Caches are synced for garbage collector
I0513 02:01:03.418695 shared_informer.go:204] Caches are synced for resource quota
I0513 02:01:03.426468 shared_informer.go:204] Caches are synced for resource quota
I0513 02:01:04.509196 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume started for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/31e75204-ce2d-4b90-bfad-8d9403475d0a-default-token-6d87q") pod "echoserver-5d8cc8d48-ckd5t" (UID: "31e75204-ce2d-4b90-bfad-8d9403475d0a")
I0513 02:01:04.509319 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume started for volume "config-volume" (UniqueName: "kubernetes.io/configmap/bbf8d805-5576-4c5f-b548-a4a560c4a32d-config-volume") pod "coredns-6c6bb68b64-2vmq5" (UID: "bbf8d805-5576-4c5f-b548-a4a560c4a32d")
I0513 02:01:04.509426 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume started for volume "coredns-token-x9gx5" (UniqueName: "kubernetes.io/secret/bbf8d805-5576-4c5f-b548-a4a560c4a32d-coredns-token-x9gx5") pod "coredns-6c6bb68b64-2vmq5" (UID: "bbf8d805-5576-4c5f-b548-a4a560c4a32d")
I0513 02:01:04.672449 flannel.go:92] Determining IP address of default interface
I0513 02:01:04.672902 flannel.go:105] Using interface with name wlp2s0 and address <IP_ADDRESS>
I0513 02:01:04.674851 kube.go:117] Waiting 10m0s for node controller to sync
I0513 02:01:04.674906 kube.go:300] Starting kube subnet manager
time="2020-05-13T02:01:04.682081843+02:00" level=info msg="labels have been set successfully on node: sos"
I0513 02:01:04.696928 network_policy_controller.go:148] Starting network policy controller
I0513 02:01:05.675312 kube.go:124] Node controller sync successful
I0513 02:01:05.675525 vxlan.go:121] VXLAN config: VNI=1 Port=0 GBP=false Learning=false DirectRouting=false
I0513 02:01:05.689666 flannel.go:78] Wrote subnet file to /run/flannel/subnet.env
I0513 02:01:05.689689 flannel.go:82] Running backend.
I0513 02:01:05.689698 vxlan_network.go:60] watching for new subnet leases
I0513 02:02:34.402603 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume started for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/d273c5b3-cd2e-4d86-9475-1976bce2c46a-default-token-6d87q") pod "busybox-without-access" (UID: "d273c5b3-cd2e-4d86-9475-1976bce2c46a")
I0513 02:02:41.125229 reconciler.go:183] operationExecutor.UnmountVolume started for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/d273c5b3-cd2e-4d86-9475-1976bce2c46a-default-token-6d87q") pod "d273c5b3-cd2e-4d86-9475-1976bce2c46a" (UID: "d273c5b3-cd2e-4d86-9475-1976bce2c46a")
I0513 02:02:41.127141 operation_generator.go:713] UnmountVolume.TearDown succeeded for volume "kubernetes.io/secret/d273c5b3-cd2e-4d86-9475-1976bce2c46a-default-token-6d87q" (OuterVolumeSpecName: "default-token-6d87q") pod "d273c5b3-cd2e-4d86-9475-1976bce2c46a" (UID: "d273c5b3-cd2e-4d86-9475-1976bce2c46a"). InnerVo>
I0513 02:02:41.225732 reconciler.go:303] Volume detached for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/d273c5b3-cd2e-4d86-9475-1976bce2c46a-default-token-6d87q") on node "sos" DevicePath ""
W0513 02:02:41.574591 manager.go:1131] Failed to process watch event {EventType:0 Name:/kubepods/besteffort/podd273c5b3-cd2e-4d86-9475-1976bce2c46a/f4c06c0d8ef0efa4b1041e6488142210f0d4e566557063a6b134cff06b9f4b42 WatchSource:0}: task f4c06c0d8ef0efa4b1041e6488142210f0d4e566557063a6b134cff06b9f4b42 not found: not fo>
W0513 02:02:41.941923 pod_container_deletor.go:75] Container "44754e98f1e73ddfd5dfa00efd8a79552dad4508bfb1ef6bd9d87d7054eb188e" not found in pod's containers
W0513 02:02:42.757004 kubelet_getters.go:297] Path "/var/lib/kubelet/pods/d273c5b3-cd2e-4d86-9475-1976bce2c46a/volumes" does not exist
I0513 02:04:54.307279 reconciler.go:209] operationExecutor.VerifyControllerAttachedVolume started for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/08811e5b-6e02-46f9-9951-38762d43388c-default-token-6d87q") pod "busybox-with-access" (UID: "08811e5b-6e02-46f9-9951-38762d43388c")
E0513 02:05:09.346939 remote_runtime.go:128] StopPodSandbox "7c41bf6abd7e53c3b8dd163aa4ecf3a017a34c2b428bd69f67afbd6176501452" from runtime service failed: rpc error: code = Unknown desc = failed to destroy network for sandbox "7c41bf6abd7e53c3b8dd163aa4ecf3a017a34c2b428bd69f67afbd6176501452": failed to Statfs "/va>
E0513 02:05:09.346999 kuberuntime_manager.go:898] Failed to stop sandbox {"containerd" "7c41bf6abd7e53c3b8dd163aa4ecf3a017a34c2b428bd69f67afbd6176501452"}
E0513 02:05:09.347073 kuberuntime_manager.go:676] killPodWithSyncResult failed: failed to "KillPodSandbox" for "08811e5b-6e02-46f9-9951-38762d43388c" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to destroy network for sandbox \"7c41bf6abd7e53c3b8dd163aa4ecf3a017a34c2b428bd69f67afbd6176501452\">
E0513 02:05:09.347153 pod_workers.go:191] Error syncing pod 08811e5b-6e02-46f9-9951-38762d43388c ("busybox-with-access_default(08811e5b-6e02-46f9-9951-38762d43388c)"), skipping: failed to "KillPodSandbox" for "08811e5b-6e02-46f9-9951-38762d43388c" with KillPodSandboxError: "rpc error: code = Unknown desc = failed t>
I0513 02:05:09.453784 reconciler.go:183] operationExecutor.UnmountVolume started for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/08811e5b-6e02-46f9-9951-38762d43388c-default-token-6d87q") pod "08811e5b-6e02-46f9-9951-38762d43388c" (UID: "08811e5b-6e02-46f9-9951-38762d43388c")
I0513 02:05:09.459849 operation_generator.go:713] UnmountVolume.TearDown succeeded for volume "kubernetes.io/secret/08811e5b-6e02-46f9-9951-38762d43388c-default-token-6d87q" (OuterVolumeSpecName: "default-token-6d87q") pod "08811e5b-6e02-46f9-9951-38762d43388c" (UID: "08811e5b-6e02-46f9-9951-38762d43388c"). InnerVo>
I0513 02:05:09.554247 reconciler.go:303] Volume detached for volume "default-token-6d87q" (UniqueName: "kubernetes.io/secret/08811e5b-6e02-46f9-9951-38762d43388c-default-token-6d87q") on node "sos" DevicePath ""
W0513 02:05:10.266958 pod_container_deletor.go:75] Container "7c41bf6abd7e53c3b8dd163aa4ecf3a017a34c2b428bd69f67afbd6176501452" not found in pod's containers
W0513 02:05:10.765295 kubelet_getters.go:297] Path "/var/lib/kubelet/pods/08811e5b-6e02-46f9-9951-38762d43388c/volumes" does not exist

Output of: k3s kubectl get events
LAST SEEN   TYPE      REASON                    OBJECT                            MESSAGE
5m10s       Normal    Starting                  node/sos                          Starting kubelet.
5m10s       Warning   InvalidDiskCapacity       node/sos                          invalid capacity 0 on image filesystem
5m10s       Normal    NodeHasSufficientMemory   node/sos                          Node sos status is now: NodeHasSufficientMemory
5m10s       Normal    NodeHasNoDiskPressure     node/sos                          Node sos status is now: NodeHasNoDiskPressure
5m10s       Normal    NodeHasSufficientPID      node/sos                          Node sos status is now: NodeHasSufficientPID
5m10s       Normal    NodeAllocatableEnforced   node/sos                          Updated Node Allocatable limit across pods
5m9s        Normal    Starting                  node/sos                          Starting kube-proxy.
4m59s       Normal    NodeReady                 node/sos                          Node sos status is now: NodeReady
4m59s       Normal    ScalingReplicaSet         deployment/echoserver             Scaled up replica set echoserver-5d8cc8d48 to 1
4m59s       Normal    SuccessfulCreate          replicaset/echoserver-5d8cc8d48   Created pod: echoserver-5d8cc8d48-ckd5t
<unknown>   Warning   FailedScheduling          pod/echoserver-5d8cc8d48-ckd5t    0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
4m59s       Normal    RegisteredNode            node/sos                          Node sos event: Registered Node sos in Controller
<unknown>   Normal    Scheduled                 pod/echoserver-5d8cc8d48-ckd5t    Successfully assigned default/echoserver-5d8cc8d48-ckd5t to sos
4m50s       Normal    Pulling                   pod/echoserver-5d8cc8d48-ckd5t    Pulling image "gcr.io/google_containers/echoserver:1.10"
3m29s       Normal    Pulled                    pod/echoserver-5d8cc8d48-ckd5t    Successfully pulled image "gcr.io/google_containers/echoserver:1.10"
3m29s       Normal    Created                   pod/echoserver-5d8cc8d48-ckd5t    Created container echoserver
3m29s       Normal    Started                   pod/echoserver-5d8cc8d48-ckd5t    Started container echoserver
<unknown>   Normal    Scheduled                 pod/busybox-without-access        Successfully assigned default/busybox-without-access to sos
3m28s       Normal    Pulling                   pod/busybox-without-access        Pulling image "busybox"
3m23s       Normal    Pulled                    pod/busybox-without-access        Successfully pulled image "busybox"
3m22s       Normal    Created                   pod/busybox-without-access        Created container busybox-without-access
3m22s       Normal    Started                   pod/busybox-without-access        Started container busybox-without-access
<unknown>   Normal    Scheduled                 pod/busybox-with-access           Successfully assigned default/busybox-with-access to sos
68s         Normal    Pulling                   pod/busybox-with-access           Pulling image "busybox"
66s         Normal    Pulled                    pod/busybox-with-access           Successfully pulled image "busybox"
66s         Normal    Created                   pod/busybox-with-access           Created container busybox-with-access
66s         Normal    Started                   pod/busybox-with-access           Started container busybox-with-access
53s         Normal    Killing                   pod/busybox-with-access           Stopping container busybox-with-access

Output of: k3s kubectl logs deploy/echoserver
Generating self-signed cert
Generating a 2048 bit RSA private key
.......+++
....................+++
writing new private key to '/certs/privateKey.key'
-----
Starting nginx
<IP_ADDRESS> - - [13/May/2020:00:02:40 +0000] "GET / HTTP/1.1" 200 434 "-" "Wget"
<IP_ADDRESS> - - [13/May/2020:00:05:08 +0000] "GET / HTTP/1.1" 200 434 "-" "Wget"

We are using a an implementation called kube-router (https://github.com/cloudnativelabs/kube-router/blob/856c7d762a73df557e0a1d35721f48fe8ba7925d/pkg/controllers/netpol/network_policy_controller.go#L58) which includes a syncPeriod as part of it's operation, please feel free to open an issue there if it makes sense.

Thanks.
It looks like there's already a related issue:
https://github.com/cloudnativelabs/kube-router/issues/873

I just realized (even though it's mentioned in the kube-router issue I linked above) that this does not appear to be an issue with every network policy rule.
For example, there does not appear to be a delay when an ingress rule restricts a new pod from connecting to another pod. (However, there may be a delay in the rule permitting a new pod to connect to another existing one.)

Reproduced the issue in k3s version v1.17.4+k3s1
kubectl get networkpolicy
NAME              POD-SELECTOR   AGE
foo-deny-egress   app=foo        45s
/ # wget -qO- --timeout 1 http://web:80/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>

Validated on k3s v1.20.0-rc5+k3s1, there is no delay in policy enforcement.
Labeled pod does not succeed after pod startup when deny egress traffic is applied

It looks like there is a --iptables-sync-period option on kube-router: https://www.kube-router.io/docs/user-guide/
If I'm understanding the description correctly, it sounds like changing this value could lower the amount of time it takes kube-router to enforce NetworkPolicy changes. Is it possible to make this option configurable in k3s?

Not at the moment. With recent updates to the network policy controller, the out of the box settings should be sufficient.

Thanks Brandon, I didn't catch the end of Shylaja's message above. I verified that there is no NetworkPolicy delay on k3d v4.3.0 with k3s v1.20.4-k3s1 👍

It seems like this is still happening on recent versions.

See the discussion at the end of https://github.com/longhorn/longhorn/issues/5403, which resulted in the longhorn developers writing

Note: Depending on your CNI for cluster network, there might be some delay when Kubernetes applying network policies to the pod. This delay may fail Longhorn recurring job for taking Snapshot or Backup of the Volume since it cannot access longhorn-manager in the beginning. This is a known issue found in K3s with Traefik and is beyond Longhorn control.
in their documentation.

I can reproduce the same issue in v1.28.5+k3s1 (5b2d1271), installation with default settings, as follows:

Create a NetworkPolicy that allows ingress only from kube-system and pods in the same namespace

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  namespace: mynamespace
  name: deny-from-other-namespaces
spec:
  podSelector:
    matchLabels:
  ingress:
  - from:
    - podSelector: {}
    - namespaceSelector:
        matchExpressions:
          - key: kubernetes.io/metadata.name
            operator: In
            values: ["kube-system"]

In mynamespace, create a job that connects to another pod in the same namespace. The connection will be refused.
Waiting briefly at the start of the job will make it succeed, as the policy has now been applied to that pod:initContainers:
  - name: sleep
    image: alpine:latest
    command: ["sleep", "5s"]

This is a limitation of network policies. Sync of policy rules is not instantaneous and does not block pod startup. Kubernetes is build around the concept of eventual consistency. Any component that has a dependency on the state of another component should be able to retry as necessary until that component becomes available - or reachable in this case.


Rhel rpm

Fix building on rhel 8.2
Verify also building on fedora 31

Coverage increased (+0.02%) to 63.59% when pulling bc6d7451932be4c13285ccd4de59d3a7d9d22c1e on trixirt:rhel-rpm into 87d58400dfd4b7a39128a6c3b87f05ef70c532f2 on OPAE:master.

Is the intent here to remove dependencies on CLI11 and spdlog?
I thought that modern fedora versions included these packages. Does fedora31 not include them?
The afu_test is reused in a lot of our tools because it sets up things like command line parsing and logging so removing inclusion of afu-test would essentially break the tools that derive from it.

rhel does not have these devel packages.
and using external/ breaks its build

@trixirt , can you elaborate by what you mean by "break its build"?
Also, are you saying that some packages that go into fedora are rejected by rhel? I was under the impression that making it into fedora was a requirement to get into rhel.

The linux-dfl-backport driver is an out a tree kernel driver running on rhel from 8.2+
It requires an opae that also runs on rhel from 8.2+
When the devel packages come from the distro they are a version that works with the distro version
When they come from external/ they are a single tag that works with a subset of distros.
The specific problem is
CMake Error at spdlog/download/spdlog-prefix/tmp/spdlog-gitclone.cmake:106 (message):
Failed to copy script-last-run stamp file:
'.../opae-sdk/packaging/opae/rpm/rpmbuild/BUILD/opae-2.0.1-1/external/spdlog/download/spdlog-prefix/src/spdlog-stamp/spdlog-gitclone-lastrun.txt'
embedding version logic for external/ cmake's is problematic, you would have to keep up a distro x distro version x external pkg version matrix.
In this case it was noted that most of external/ is used to build only afu_test and a few other derivative tests.  Removing these will not effect the in production use case.

@trixirt In order to set up CI around this, we need a RHEL .iso.  How can we get one?

Hi @trixirt, I was able to acquire the necessary images and license..  When I try to run create from this branch, I get errors about missing dependencies doxygen and hwloc-devel.  I think the doxygen dependency can be worked around, but how are you able to build fpgabist in rhel8 w/o hwloc-devel?  Were you able to install it somehow?


Define the transform interface

The idea around a "transform interface” is to make feature transformations composable, i.e. the output of one Transform should be valid input to another.
Feature engineering pipelines, which comprise a sequence of multiple Transforms and other steps, should obey the same principle and one should be able to add/remove subsequent Transforms without the pipeline breaking.
So the output of an end-to-end transform pipeline should itself be "transformable".
We have enforced this in Transforms by supporting certain input types, i.e. AbstractArrays and Tables, which produce other AbstractArrays and Tables.
We want to enforce this in the more generic transform API, which is expected to be overloaded for implementing pipelines but the exact method is an implementation detail for the user.
Currently the  interface just comprises a transform stub without any rules associated with it.
Our only requirement the return of transform is itself "transformable", i.e. an AbstractArray or Table.
I think is all that is required?
is_transformable(::AbstractArray)  = true
is_transformable(x) = Tables.istable(x)

this is probably a breaking change as it introduces a restriction that wasn't there before

this is probably a breaking change as it introduces a restriction that wasn't there before

Is it breaking if those are the types we currently support anyway? Other types wouldn't have worked with apply as apply is contrained to AbstractArrays or check Table.istable(). In my opinion it's not breaking the API


fix: update development docs to include local installation steps for spell checker and link checker

What ❔

update development docs to include local installation steps for spell checker
update development docs to include local installation steps for link checker
add CHANGELOG ignore to link checker as these links are auto generated

Why ❔

These steps were previously missing
We are hitting rate limit issues and given CHANGELOG is auto generated we can ignore

Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[x] Documentation comments have been added / updated.
[x] Code has been formatted via zk fmt and zk lint.
[x] Spellcheck has been run via zk spellcheck.
[x] Linkcheck has been run via zk linkcheck.

@Deniallugo made requested changes but also added ignoring CHANGELOG.md links to link checker as we keep hitting rate limit and given CHANGELOG is auto generated I think we can ignore checking these links.


fix-escaping-booleans

Fixes https://github.com/solidjs/solid/issues/1443
Please review this PR since I'm not 100% confident about it.

Yeah we don't want to change the behavior of escaping. The problem is in the JSX transform I think. We should include the boolean logic in the escaping not outside.
Right now we get like:
_$ssr(_tmpl$, _$ssrHydrationKey(), !!_$escape(count()))

Instead of:
_$ssr(_tmpl$, _$ssrHydrationKey(), _$escape(!!count()))

I've submitted the fix to compilation. So this is not needed. Thanks though.


Ontology review

Two major questions that I think we've discussed at length and I don't think should be a surprise:

We had discussed that ontology URLs containing hashes were going to not be used -- what would be used in their place?

We had discussed that ontology URLs would be namespaced with http://caselaw.nationalarchives.gov.uk/def -- is that going to be the case?

And a few minor things that I saw whilst giving the ontology some close attention

We have caselaw:AdministrativeCourt but caselaw:Administrative_Appeals_Chamber with different casing -- also CommercialCourt, GeneralCourt.

appealedTo evokes feelings of referring to a court, but targets a judgment. (This might be overly nitpicky, and might be reasonable language. Not sure if appealedIn is better.)

JudgmentExpression appears to be completely disconnected from the graph, presumably connected by the FRBR ontology; is that correct?

Two major questions that I think we've discussed at length and I don't think should be a surprise:

We had discussed that ontology URLs containing hashes were going to not be used -- what would be used in their place?
We had discussed that ontology URLs would be namespaced with http://caselaw.nationalarchives.gov.uk/def -- is that going to be the case?

These points were resolved in https://github.com/nationalarchives/ds-caselaw-data-enrichment-service/pull/58

We have caselaw:AdministrativeCourt but caselaw:Administrative_Appeals_Chamber with different casing -- also CommercialCourt, GeneralCourt.

This issue was resolved in https://github.com/nationalarchives/ds-caselaw-data-enrichment-service/pull/124


CORE-414 - Incorrect Ban List Namespace

Closes CORE-414

:tada: This PR is included in version 4.14.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


net: in LookupHost, DNS resolves addresses with dot using search domain without it being specified in resolv.conf

Version: go version go1.11.6 linux/amd64, tested also on 1.10
Issue: *.local addresses are not sent to resolver set by /etc/resolv.conf
Background: Kuberneres clusters use cluster.local as default domain for their internal DNS service. So test code:
package main

import (
	"fmt"
	"net"
)

func main() {
	addr, err := net.LookupHost("bot.default.svc.cluster.local")
	fmt.Printf("%+v %s", addr, err)
}
$ go run 1.go
[<IP_ADDRESS>] %!s(<nil>)%

resolv.conf:
nameserver <IP_ADDRESS>
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5

request using system resolver:
$ dig +short @<IP_ADDRESS> qubebot.default.svc.cluster.local
<IP_ADDRESS>

@mikioh @bradfitz

Can you try Go 1.12 too?
But I'm not sure how to repro this myself. In your dig example, did you mean qubebot or bot?
Previously: #16739 but that looks old (Go 1.7-ish).

I kubectl exec'ed into a pod in a Kubernetes cluster and can't reproduce. Looks fine to me:
root@mon-655d77c679-wd5v8:/# cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local ward.fitzpat.com
nameserver <IP_ADDRESS>
options ndots:5
root@mon-655d77c679-wd5v8:/# dig +short @<IP_ADDRESS> mon.default.svc.cluster.local
<IP_ADDRESS>

root@mon-655d77c679-wd5v8:/# ping mon.default.svc.cluster.local
PING mon.default.svc.cluster.local (<IP_ADDRESS>) 56(84) bytes of data.
^C

root@mon-655d77c679-wd5v8:/# ./lookup mon.default.svc.cluster.local
[<IP_ADDRESS>]

root@mon-655d77c679-wd5v8:/# ./lookup mon
[<IP_ADDRESS>]

root@mon-655d77c679-wd5v8:/# GODEBUG=netdns=go+1 ./lookup mon
go package net: GODEBUG setting forcing use of Go's resolver
[<IP_ADDRESS>]

But I'm not sure how to repro this myself. In your dig example, did you mean qubebot or bot

qubebot was just name of app I've encountered it in, name doesn't matter as long as .local is here, you can just try test.local

Can you try Go 1.12 too?

Sure, debian package:
ᛯ /usr/lib/go-1.12/bin/go run /tmp/1.go
[<IP_ADDRESS>] %!s(<nil>)%
ᛯ cat /tmp/1.go
package main

import (
	"fmt"
	"net"
)

func main() {
	addr, err := net.LookupHost("test.local")
	fmt.Printf("%+v %s", addr, err)
}

and from webpage:
ᛯ /tmp/go/bin/go run /tmp/1.go
[<IP_ADDRESS>] %!s(<nil>)
ᛯ /tmp/go/bin/go version
go version go1.12.5 linux/amd64

in all cases tested for test.local domain.
Also, it only happens for LookupHost, LookupAddr is ok:
ᛯ cat /tmp/2.go
package main

import (
	"fmt"
	"net"
)

func main() {
	addr, err1 := net.LookupAddr("test.local")
	host, err2 := net.LookupHost("test.local")
	fmt.Printf("LookupAddr: %+v %s\n", addr, err1)
	fmt.Printf("LookupHost: %+v %s\n", host, err2)
}
ᛯ go run /tmp/2.go
LookupAddr: [] lookup test.local: unrecognized address
LookupHost: [<IP_ADDRESS>] %!s(<nil>)

Show the output of running with environment GODEBUG=netdns=2.
Also, what is your /etc/hosts and /etc/nsswitch.conf and /etc/resolv.conf?

-> ᛯ GODEBUG=netdns=2 /usr/lib/go-1.12/bin/go run /tmp/1.go
go package net: dynamic selection of DNS resolver
go package net: hostLookupOrder(test.local) = cgo
[<IP_ADDRESS>] %!s(<nil>)

tested with empty nsswitch (empty kubernetes container with static Go binary) and with
passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

did you ran my examples ? what do they return on your machine ?

Actually, here you go:
func TestLookupDotLocalDomain(t *testing.T) {
	host, err1 := LookupHost("nonexisting.host.local")
	if (len(host) > 0) {
		t.Errorf("nonexisting domain LookupHost returned host: %+v",host)
	}
	if err1 == nil {
		t.Errorf("nonexisting domain LookupHost should err out")
	}
	addr, err2 := LookupAddr("nonexisting.host.local")
	if (len(addr) > 0) {
		t.Errorf("nonexisting domain LookupAddr returned addr: %+v",addr)
	}
	if err2 == nil {
		t.Error("nonexisting domain LookupAddr should err out")
	}
}

paste it into golang's net package test suite (probably should belong to lookup_test.go) and run it

Ok, I think I found the problem:
Looking at pcaps of DNS traffic :
System resolver asks for test.local. It stops there because there is a dot in the name.
Go asks for test.local then asks for test.local + search domain (say test.local.example.com)
the difference is that system resolver only adds search domain if domain does not contain a dot. the ndots setting of resolv.conf controls that (from man resolv.conf):

Resolver queries having fewer than ndots dots (default is 1) in them will be attempted using each component of  the search path in turn until a match is found.

so default only uses search domains if there is no dot in name, while Go disregards that and queries search domains regardless of what is in the name
And the reason it happens on my setup is because one of my predecessors added CNAME *.local.example.com -> local.example.com (for some goddamn reason...) and A local.example.com <IP_ADDRESS> which means when I tried to resolve any.name.dot.local it resolved to <IP_ADDRESS>...
Here is a pcap with the problem:
go.pcap.gz
domain somedomain.com
search somedomain.com
nameserver <IP_ADDRESS>

go package net: hostLookupOrder(test.local) = cgo

Indicates that this is the system resolver.
The dig man page says

+search, +nosearch
This option uses [or does not use] the search list defined by the searchlist or domain directive in resolv.conf, if any. The search list is not used by default.

It would appear that there is no bug, only a misconfigured environment.

Well, after re-checking the behaviour is not the same as dig/host but consistent with how Perl/Python resolves it
with resolv.conf being
search test.example.com example.com

Here is a tcpdump from Go requesting host.test:

and here is from what host host.test  do:

lastly dig +short +search host.test

But perl -e 'gethostbyname("host.test") (and Python equivalent) is consistent with Go:

I'm not sure why but if that is a bug somewhere it's in dig I guess ?


Split non-generic parts of HtmlHelpers into non-generic HtmlHelpers base class

pull request for feature https://github.com/NancyFx/Nancy/issues/2073

I like this! :heart: Thanks, @mikle111!


[SPARK-43620][CONNECT][PS] Fix Pandas APIs depends on unsupported features

What changes were proposed in this pull request?
This PR proposes to fix the Pandas APIs that have dependency on unsupported PySpark features.
Why are the changes needed?
To increate the API coverage for Pandas API on Spark with Spark Connect.
Does this PR introduce any user-facing change?
Pandas data type APIs such as astype and factorize are supported on Spark Connect.
How was this patch tested?
Enabling the existing tests.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @HyukjinKwon @zhengruifeng

Gentle reminder @HyukjinKwon @zhengruifeng just so we don't forget

Merged to master.


Slow

[Violation] 'input' handler took 474ms

It takes almost half a second to split a string...

Not in my experience; got a test case?
On Mon, Jun 11, 2018 at 7:11 PM, LoganDark<EMAIL_ADDRESS>wrote:

[Violation] 'input' handler took 474ms
It takes almost half a second to split a string...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/punkave/split-html/issues/4, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB9ffrXY1KIt6pTd3466TFmDF0ZktgCks5t7vk6gaJpZM4UjiSU
.

--
THOMAS BOUTELL, CHIEF SOFTWARE ARCHITECT
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

It's running in the browser, and is modified a bit to use cheerio instead of jQuery, so no.

OK, feel free to reopen if there's something here that can be tested... just doing housekeeping.


wildcard in JSON format

I don't know if I do something wrong, but I can't have a wildcard working as soon as it is in json format.
I tried with the exemple given in the doc (and corrected the ' after Van Goth into ") but when I refresh wildcards, nothing appears in the list. No clothing, nor artists, nor anything with the filename (called it main.json).
I wanted to try json to test if the if/else/then was working with wildcards.
{
	"clothing": [
		"T-shirt",
		"Pants",
		"Shoes"
	],
	"artists": {
		"finnish": [
			"Akseli Gallen-Kallela",
			"Eero Järnefelt",
			"Helene Schjerfbeck"
		],
		"dutch": [
			"Piet Mondrian",
    			"Rembrandt van Rijn",
    			"Vincent van Gogh"
		]
	}
}

Thank you for your time !

Do you see the entries appear in the Wildcards Manager tab?

Do you see the entries appear in the Wildcards Manager tab?

when I refresh wildcards, nothing appears in the list. No clothing, nor artists, nor anything with the filename (called it main.json).

I also check the file on an online json-validator without issues.

when I refresh wildcards, nothing appears in the list. No clothing, nor artists, nor anything with the filename (called it main.json).

Then I'd say the file is not found.

I've searched in the discussions and it seems nobody ever tried json format or speak about it anyway. Are we even sure it's working or....

I copied the JSON from your post, pasted it into a file,
$ pbpaste > extensions/sd-dynamic-prompts/wildcards/issue619.json

and the wildcards are correctly populated:

That's very strange. Don't know why it's not opening json files on my config then. :(

Well... I give up json. Not working with my config. There is no point trying more. Not sure what to do with the issue though.
Stil unresolved, but since I don't know anybody who could try with vlado repo+amd, I'm stucked.

Just to make sure, you are putting the JSON in the extension's wildcard directory? Are there any errors in the console?

Yeah... same place as my other wilcards files. No errors concerning DynaPrompts.
Some for dynamic thresholding and script/hook.py.
But nothing I can fix manually. These errors come and go as upgrades come. I could try to updrage again. But it never worked anyway. Even with 0 errors.

same thing to me , can't see any .json file in that directory.  Did some research on the net to check if there was a special way of using this .json file but didn't find anything

.json or .yaml to .txt
Well they all uses different syntaxes though. If your yaml isn't valid, it won't show.


I made a mistake in the name and can't find the edit button

I accidentally wrote Block Hologramms instead of Block Holograms

Unfortunately renaming a plugin is currently not possible.

See https://github.com/Bastian/bStats/issues/154


Add missing build to mixin and QOL image pull policy builder

Pull Request Checklist

[x] Fixes #797
[ ] Tests added
[ ] Documentation/examples added
[x] Good commit messages and/or PR title

The build call is missing when building the user container. This PR adds it

@flaviuvadan can we add a test to confirm this works?

@samj1912 added, ready for review whenever


Fix flapper test

Need to keep an eye on on('connect'). Changing to see if we see pub/sub permission test fail again.

Coverage remained the same at 94.836% when pulling 2208879c0222f1f8e7cf5dbe93ca47e67d097171 on auth-perm-test into c008bd49152555a39231162766cd0ffcaa2c4b8e on master.


Azure Data Factory V2 - UnexpectedDatasetSchema

Hello,
I am trying to setup data warehouse on azure. while creating data set for source and destination, copy data template giving error as:
Operation name
Write Datasets
Error code
UnexpectedDatasetSchema
Message
Dataset 'DestinationDataset_7rq' cannot have both structure and schema.
I am copying some 150 around tables, in which some are exact structure and some are by selected columns only.
Any idea?

@avi2183 Thank you for reaching out and bringing this to our notice. Is there a specific document which you are following and facing this error issue? If so could you please provide the document link, to assist better on the query.

@avi2183 We will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.
If you are referring to a specific used case scenario and not directly related to document content, we request you to please post your question on "MSDN - Azure Data Factory" and other forums (Stackoverflow - Azure Data Factory). We have our engineers and others who are monitoring them and will be happy to help.
If you have a document which you are following and if you think it needs an update, please let us know about that here.
Thank you.


Debugging broken on MacOS Catalina

Environment data

VS Code version: 2020.8.101144
Extension version (available under the Extensions sidebar): 2020.8.101144
OS and version: MacOS 10.15.6
Python version (& distribution if applicable, e.g. Anaconda): ANY
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: ALL
Relevant/affected Python-related VS Code extensions and their versions: -
Value of the python.languageServer setting: XXX

[NOTE: If you suspect that your issue is related to the Microsoft Python Language Server (python.languageServer: 'Microsoft'), please download our new language server Pylance from the VS Code marketplace to see if that fixes your issue]
Expected behaviour
Debugging start and I'm able to step through pause etc.
Actual behaviour
After starting debugging debugger just hangs there, when debugging is stopped timeout appears in bottom right.
Steps to reproduce:
Start any debug session of python

related #13433


Update static.js to allow for serving static files that do not use the route as a path

When using restify moving from express, I found sending a static file of which I knew the direct path to difficult when I was trying to map a route to it which did not contain the filename in it.
For example in express:
app.get('/cool', function (req, res) {
res.sendFile("../public/coolindex.html");
}
the proposed change:
By sending a "file" option now with the serveStatic call you can serve a file which does not have its' filename present in the req.path there by mapping routes to static files.
Example usage:
app.get('/logins',
restify.serveStatic({
directory: './public',
file: 'login.html'
})
);

Hi, thanks for doing this. Could you please add a test for this? Prefix the test name with 'gh #719'. Also, please run a make prepush to ensure the linter and styler checks pass.

@Wavewash This change looks fairly small. Could you provide a quick test case to validate the feature?


Improve test coverage of set_capability_offsets

Describe the feature
https://github.com/paradigmxyz/reth/blob/ebd686a40742ad983fb0d3516adc7ba95b6744e4/crates/net/eth-wire/src/p2pstream.rs#L496-L499
not sure if applicable here, but there is HashSet::intersection
Additional context
No response

@akirillo PTAL at this!
@mattsse @Rjected do we have some test vectors we could use here?

looking into this, taking some time to gather context on capabilities / offsets & the implementation here

@Rjected do we have some test vectors we could use here? I would also be open to a complete rewrite of the function

There are some geth test vectors for testing matchProtocols, which sets message ID offsets like we do here.
The current implementation also only supports a single capability, because we only support eth and are compatible with both eth/66 and eth/67. We should be implementing message id multiplexing from the devp2p spec

The current implementation of p2p streams only supports a single capability, because we only support eth and are compatible with both eth/66 and eth/67. We should be implementing message id multiplexing from the devp2p spec

Can open an issue for this 👍

^ ref #791


TFs not publishing when using namespace in simulation ROS2-humble

Please provide the following information:

OS: Ubuntu22.04
ROS Distro: Humble
Built from source or installed: Installed.
Package version: Version: 1.0.0-1jammy.20230626.191243 (ros-humble-turtlebot4-simulator)
Build in a docker (I can share the Dockerfile if needed, but I think it is unrelated to running in a docker.)

Expected behaviour
When I launch:
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py nav2:=true slam:=false localization:=true rviz:=true
and start the simulation everything works fine and I can use any tutorial node, subsequently when I run the
ros2 run tf2_tools view_frames
I get i nice big TF tree as expected.
tf_frames_no_namespace.pdf
Actual behaviour
However when I  add a namespace as described in the manual https://turtlebot.github.io/turtlebot4-user-manual/tutorials/multiple_robots.html :
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py namespace:=/robot1 nav2:=true slam:=false localization:=true rviz:=true
and run the simulation I cannot run the tutorial nodes anymore (using the correct namespace.) Looking at the nodes
ros2 topic list
Everything looks good, with the right namespaces. However, running:
ros2 run tf2_tools view_frames
Does not show anything
tf_frames_namespace.pdf
Although I would expect this command to show all tfs. I also tried it with:
 ros2 run tf2_tools view_frames --ros-args -r __ns:=/robot1
With similar result.
I am not sure If I overlooked anything.
To Reproduce
Terminal 1:  (Source to ros install setup.bash)
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py namespace:=/robot1 nav2:=true slam:=false localization:=true rviz:=true
Terminal 2: (Source to ros install setup.bash)
ros2 run tf2_tools view_frames
Should create a pdf with no frames.

Hello, in order to view the namespaced frames using the tf2_tools package, try the following command:
ros2 run tf2_tools view_frames --ros-args -r __ns:=/robot1 -r /tf:=tf -r /tf_static:=tf_static

If this fixes your issue please close the ticket, if not please share additional information about any remaining issues.

Hi!
Yes this command actually shows the tf tree I was expecting.  However, it seems I can still not perform any Python tutorials when using the namespace.
Should I continue here or create another issue?
Expected behaviour
When I launch the simulation without namespacing:
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py nav2:=true slam:=false localization:=true rviz:=true
And start it and run, for example, the patrol_loop node:
ros2 run turtlebot4_python_tutorials patrol_loop
It works as expected.
Actual behaviour
When I add the namespacing:
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py namespace:=/robot1 nav2:=true slam:=false localization:=true rviz:=true
Start the simulation and run
ros2 run turtlebot4_python_tutorials patrol_loop --ros-args -r __ns:=/robot1
Does not work.
Possible Issue
Now that I could have a look at the TF tree I noticed the TF from /robot1/odom to /robot1/base-link is missing:

Maybe that is causing the navigation stack to malfunction?  (Likely since there is no link now between the odom and the lidar?)
Morever it seems to be 2 base_links now, one with the namespace and one without.
However, I am not sure how to fix it. I suppose just broadcasting a transformation is wrong since this transformation should come from the navigation stack.
Cheers,
Yuri

Hi Yuri,
There seems to be an issue with how the namespace is passed through. In the meantime as a work around, can you try launching nav and localization in their own terminals and remove the / from the beginning of the namespace as shown below:
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py namespace:=robot1 rviz:=true
ros2 launch turtlebot4_navigation nav2.launch.py namespace:=robot1
ros2 launch turtlebot4_navigation localization.launch.py namespace:=robot1
Then go ahead and launch the tutorial as you had indicated
ros2 run turtlebot4_python_tutorials patrol_loop --ros-args -r __ns:=/robot1

Hi,
I tried this, but the result is the same. The TF tree is disconnected between the robot1/odom and robot1/base_link
The nav2.launch.py actually gives this now as a visible error:
[controller_server-1] [INFO] [1690360403.166904785] [robot1.local_costmap.local_costmap]: Timed out waiting for transform from base_link to odom to become available, tf error: Could not find a connection between 'odom' and 'base_link' because they are not part of the same tree.Tf has two or more unconnected trees.
So I assume the issue is within the launch file of the turtlebot4_ignition.launch .
Cheers,
Yuri

Hi Yuri,
Are you pressing play on gazebo? I expect for odom to be disconnected until the system launches completely (following pressing play). I am unable to replicate the issue you are seeing.
Please run ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py namespace:=robot1, press play in gazebo and give it a second, then check the tf tree and share the full terminal output.

Hi!
I apologize must have forgotten to start the simulation since the work around works now.
Thanks for the support!
Cheers,
Yuri

Hi!
I apologize must have forgotten to start the simulation since the work around works now.
Thanks for the support!
Cheers,
Yuri

Hello, I have exactly the same issue with y2d2 and I did everything you mentioned above, but the issue still exists. I would like to visualize the turtlebot4 lite in a web interface and I am using this project: https://github.com/MoffKalast/vizanti/tree/ros2 because I can't visualize it using rviz web in ROS2. When I use namespace the map doesn't show up in the vizanti project, but when I remove the namespace the map shows up. How could I solve this issue ?

@dkavroulakis The turtlebot TF is namespaced. You will need to either reach out on that project for support on how to launch the visualizer for a namespaced TF or republish the TF from the namespaced topic to a non-namespaced topic.


Feature Request: @time_trigger('shutdown')

Methods decorated with @time_trigger('shutdown') should be run:

When Home Assistant is shutting down
Any time a script/app is reloaded (either all shutdown methods, or those in a specific global context if reload is called with one)
When implemented, if #74 detects a deleted or commented out file, it should run shutdown for that global context before unloading the script.
Basically, any time the methods in that context will either not be loaded again or if the next step is to run startup again.

Use Case:
This is mostly for cleanup tasks.
If there is a script that, say, counts the number of lights on and reports it in pyscript.lights_on_count, the shutdown function could send "unavailable" as the state letting the rest of the system know that this sensor is no longer being updated.
Any method that doesn't execute and complete immediately could be cleaned up with this. For instance:
@time_trigger('startup')
def counter():
  task.unique('counter')
  cnt = 0
  while True:
    log.info(cnt)
    task.sleep(1)

Even if this method is commented out and reload is called, the script continues to count. A shutdown like this:
@time_trigger('shutdown')
def stop_counter():
  task.unique('counter')
  log.info('stopping counter')

would be able to stop the counter if this was desired.
If an async connection is made to another server, that connection could be closed.

Sounds like a good idea.  But I need to think about whether there are any race conditions with triggering functions just as their global contexts and trigger tasks are being destroyed.

Yeah... there are lots of things to consider and it can get messy. It also digs around in the decorator code of pyscript which is why I haven't attempted a PR.
Another thing to consider is a poorly written shutdown function. What if there is an exception during shutdown? What if shutdown has an endless while loop? I think a timeout needs to implemented and the task should be cancelled if it takes longer. If you want to get really crazy @time_trigger('shutdown(30)') could mean, this shutdown function needs 30 seconds to complete.
I think safest way would be to wait for all shutdown tasks to complete (or be cancelled), then proceed as it does now by destroying global contexts and trigger tasks, and then performing the reload and the usual startup tasks. This means shutdown tasks can make a reload much slower, which is expected. But, because it's now possibly slower, we need to consider what happens if we get a ANOTHER reload request (by service call, or automatically if #74 is implemented) while shutdown/startup is still running.
If it helps any, this very basic test seems to work. I can comment these lines out of the file and reload and the counter stops.
@time_trigger('startup')
def counter():
    task.unique('counter')
    cnt = 0
    while True:
        cnt = cnt + 1
        log.info(cnt)
        task.sleep(1)

@event_trigger('call_service', 'domain == "pyscript" and service == "reload" and service_data["global_ctx"] == "file.test"')
def reload_called():
    log.info('reload')
    task.unique('counter')

This ALMOST works:
@time_trigger('startup')
def byebye():
    task.unique('shutdown')
    mytask = asyncio.current_task()
    mytask.add_done_callback(log.info)
    while True:
        task.sleep(1)
        log.info('waiting for shutdown')

The issue is that add_done_callback requires a non-async callable. And EvalFuncVarAstCtx produces an async callable. log.info specifically works because it is not async, but any user defined method would actually be a EvalFuncVarAstCtx.

I just pushed an initial implementation. I haven't added tests or docs yet so it's only minimally tested.
One issue is that kwargs for startup is:
{'trigger_type': 'time', 'trigger_time': None}

while kwargs for shutdown is:
{'trigger_type': 'shutdown', 'trigger_time': None}

For consistency it would best to change trigger_type to startup, but that's a breaking change.

excellent. I'll test this this morning as well.
As far as breaking changes go, I don't think that one will affect too many people. I use time_trigger and state_trigger together on MANY functions and it won't break any of mine. There's not an easy way to slowly deprecate it either, since it's an output. You could announce in the next release that it will be changing so people can alter their code to accept either. Then in the release after that make the change and people can delete the "old" code.

All of my simple tests have worked perfectly. This includes shutdown functions in scripts and apps, as well as multiple @time_trigger('shutdown') functions in the same file.
I even tested putting a shutdown trigger in a module (though I have no real use for this currently) and it worked perfectly. The shutdown function ran every time the module was reloaded. But, if no scripts were actually using the module, then, since it was never actually loaded, the shutdown function didn't run.
I have several apps that have workaround code to deal with needing but not having a shutdown trigger. I'll modify those later today. But, based on these tests, it will work as expected.

It looks like the two choices are to either change the startup kwargs to:
{'trigger_type': 'startup', 'trigger_time': None}

which would be a (minor) breaking change, or to add another parameter to both, eg:
{'trigger_type': 'time', 'sub_trigger': 'startup', 'trigger_time': None}
{'trigger_type': 'time', 'sub_trigger': 'shutdown', 'trigger_time': None}

The former is cleaner and better, but not backward compatible.  I agree it's unlikely to trip up many people, since I would assume they just check trigger_time is None to detect startup, in the rare cases there is a startup function that also triggers at other times.
Preference?
(Actually, with the benefit of hindsight, startup and shutdown should really be event triggers, not time triggers.  Oh well.)

pyscript is still young. I think we go for cleaner and better. and if you think event triggers make more sense (I can agree with arguments for either) then you may as well do that now too so it's all in the same "breaking change".
The only issue I see with using event_trigger, is right now, @event_trigger('EVENT_NAME_HERE) means that we can expect to see a Home Assistant event of "EVENT_NAME_HERE". Introducing a non-home-assistant event isn't likely a breaking change on its own, but it's a departure from current expectations of the decorator. @time_trigger is currently only operating on pyscript specific strings (startup, once(blah,blah), period(blah,blah), etc), and both "startup" and "shutdown" are "times" in the same way that "sunset" is a time (always changing, but still, a specific time "event").
pyscript COULD actually fire events for all startup and shutdown actions (which I'm sure someone would find useful), but, even then, the startup and shutdowns are specific to each global_ctx due to all of the smart reloading. So, that event should have global_ctx=whatever as a data element and, strictly speaking, the event trigger should also specify that same global_ctx as an expression (@event_trigger('pyscipt.startup', f"global_ctx == '{__name__}'")), which is a lot messier than @time_trigger('startup').

One more thing to add, since this is a time_trigger, having a trigger type of time really makes sense, which leads to a slight preference for the latter (with sub_trigger).
A third option, which would still be "breaking" but maybe cleanest of all would be:
{'trigger_type': 'time', 'trigger_time': 'startup'}
{'trigger_type': 'time', 'trigger_time': 'shutdown'}

I like your last one the best, so that's what I just pushed, together with docs and tests.


Add border for section items

on iOS, each section item is separated by a silver-colored border, and you can turn it off or change its color by specifying the border attribute on $jason.body.style. On Android, that hasn't been implemented, making all items unclickable.
{
  "$jason": {
    "body": {
      "style": {
        "border": "none"
      }
    }
  }
}

Documentation here: https://jasonette.github.io/documentation/document/#border

Added with https://github.com/Jasonette/JASONETTE-Android/commit/816496fd855a12f119f90fef8acbd877b71a3ec2


[Feature Request]: Interrupt if 2 or more enemies Interruptable

Would it be possible to add such condition so i can prioritize AOE interrupt spells over single target interrupt spells if 2 or more enemies around(in range) me are casting at the same time and are Interruptable.

Making such a condtition is surely possible. I'll be looking into it.

added in DEV:  https://github.com/MrTheSoulz/NerdPack/commit/ec4aa3bdeef167395f18e3c2977c5d6e60215980


FF 310

Coverage decreased (-0.3%) to 29.329% when pulling 962deb3c26468ced99d6184e5869c5c2a610c2da on FF-310 into c839a46ffadcab0bedac52593e5232ce080d5395 on master.

Coverage decreased (-1.2%) to 28.426% when pulling 3ab7b023012e339b27bc831663daf999220a9225 on FF-310 into c839a46ffadcab0bedac52593e5232ce080d5395 on master.

Coverage decreased (-0.2%) to 28.331% when pulling 81485f760766158cb28c9955db07927ffcb3932a on FF-310 into 28d6d143863441f64efc1f60bb81b4205d92d5bb on master.


fix path to SCHEMA_DIR, bump ver

Related to https://github.com/GenieFramework/SwaggerMarkdown.jl/issues/8

thank you!!

Thatnks, great!
Please, register v0.2.2 to make it available for adding using Pkg.


Feature/line numbers 317 tools

Line numbers on Tool's Descriptor and Dockerfile tab are added.

[x] Check that you pass the basic compilation and unit tests by running grunt

Coverage decreased (-0.3%) to 8.666% when pulling 84b90753550f952e1b7b864fb87cbefbf3eadc48 on feature/line_numbers_317_tools into dfb64c4a4bc4814189ccc2681e5a3307c98f31ff on develop.

Coverage decreased (-0.3%) to 8.666% when pulling 764a21409a41d856cd43ef1c3d26caf4eda80c60 on feature/line_numbers_317_tools into 0f5eb3b20f96b7ebb8e84f77d40e169bbe99ca18 on develop.

Coverage decreased (-0.3%) to 8.666% when pulling 4e50ec5d931ba753587aa1fb7af8e641403a97af on feature/line_numbers_317_tools into 99cfecfbe83b98456e1b9a82316a23590a025a89 on develop.


Test: CoreDNS using only one replicaset

A few builds has problems with DNS, where we wait until the service is
ready but after that pod can't resolve.
With this change we make sure that only one pod is in there to avoid
false negatives
Related to #4977
Signed-off-by: Eloy Coto<EMAIL_ADDRESS>

This change is

test-me-please


This feature is not working on Macbooks M1s

I'm using pipx to install Semgrep, and pipx is not finding the ARM64 compatible binary. So we need to fix this so this feature works on both AMD64 and ARM64

Related issue https://github.com/returntocorp/semgrep/issues/2252

So, apparently there is a MacOS binary, but since devcontainers run on Linux containers, there is no Linux/ARM64 binary yet, which means this feature won't work for MacOS users with Apple Silicon for now...

@sonikro we now publish an aarch64 wheel of Semgrep, so you should be unblocked