run byoh-hostagent-linux-amd64 as root -> Unauthorized

What steps did you take and what happened:
I am trying to add my VM's to byoh and if I run the  byoh-hostagent-linux-amd64 command as a non-root user it works and then kubeadm bootstrap complains that it is an unprivileged user.
However running  byoh-hostagent-linux-amd64 as root  gives me Unauthorized error
I am running byoh-hostagent-linux-amd64 with --skip-installation as I am running on Debian servers.
What did you expect to happen:
That the node is registered as it is with the non-root user.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

Cluster-api-provider-bringyourownhost version:  v0.3.1
Kubernetes version: (use kubectl version --short): .1.25.3
OS (e.g. from /etc/os-release): Debian 11

Hi @knfoo, Is it possible to provide the error output you are getting while running the agent with root user?

@dharmjit
When running as root:
I0127 20:02:41.278012  596590 main.go:230]  "msg"="initiated bootstrap kubeconfig flow"
I0127 20:02:41.279589  596590 loader.go:372] Config loaded from file:  /home/kn/bootstrap-kubeconfig.conf
I0127 20:02:41.281950  596590 csr.go:120]  "msg"="certTimeToExpire" "duration"=31536000000000000
I0127 20:02:41.282601  596590 request.go:1073] Request Body: {"kind":"CertificateSigningRequest","apiVersion":"certificates.k8s.io/v1","metadata":{"name":"byoh-csr-test-k8s01","creationTimestamp":null},"spec":{"request":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlIdk1JR1dBZ0VBTURReEV6QVJCZ05WQkFvVENtSjViMmc2YUc5emRITXhIVEFiQmdOVkJBTVRGR0o1YjJnNgphRzl6ZERwMFpYTjBMV3M0Y3pBeE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVBoODkyRlQ0CkF1b2toQW5zZ25wUENTWW1EdzhQeU5kSXZvSjNhUXdtSXB0eC9pUVpVVnVjZFZyczBWbFdjK1Joc2pMRmc2R3kKaXF0cnlOSHgzUUZpeUtBQU1Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lEdldrL1dkTTFqSUJXQW1YQnUvYW9iZQp1cnJ4ZnBUbGdGT083K0tMWjhkd0FpRUF1TWJKdkd1K3NrZHczcUlPY0dUMUcvSENEV2I1M0VmL3JkVVpibFpLCjJpdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==","signerName":"kubernetes.io/kube-apiserver-client","expirationSeconds":31536000,"usages":["client auth"]},"status":{}}
I0127 20:02:41.282878  596590 round_trippers.go:466] curl -v -XPOST  -H "Authorization: Bearer <masked>" -H "Accept: application/json, */*" -H "Content-Type: application/json" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis/certificates.k8s.io/v1/certificatesigningrequests'
I0127 20:02:41.283784  596590 round_trippers.go:510] HTTP Trace: Dial to tcp:<IP_ADDRESS>:6443 succeed
I0127 20:02:41.291814  596590 round_trippers.go:553] POST https://<IP_ADDRESS>:6443/apis/certificates.k8s.io/v1/certificatesigningrequests 401 Unauthorized in 8 milliseconds
I0127 20:02:41.291865  596590 round_trippers.go:570] HTTP Statistics: DNSLookup 0 ms Dial 0 ms TLSHandshake 5 ms ServerProcessing 1 ms Duration 8 ms
I0127 20:02:41.291892  596590 round_trippers.go:577] Response Headers:
I0127 20:02:41.291917  596590 round_trippers.go:580]     Content-Length: 129
I0127 20:02:41.291944  596590 round_trippers.go:580]     Date: Fri, 27 Jan 2023 20:02:41 GMT
I0127 20:02:41.291966  596590 round_trippers.go:580]     Audit-Id: cb7b1b84-5de0-4dda-af0e-896a292be80b
I0127 20:02:41.291990  596590 round_trippers.go:580]     Cache-Control: no-cache, private
I0127 20:02:41.292011  596590 round_trippers.go:580]     Content-Type: application/json
I0127 20:02:41.292148  596590 request.go:1073] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Unauthorized","reason":"Unauthorized","code":401}
E0127 20:02:41.292699  596590 csr.go:129]  "msg"="in request certificate" "error"="cannot create certificate signing request: Unauthorized"
E0127 20:02:41.292757  596590 main.go:161]  "msg"="bootstrap flow failed" "error"="kubeconfig generation failed: cannot create certificate signing request: Unauthorized"

Running as a non-root user:
kn@test-k8s01:~$ ./byoh-hostagent-linux-amd64 --skip-installation --v 9 --bootstrap-kubeconfig /home/kn/bootstrap-kubeconfig.conf
I0127 20:04:02.300421  596652 loader.go:372] Config loaded from file:  /home/kn/.byoh/config
I0127 20:04:02.302069  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/api?timeout=32s'
I0127 20:04:02.303200  596652 round_trippers.go:510] HTTP Trace: Dial to tcp:<IP_ADDRESS>:6443 succeed
I0127 20:04:02.311673  596652 round_trippers.go:553] GET https://<IP_ADDRESS>:6443/api?timeout=32s 200 OK in 9 milliseconds
I0127 20:04:02.311729  596652 round_trippers.go:570] HTTP Statistics: DNSLookup 0 ms Dial 0 ms TLSHandshake 5 ms ServerProcessing 2 ms Duration 9 ms
I0127 20:04:02.311748  596652 round_trippers.go:577] Response Headers:
I0127 20:04:02.311815  596652 round_trippers.go:580]     Audit-Id: 89ec4da5-26bc-4e42-8e11-9c2a212cc96f
I0127 20:04:02.311844  596652 round_trippers.go:580]     Cache-Control: no-cache, private
I0127 20:04:02.311865  596652 round_trippers.go:580]     Content-Type: application/json
I0127 20:04:02.311891  596652 round_trippers.go:580]     X-Kubernetes-Pf-Flowschema-Uid: 567a3f5e-623f-474c-bf1f-6a734eddfac5
I0127 20:04:02.311920  596652 round_trippers.go:580]     X-Kubernetes-Pf-Prioritylevel-Uid: 525684a4-11cd-439b-83de-a9bd066c3f2e
I0127 20:04:02.311937  596652 round_trippers.go:580]     Content-Length: 133
I0127 20:04:02.311963  596652 round_trippers.go:580]     Date: Fri, 27 Jan 2023 20:04:02 GMT
I0127 20:04:02.312132  596652 request.go:1073] Response Body: {"kind":"APIVersions","versions":["v1"],"serverAddressByClientCIDRs":[{"clientCIDR":"<IP_ADDRESS>/0","serverAddress":"<IP_ADDRESS>:6443"}]}
I0127 20:04:02.312521  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis?timeout=32s'
I0127 20:04:02.314854  596652 round_trippers.go:553] GET https://<IP_ADDRESS>:6443/apis?timeout=32s 200 OK in 2 milliseconds
I0127 20:04:02.314888  596652 round_trippers.go:570] HTTP Statistics: GetConnection 0 ms ServerProcessing 1 ms Duration 2 ms
I0127 20:04:02.314900  596652 round_trippers.go:577] Response Headers:
I0127 20:04:02.314924  596652 round_trippers.go:580]     Cache-Control: no-cache, private
I0127 20:04:02.314937  596652 round_trippers.go:580]     Content-Type: application/json
I0127 20:04:02.314962  596652 round_trippers.go:580]     X-Kubernetes-Pf-Flowschema-Uid: 567a3f5e-623f-474c-bf1f-6a734eddfac5
I0127 20:04:02.314973  596652 round_trippers.go:580]     X-Kubernetes-Pf-Prioritylevel-Uid: 525684a4-11cd-439b-83de-a9bd066c3f2e
I0127 20:04:02.315002  596652 round_trippers.go:580]     Date: Fri, 27 Jan 2023 20:04:02 GMT
I0127 20:04:02.315013  596652 round_trippers.go:580]     Audit-Id: 35c376ea-f2de-44e9-b349-42efa18fb22c
I0127 20:04:02.315209  596652 request.go:1073] Response Body: {"kind":"APIGroupList","apiVersion":"v1","groups":[{"name":"apiregistration.k8s.io","versions":[{"groupVersion":"apiregistration.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"apiregistration.k8s.io/v1","version":"v1"}},{"name":"apps","versions":[{"groupVersion":"apps/v1","version":"v1"}],"preferredVersion":{"groupVersion":"apps/v1","version":"v1"}},{"name":"events.k8s.io","versions":[{"groupVersion":"events.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"events.k8s.io/v1","version":"v1"}},{"name":"authentication.k8s.io","versions":[{"groupVersion":"authentication.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"authentication.k8s.io/v1","version":"v1"}},{"name":"authorization.k8s.io","versions":[{"groupVersion":"authorization.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"authorization.k8s.io/v1","version":"v1"}},{"name":"autoscaling","versions":[{"groupVersion":"autoscaling/v2","version":"v2"},{"groupVersion":"autoscaling/v1","version":"v1"},{"groupVersion":"autoscaling/v2beta2","version":"v2beta2"}],"preferredVersion":{"groupVersion":"autoscaling/v2","version":"v2"}},{"name":"batch","versions":[{"groupVersion":"batch/v1","version":"v1"}],"preferredVersion":{"groupVersion":"batch/v1","version":"v1"}},{"name":"certificates.k8s.io","versions":[{"groupVersion":"certificates.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"certificates.k8s.io/v1","version":"v1"}},{"name":"networking.k8s.io","versions":[{"groupVersion":"networking.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"networking.k8s.io/v1","version":"v1"}},{"name":"policy","versions":[{"groupVersion":"policy/v1","version":"v1"}],"preferredVersion":{"groupVersion":"policy/v1","version":"v1"}},{"name":"rbac.authorization.k8s.io","versions":[{"groupVersion":"rbac.authorization.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"rbac.authorization.k8s.io/v1","version":"v1"}},{"name":"storage.k8s.io","versions":[{"groupVersion":"storage.k8s.io/v1","version":"v1"},{"groupVersion":"storage.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"storage.k8s.io/v1","version":"v1"}},{"name":"admissionregistration.k8s.io","versions":[{"groupVersion":"admissionregistration.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"admissionregistration.k8s.io/v1","version":"v1"}},{"name":"apiextensions.k8s.io","versions":[{"groupVersion":"apiextensions.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"apiextensions.k8s.io/v1","version":"v1"}},{"name":"scheduling.k8s.io","versions":[{"groupVersion":"scheduling.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"scheduling.k8s.io/v1","version":"v1"}},{"name":"coordination.k8s.io","versions":[{"groupVersion":"coordination.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"coordination.k8s.io/v1","version":"v1"}},{"name":"node.k8s.io","versions":[{"groupVersion":"node.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"node.k8s.io/v1","version":"v1"}},{"name":"discovery.k8s.io","versions":[{"groupVersion":"discovery.k8s.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"discovery.k8s.io/v1","version":"v1"}},{"name":"flowcontrol.apiserver.k8s.io","versions":[{"groupVersion":"flowcontrol.apiserver.k8s.io/v1beta2","version":"v1beta2"},{"groupVersion":"flowcontrol.apiserver.k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"flowcontrol.apiserver.k8s.io/v1beta2","version":"v1beta2"}},{"name":"acme.cert-manager.io","versions":[{"groupVersion":"acme.cert-manager.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"acme.cert-manager.io/v1","version":"v1"}},{"name":"cert-manager.io","versions":[{"groupVersion":"cert-manager.io/v1","version":"v1"}],"preferredVersion":{"groupVersion":"cert-manager.io/v1","version":"v1"}},{"name":"ipam.cluster.x-k8s.io","versions":[{"groupVersion":"ipam.cluster.x-k8s.io/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"ipam.cluster.x-k8s.io/v1alpha1","version":"v1alpha1"}},{"name":"runtime.cluster.x-k8s.io","versions":[{"groupVersion":"runtime.cluster.x-k8s.io/v1alpha1","version":"v1alpha1"}],"preferredVersion":{"groupVersion":"runtime.cluster.x-k8s.io/v1alpha1","version":"v1alpha1"}},{"name":"addons.cluster.x-k8s.io","versions":[{"groupVersion":"addons.cluster.x-k8s.io/v1beta1","version":"v1beta1"},{"groupVersion":"addons.cluster.x-k8s.io/v1alpha4","version":"v1alpha4"},{"groupVersion":"addons.cluster.x-k8s.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"addons.cluster.x-k8s.io/v1beta1","version":"v1beta1"}},{"name":"bootstrap.cluster.x-k8s.io","versions":[{"groupVersion":"bootstrap.cluster.x-k8s.io/v1beta1","version":"v1beta1"},{"groupVersion":"bootstrap.cluster.x-k8s.io/v1alpha4","version":"v1alpha4"},{"groupVersion":"bootstrap.cluster.x-k8s.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"bootstrap.cluster.x-k8s.io/v1beta1","version":"v1beta1"}},{"name":"cluster.x-k8s.io","versions":[{"groupVersion":"cluster.x-k8s.io/v1beta1","version":"v1beta1"},{"groupVersion":"cluster.x-k8s.io/v1alpha4","version":"v1alpha4"},{"groupVersion":"cluster.x-k8s.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"cluster.x-k8s.io/v1beta1","version":"v1beta1"}},{"name":"clusterctl.cluster.x-k8s.io","versions":[{"groupVersion":"clusterctl.cluster.x-k8s.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"clusterctl.cluster.x-k8s.io/v1alpha3","version":"v1alpha3"}},{"name":"controlplane.cluster.x-k8s.io","versions":[{"groupVersion":"controlplane.cluster.x-k8s.io/v1beta1","version":"v1beta1"},{"groupVersion":"controlplane.cluster.x-k8s.io/v1alpha4","version":"v1alpha4"},{"groupVersion":"controlplane.cluster.x-k8s.io/v1alpha3","version":"v1alpha3"}],"preferredVersion":{"groupVersion":"controlplane.cluster.x-k8s.io/v1beta1","version":"v1beta1"}},{"name":"infrastructure.cluster.x-k8s.io","versions":[{"groupVersion":"infrastructure.cluster.x-k8s.io/v1beta1","version":"v1beta1"}],"preferredVersion":{"groupVersion":"infrastructure.cluster.x-k8s.io/v1beta1","version":"v1beta1"}}]}
I0127 20:04:02.316195  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis/authorization.k8s.io/v1?timeout=32s'
I0127 20:04:02.316271  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis/infrastructure.cluster.x-k8s.io/v1beta1?timeout=32s'
I0127 20:04:02.316489  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis/autoscaling/v2?timeout=32s'
I0127 20:04:02.316620  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/api/v1?timeout=32s'
I0127 20:04:02.316756  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis/autoscaling/v1?timeout=32s'
I0127 20:04:02.316776  596652 round_trippers.go:466] curl -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: byoh-hostagent-linux-amd64/v0.0.0 (linux/amd64) kubernetes/$Format" 'https://<IP_ADDRESS>:6443/apis/events.k8s.io/v1?timeout=32s'

As you can see I use the same bootstrap config for both root and none-root user and with the non-root user it works.

"msg"="in request certificate" "error"="cannot create certificate signing request: Unauthorized"

This error occurs when the bootstrap kubeconfig doesn't have the right permissions. I guess you have followed the steps documented here. The RBAC is defined in ClusterRoleBinding named byoh-csr-creator-clusterrole-binding. Could you check if this ClusterRoleBinding exists in your management cluster?

with the non-root user it works.

In the logs, you could see that it already finds kubeconfig in the /home/kn/.byoh/config. In this case, it skips the bootstrap kubeconfig flow.

@dharmjit thank you for pointing out what I missed in the logs I copied the config from /home/kn to /root and now it works :)
I ran into the next problem that maybe you can help with ?
when installing the cluster it never moves past the controlplane node...
kubectl get secret/byoh-cluster-kubeconfig -o json   | jq -r .data.value   | base64 --decode > kubeconfig.yaml
kn@test-k8s00:~$ KUBECONFIG=kubeconfig.yaml k get nodes
NAME         STATUS     ROLES           AGE     VERSION
test-k8s01   NotReady   control-plane   4m10s   v1.24.2

from the controler log:
I0202 05:14:57.684440       1 byomachine_controller.go:89] controller/byomachine "msg"="Reconcile request received" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:14:57.684860       1 byomachine_controller.go:191] controller/byomachine "msg"="Fetching an attached ByoHost" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:14:57.685456       1 byomachine_controller.go:208] controller/byomachine "msg"="Successfully fetched an attached Byohost" "byohost"="test-k8s01" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:14:57.685999       1 byomachine_controller.go:236] controller/byomachine "msg"="Reconciling ByoMachine" "cluster"="byoh-cluster" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:14:57.698403       1 byomachine_controller.go:455] controller/byomachine "msg"="Installer config is not ready, requeuing" "cluster"="byoh-cluster" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:15:07.699967       1 byomachine_controller.go:89] controller/byomachine "msg"="Reconcile request received" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:15:07.700374       1 byomachine_controller.go:191] controller/byomachine "msg"="Fetching an attached ByoHost" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:15:07.700542       1 byomachine_controller.go:208] controller/byomachine "msg"="Successfully fetched an attached Byohost" "byohost"="test-k8s01" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:15:07.700872       1 byomachine_controller.go:236] controller/byomachine "msg"="Reconciling ByoMachine" "cluster"="byoh-cluster" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"
I0202 05:15:07.716283       1 byomachine_controller.go:455] controller/byomachine "msg"="Installer config is not ready, requeuing" "cluster"="byoh-cluster" "name"="byoh-cluster-control-plane-c4k4z" "namespace"="default" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="ByoMachine"

Hi @knfoo, Have you figured this out? I guess you are creating 1 CP 1 worker node cluster. Can you share the agent logs for the host which is supposed to become the worker node?

@dharmjit thanks to that hint I found that there is a preflight error.
Feb 07 19:50:19 test-k8s03 byoh-hostagent-linux-amd64[1555859]:         [WARNING SystemVerification]: missing optional cgroups: blkio
Feb 07 19:50:19 test-k8s03 byoh-hostagent-linux-amd64[1555859]: error execution phase preflight: [preflight] Some fatal errors occurred:
Feb 07 19:50:19 test-k8s03 byoh-hostagent-linux-amd64[1555859]:         [ERROR SystemVerification]: failed to parse kernel config: unable to load kernel module: "configs", output: "modprobe: FATAL: Module configs not found in directory /lib/modules/5.10.0-20-amd64\n", err: exit status 1
Feb 07 19:50:19 test-k8s03 byoh-hostagent-linux-amd64[1555859]: [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

I tried to fix that by:

https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta2/ more specifically `ignorePreflightErrors` but but cluster-api versions installed with byoh is v1beta1

so I am kind of stuck on this new error

I got past that error and now I get by installing the linux-image package in my Xen VM's.

Kubeadm preflight checks are related to system/kernel configurations. I guess you are past that. Are you facing any other issues?

Yes I now have a running cluster :100:  thank you for all your help :+1:


Add analysis_type global param

PR checklist
This PR adds an --analysis_type global param that'll support the 1) resource consumption 2) possible module/tool differences between two of the possible arguments: [WES, WGS], with WGS being the default. The idea spawned when needing to set --model_type for deepvariant module.

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!

[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/raredisease branch on the nf-core/test-datasets repository.

[x] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

@projectoriented, is this PR ready for review?

@jemten Not yet 😓 . As of now, the pipeline works when using this parameter and addresses #2 but I need to integrate point #1. Do you think that should be addressed in this PR or in a near future one?


Automatic wrapping and force wrapping issues

Long descriptions are not being wrapped as expected.
When I use the --force-wrap option the entire docstring is properly wrapped but a Sphinx param is also wrapped which is undesirable.
Usage:

docformatter v1.4 inside PyCharm
invoked as an external tool with the following command line
docformatter --force-wrap --wrap-descriptions 72 --wrap-summaries 79 --in-place --range 1014 1019 myfile.py

Here's a screenshot of the before:

Here's a screenshot after running docformatter:

Note that the description was not line-wrapped.
Here's a screenshot after running docformatter with the --force-wrap option:

Note that the description was line-wrapped but the Sphinx param was also wrapped.

docformatter's goal is to reformat docstrings in accordance with PEP-257.  Sphinx directives are not really addressed by PEP-257.  That said, Sphinx directives are ubiquitous in docstrings and docformatter should handle them properly.  See also #78


UIFlow 2.0 beeps and reboots in a loop after installing

Just updated to the latest launcher and tried the UIFlow2.0 download on my M5Cardputer. It gets stuck in a boot-loop beeping and showing half a screen.
Here's the logs during installation before it goes into that:
[ 49296][I][sd_functions.cpp:538] performUpdate(): Update successfully completed.
[ 49346][I][sd_functions.cpp:712] performFATUpdate(): Start updating: vfs
[ 49353][I][sd_functions.cpp:714] performFATUpdate(): Erasing updating: vfs from: 6750208 with size: 524288
[ 49862][I][sd_functions.cpp:724] performFATUpdate(): Updating updating: vfs
[ 52320][I][sd_functions.cpp:740] performFATUpdate(): Success updating vfs
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x2b (SPI_FAST_FLASH_BOOT)
Saved PC:0x420f4356
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x518
load:0x403c9700,len:0xc08
load:0x403cc700,len:0x2a0c
entry 0x403c98dc
[boot] Turned on because (1= POWERON_RESET) (Other= Probably forced by launcher)--> 12
Terminal disconnected: NetworkError: The device has been lost.

I saw this version is only a few days old, but I haven't tried it before so no idea if this is a new issue or not.

You need to change the partition scheme to "UIFLOW2"
CFG -> Part Change -> UiFlow2
then it is supposed to work

Thanks! Worked for me.


Create scarletmail.rutgers.txt

Added Rutgers University's email extension. Example email<EMAIL_ADDRESS>Thank you!

@MazaArt lib/domains/edu/scarletmail.rutgers.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.


Fix problem in space in absolute path name.

Add " to make sure the pathname is not splitted as multiple arguments.
Use set -x to print out executing command. This allows "$(pwd)" inside the docker run command.
If desired, we can change this by only putting set -xe in the front of the script.

Fixed with other commits.


Julia 1.6 support?

Hello - this seems to work great for Julia 1.4 and 1.5 but not (yet) for Julia 1.6. I know the pre-compilation process has changed quite a lot in 1.6, and is now much faster, but being able to fully precompile (like your package does) would still be really useful for (eg) AWS Lambda containers. Do you have any plans to get this working with 1.6?

Yeah I'd like to get this working on Julia 1.6. Can you try it out on 1.6 and open bug reports if you run into issues?

Yes - earlier I implied it was not working at all for Julia 1.6, which was wrong. I've tried with a few test packages (HTTP.jl, JSON.jl) and it seems to work fine. It doesn't work with DataFrames.jl (more details below). Julia 1.6 seems to work with DataFrames.jl normally, so I presume that this is a bug in your package.
If I run the following script:
import SimpleContainerGenerator

mkpath("images")
cd("images")

pkgs = [
    (name = "DataFrames",),
]
julia_version = v"1.6.0"
SimpleContainerGenerator.create_dockerfile(pkgs;
                                           julia_version = julia_version,
                                           output_directory = pwd())

run(`docker build -t test/test .`)

Then I get quite a lot of warnings along with the following error output:
ERROR: LoadError: "Tests failed"
Stacktrace:
 [1] top-level scope
   @ /opt/simplecontainergenerator_containers/julia_depot/packages/DataFrame
s/3mEXm/test/runtests.jl:56
 [2] include(fname::String)
   @ Base.MainInclude ./client.jl:444
 [3] top-level scope
   @ none:6
in expression starting at /opt/simplecontainergenerator_containers/julia_dep
ot/packages/DataFrames/3mEXm/test/runtests.jl:55
ERROR: LoadError: Package DataFrames errored during testing
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /buildworker/worker/package_linux64/build/usr/share/julia/st
dlib/v1.6/Pkg/src/Types.jl:55
  [2] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; cove
rage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing)
    @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/jul
ia/stdlib/v1.6/Pkg/src/Operations.jl:1687
  [3] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; cove
rage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, kwargs::Base.

 [2] run(::Cmd) at ./process.jl:438
 [3] top-level scope at /data/vap/julia-for-aws-lambda/build_image.jl:18
 [4] include(::Function, ::Module, ::String) at /nix/store/55kn554zkkaxdrprb
5p8fvg8y27h49iy-julia-1.5.3/lib/julia/sys.so:? (repeats 2 times)
 [5] exec_options(::Base.JLOptions) at /nix/store/55kn554zkkaxdrprb5p8fvg8y2
7h49iy-julia-1.5.3/lib/julia/sys.so:?
 [6] _start() at /nix/store/55kn554zkkaxdrprb5p8fvg8y27h49iy-julia-1.5.3/lib
/julia/sys.so:?
in expression starting at /data/vap/julia-for-aws-lambda/build_image.jl:18

What if you pass no_test = ["DataFrames"] as a keyword argument to SimpleContainerGenerator.create_dockerfile?

Yes - that works fine without tests.

Yeah this is the expected behavior. DataFrames.jl tests are failing on 1.6, so it errors the build. By default, we run the test suite for each package and use that to generate precompile statements. To override the default behavior, pass the no_test keyword argument.


Release 8.2.0

Can we merge https://github.com/theforeman/puppet-dns/pull/184 before this?

This can now be updated with #184 merged

Updated CHANGELOG.md with #184 and changed release date to Monday April 26th

@ekohl any idea if these test failures are expected?

Current failures are expected


Actionloop docs

Documentation to implement an actionloop based runtime
Description

Added documents

How to create an actionloop runtime
Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[x] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[x] I updated the documentation where necessary.

unit tests are failing but since the patch it is only documentation you can merge it anyway (hopefully)

We can’t override Travis failure. Can you open issues for the failing tests and label them heisenbugs if issues don’t already exist?

The build passes can you approve?


gce and aws template update

TODOs:

[ ] Delete buckets when deleting cluster.
[ ] Also set the KUBERNETS_VERSION from that file.


I can't upload a video to YouTube.

Can you please fix a bug where I can't upload a video to YouTube

what??

I would like to upload a video to YouTube, please.

use Cartoons

use Cartoons

EXACTLY


[Inference] Remove useless code in quant attention

PR types

Others
PR changes

Others
Description

Remove useless code in custom_attention.py

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Filter subcommands at runtime when declared with annotations.

Hi, is there currently a way to filter subcommands at runtime if they are declared with annotations ?
@Command(name="xx", subcommands={YY.class, CC.class, AA.class})
class XX implements Callable<Integer>
{

    // this is API example of my implementation, though I don't really like it, it's not strongly typed, but it should be something in this form.

    public static Boolean picocliFilterSubcommand(Class subcommand)
    {
          if(Boolean.valueOf(System.getProperty("DISABLE_CC_SUBCOMMAND"))
             return subcommand == CC.class;
    }

    @Override
    public Integer call() throws Exception
    {
    }
}

Here is that PR in my fork implementing this, but I think there should be a way to more properly implement this
https://github.com/MarkoMackic/picocli/pull/1

Do you mean to hide subcommands in the usage help message dynamically, or to actually remove subcommands (so users cannot invoke them)?
If the latter, isn’t it more convenient to use the programmatic API to only add the subcommands that are needed once this can be determined at runtime?

nope, the latter one, sure, programmatic API could do here, I'm aware of that, but it would be great if you could combine easiness of annotations API, and add some programmatic control over it.

Also I think many users who use the library chose annotations API for it's simplicity, and if a large codebase depend on it, rewriting it to programmatic is a huge job. I don't know if many people need this, but certainly it wouldn't affect them for the worse.

Thanks for the clarification. Ok, not sure when I will be able to get to implementing this, but first, let's take a look at what the API for this should look like.
You sketched out a solution involving filters that would allow you to accomplish this, but would you be open to a different approach? I was thinking of something like this:
@Command(name="xx", subcommands={YY.class, CC.class, AA.class})
class XX implements Callable<Integer> {
    @Override
    public Integer call() throws Exception { ... }

    public static void main(String... args) {
        CommandLine cmd = new CommandLine(new XX());
        if (Boolean.valueOf(System.getProperty("DISABLE_CC_SUBCOMMAND"))) {
            cmd.getCommandSpec().removeSubcommand("cc"); // name or alias of the CC command
        }
        cmd.execute(args);
    }
}

Currently, the map returned by CommandSpec::subcommands is an unmodifiable map, so we would need to make some changes, like adding the above removeSubcommand method, to make this possible. (That may actually be the only change that is needed.)
Thoughts?

Well I think it needs to be recursive ( subcommands can also exclude their subcommands ) and also code for exclusion should be in command that does some exclusion process , let's say you're excluding something from CC which is subcommand of XX you'd write your exclusion code in CC  . As I've understood the code, whole commands tree is built at start, so filtering methods must be static, i.e. filtering must happen when building the tree. Your API proposal could work with nested subcommands but it's centralized and not straight forward.
Thoughts?

If I understand correctly, you are looking for a way to invoke custom logic during the parsing process: as soon as subcommand CC is recognized on the command line, then the custom "preprocessing" logic for that subcommand would be invoked (in our example to dynamically remove some sub-subcommand) before subsequent command line parameters are parsed. This preprocessing logic could do more than just remove sub-subcommands, it would be nice to make it more generic.
Okay, that is an interesting idea, and reminds me a bit of the "parameter preprocessor" idea proposed in https://github.com/remkop/picocli/issues/1217, but applied to CommandSpec instead of ArgSpec.
Note that we will still need to have a removeSubcommand method, regardless of whether we call it from the main method or from our hypothetical preprocessor.
For the purposes of your use case, I believe adding a removeSubcommand method will allow you to create a solution: while the details of #1217 are not yet fleshed out, this would give you the possibility to customize the subcommands from the main method. This solution is not perfect, but better than creating the full command/subcommand hierarchy using the programmatic API.
Then, by applying the preprocessor proposed in #1217 to Commands as well, we can provide a callback that is invoked during parsing for each commands, which I believe satisfies your second point.
Thoughts?

Actually I thought more about invoking custom logic/s ( these can be distributed in a class that needs to handle them ) before parser actually does anything, the logic would be invoked in annotations processing stage ( I think I understood codebase correctly, first the tree is built and then the parser comes to stage ),  because anyways you can't rely on app internal state because there is no internal state, you can rely on state provided by JVM, or some config file ( the state that's existent before main is invoked ), so there doesn't need to be logic for when command is initialized. The static filtering would probably be better due to let's say man page generation, you'd have a clear tree, as you have it now, and than dump it in according format. But I'm ok with filtering at command init level too ( I think this is what you're saying in the comment above if I understood correctly)

Ok, that is also an interesting idea, to do this at model-building time. Note that there are 2 ways the model can be built from the annotations: with reflection (this is what happens when you call new CommandLine(myapp), or with the annotation processor. The annotation processor is actually quite limited, it will not be able to instantiate classes and execute custom code - this is due to limitations of the Java annotation processor.
At the moment I feel that creating a preprocessor interface that gets called during the parse stage (as suggested in https://github.com/remkop/picocli/issues/1217#issuecomment-716858952) would be more generally useful since it can be used to modify the model (like in your use case), but also to modify the command line arguments or reconfigure the parser or various other use cases.

Would work something like this:
@Command (name = "cc", preprocessor = MyProc.class)
class CC ...

...where MyProc implements the interface defined in #1217.
The preprocessor gets invoked after the command was recognized, before parsing any other arguments.

I like the idea, so we could discuss the initial structure of ICommandPreprocessor interface and I'd be glad to do some work about it.

I was thinking to rename the interface proposed in #1217 to IPreprocessor and use it for both commands and options/positional parameters.
Thoughts?

Well if you have same generic method for both you could put it in a single interface. But preprocessors are per annotation I'd have them split and maybe expose functions more related to preprocessing current type ( @Option, @Command, .. ). That would probably improve the UX

@MarkoMackic I suggest we proceed as follows:

For this ticket, I will add a removeSubcommand method to the CommandSpec class. That will allow you and other users to make progress while we explore ideas about the preprocessor API.
We continue discussion about the preprocessor part of this use case on the #1217 ticket. I added a comment there.

I pushed a change to master that adds the CommandSpec::removeSubcommand method with tests.


Config UI

This app needs a place to enter the Twitter Creds.

Linking this here for posterity: https://github.com/me-box/databox-twitter-driver/blob/master/static/index.html :)


Improve s3tester and add duration option

Just a test pull request, please ignore.

okay.. submit the final pull when you have it ready


Issue installing

When I get to the step for the AppxManifest.xml I get an error that I need to a Windows Developer license or sideload enabled system. When I run the command with "-DisableDevelopmentMode" I get an error that the install failed.

I've been able to resolve the issue of "manifest is not in the package root" by running this command
Get-AppPackage -Name "*WindowsSubsystemForAndroid*" -AllUsers | ForEach-Object {Remove-AppPackage $_.PackageFullName -AllUsers}

this works thanks😊


Testing of data processing for all the datasources (Smoke-Testing)(S3)

[Testing of data processing for all the datasources (Smoke-Testing)(S3)]

Testing is Completed and working as expected


Fix CILintersConfig when diff is empty (lint_gitlab_ci job)

What does this PR do?
As the CILintersConfig lints the config file, there was an error when no changes was made to the gitlab jobs.
Fixed it by not building linter config if no changes.
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Linking to search results

Thanks for creating an issue! Please fill out this form so we can be
sure to have all the information we need, and to minimize back and forth.

What are you trying to do?
Navigate to: http://search.maven.org/#artifactdetails|org.owasp|dependency-check-maven|3.3.1|maven-plugin

What feature or behavior is this required for?
Linking directly to specific searches from classic search.

How could we solve this issue? (Not knowing is okay!)
Could preserve previous linking behavior to search results by implementing it in the new API or by rewriting the resource on the server side to redirect to whatever the new mechanism is to link directly to search results.

Anything else?
I found the above link on the https://www.owasp.org/index.php/OWASP_Dependency_Check page, and it made me realize that the old method of linking to specific results no longer works. This is probably fine, provided there is another mechanism to link directly to search results... old links will have to just be updated over time.

The old links should work if you add /classic/ to them. We didn't put in a rewrite rule, as the # in the URL would mean we'd have to apply those links to /, making it problematic at best, as the new site is running at /.
As for the new site, links should work too:
https://search.maven.org/search?q=a:junit
That should show artifacts with junit in them for all of time, as far as I know!

Yeah, I'm not too worried about some dubious use of linking having been broken. I just mostly wanted to make sure it wasn't an oversight and the breakage was expected/known. :smiley_cat: Feel free to close this issue.

I'm going to go ahead and close this issue not just because you've gotten an answer to your question, but because #48 will likely be where we address restoring link compatibility.


Clicking on "manual sync" does not initiate the one-time sync.

Describe the bug
Clicking on manual sync does not trigger the one time sync.
Component
reference app,
To Reproduce
Steps to reproduce the behavior:

Open demo app
Create new patient
Click on manual sync
See, manual is not triggered

Expected behavior
It should trigger the manual sync, and sync the patient.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: Pixel2a emulator
Android version: 12

Additional context
Add any other context about the problem here.
Would you like to work on the issue?
Please state if this issue should be assigned to you or who you think could help to solve this issue.

This might have caused the issue #2348

@@hoangchungk53qx1 can you please take look at it?

@@hoangchungk53qx1 can you please take look at it?

i'll check it again tomorrow

i just checked, everything is still working
Let me try again with your device

@santosh-pingle i see it, i create MR (https://github.com/google/android-fhir/pull/2507)


[Narwhal] gateway e2e responder handshake testing (no noise)

A replacement PR for #2660 without the noise changes. Increases gateway handshake test coverage to various cases including:

timeouts
invalid challenge request/response
unexpected disconnects

The happy path is exercised in all our e2e tests already so this changeset focusses on the failure cases.
Drafted for now (I may add a few more cases) but comments already welcome!

Note, we may need to increase the timeouts slightly if the tests end up being flaky on CI.

Rebased. Note the bft integration tests will fail as they currently do on mainnet-staging.

Rebased on top of #3174 to fix the build.


Can we use comptime to de-duplicate the ranking and highlighting code?

Currently the ranking and highlighting code is duplicated in filter.zig (rankToken() and highlightToken()). This makes some things more clear (each function returns a specific type, no unneeded args), and it also should make the function more performant. But it is an occasional burden to remember to update both functions.
A quick brainthought makes me think we could leverage comptime arguments to specify which version of the function to use (return the rank vs return the matched buffers) and not suffer any runtime performance penalty. I'll look into this...

I don't think this is worth it. Maybe I'll look at it again later


Implement rom size as input parameter

Implement rom size as input param: this controls how much flash is used for storing fs
Replace errno to fix windows compile err: windows complains using errno, says it's a function
Modify fopen param from r to rb; file read failed on my system by using "r" without the binary open mode

My first solution was to change 'errno' to 'errNum'.  A simpler solution is to #undef errno.  I added the following lines at about line 44 of spiffs.h:
#if defined(WIN32)
#undef errno
#endif

@DonKinzer that solution didn't seem to work completely. It was building but files were still partially corrupted

@ADiea this patch doesn't work on Windows. Also files corrupted. @xlfe I maked a global patch for file sizes, selectable folder, default rom sizes. It's working correctly on Linux, Windows and osx. Also it's working with bigger files. I will make a PR.

@alonewolfx2 I noticed that you too use default size 192K Is it possible to use smaller rom size without file corruption?
I did not yet have time to fully test this so if your patch is better please make pr

@ADiea yes it is possible. 16k or smaller default size can be possible.@kireevco and i are using my code more than a month.

by the way, binaries are available here https://bintray.com/kireevco/generic/spiffy/view

@alonewolfx2 @kireevco thanks guys. I will look over your code for relevant changes and if it's ok with you will integrate with my code. cheers!

@alonewolfx2 looking at https://github.com/alonewolfx2/spiffy the only relevant change I see is
cfg.log_block_size = SPI_FLASH_SEC_SIZE*2;

The rest seems related to basedir and rom_length parameters Are there other changes necessary to make this work ?
Thank you


Pin numpy to 1.26.4

whisper is not compatible with numpy 2.x so pin to highest 1.x version

Can it be made compatible with numpy 2.x ?

Can it be made compatible with numpy 2.x ?

That's beyond my knowledge. This PR fixes everyone's Quickstart experience.

+1
In the meantime, pip install --upgrade numpy==1.26.4 does the job as well, but this quick fix would streamline things for non-Pytrhon devs like myself.
Thanks for the clue about the cryptic error I received running with Numpy 2.0.1.  I didn't mean to learn Python today, but here we are.


Automate the elastalert

@Qmando is there a way to automate the elastalert.
While running the yaml files in the command prompt the rule get disabled and go for sleep(10 sec defined on config.yaml).
Can we auto restart the elastalert or do i need to write an enchancement for that?

You want it to continuously query and never sleep, even for 10 seconds?

No, it should sleep but if An uncaught exception occurred ... and rule get disabled it should restart again.

https://elastalert.readthedocs.io/en/latest/elastalert.html?highlight=disable_rules_on_error#configuration
disable_rules_on_error: If true, ElastAlert will disable rules which throw uncaught (not EAException) exceptions. It will upload a traceback message to elastalert_metadata and if notify_email is set, send an email notification. The rule will no longer be run until either ElastAlert restarts or the rule file has been modified. This defaults to True.


Publish Microsoft Authored templates to azure samples browser

Publish function-python-ai-openai-chatgpt template to azure samples browser.
@rajeshkamal5050 and @hemarina for notification.

@paulyuk Could you help review this PR and merge it if it looks good?

@paulyuk Could you help review this PR and merge it if it looks good?

thank you for the contribution!


Allow dump listed tables only for sometimes no need to dump full database

Added a mode switch to figure out to run under "all except ignored" mode or "listed tables" mode.
Added a filter option to skip dumping create statement

Hey @adexbn, thanks for this. I am really sorry for the long delay on this. I moved to another country last September and since then I had no time or energy to my personal project until now.
I'm not sure about introducing a flag that transforms the filter section from an advanced blacklist to a whitelist, or maybe I didn't get your idea. I would prefer to have a separate list to work as a whitelist ([whitelist]).
However, I liked the introduction of nocreate. Could you move this to a separate pull-request?


BUG: Icon Link

Is there an existing issue for this?

[X] I have searched the existing issues

What went down?
Pressing on UC icon wont redirect to the home page
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@udayand4s Issue assigned to you


Added Xdebug auto initialization for xdebug.mode

Create new env variable SAIL_XDEBUG_MODE in the start-container which loads the value from the .env file
Pass SAIL_XDEBUG_MODE to XDEBUG_MODE in docker-compose.yml (already exists)
Read env variable in php.ini

Thanks to the entrypoint, it will always be executed at the beginning when starting the container
PHP needs to be restarted when changing xdebug.mode

How to test:

Add SAIL_XDEBUG_MODE=develop,debug to .env possible values
Run sail stop && sail up -d && sail bash
Run php -i | grep xdebug.mode

Advantages:

Runs faster, because it loads the default off option :)

#357

I'm not making any changes to this at the moment. Export the files and change them yourself if needed.

@taylorotwell why was this closed? This is a valid issue, as SAIL_XDEBUG_MODE still currently doesn't do anything on Laravel 11. If this PR isn't merged in, any reference to SAIL_XDEBUG_MODE should be removed from sail.

This is extremely confusing, especially since the docs have this information.

@taylorotwell If no changes are planned for this, perhaps it would be helpful to update the documentation to reflect the actual process?
Currently, the docs suggest that this can be achieved simply by changing the env variable:

However, this is misleading. In reality, the process requires publishing the configuration files and manually editing the php.ini. Updating the documentation to include these steps would prevent confusion. Additionally, the section about SAIL_XDEBUG_MODE could be removed or clarified, as changing this variable has no effect on xdebug.mode—which, as it stands, feels like a bit of a trap.

@iwasherefirst2 I completely agree, this is a real issue and shouldn't have been closed. The docs are saying something works a certain way, but it doesn't work that way. It's costing devs a lot of pain and time lost. At least removing this option from the docs would somewhat resolve this issue (not really, but it would suffice to avoid a very bad developer experience).


Reorder of Issues in Inbox column reopens linked closed issues

When reordering issues in my Inbox column, the issue order is updated but all the closed linked issues and Pull requests are reopened.  This is currently seen against version 17. I will be updating today to the latest version but it seems it was possibly introduced when the issues ordering was changed in version 15.

Could you provide me with some steps to reproduce this issue? Best would be a test case for the store.
A good place to add it is probably here.

It is most likely due to this line. The question is, what kind of relationships you use and why it is being interpreted by the board like this.

It seems to be only doing it to epics using parent of to link to children

I've removed ordering of referenced issues via https://github.com/nikku/wuffle/commit/260d1e8a1077eaacf195a6b880fb870bd11f95c8.
The idea was once to move issues with the PR. As it is right now, PRs are always attached to the issue and cannot be moved without the issue anyway. That means the respective piece of code was kinda pointless anyway.
Would still have been interesting to get the exact details on your case, as I cannot depict a sane scenario for which closed, linked issues should have automatically been reopened :wink:.

I was able to replicate it locally and it was exactly in the line you referenced. As the moveReferencedIssues was called it set the linked issue column to be the same as the main issue so any closed issues/pr were reopend as when the getStateUpdate ran they were no longer in the closed column so their state was set to open.

What was the exact issues you reproduced it with? I still don't know which relationships you wired. For future bug reports, this is crucial information:

Which card is being moved, what is it's old state, new state, title and body (defining links)
Which card is being affected, too, what is it's old state, new state, title and body (defining links)

Ok I was starting with the following issues as per screenshot

I moved issue 104 to the top of the backlog column. When that happened issue 105 was moved to backlog and issue 107 was also moved to backlog and reopened as per screenshot


BC Wave 2 - Base app Translation Web search index problem

Describe the bug
Translating base app in wave 2 with XLIFF file does not update search index.
The app is showing translation in Turkish, but web search index is still in English.
I translated all base objects.  And I used nav 2018 Lang Dll's which ones translated by partner with PLLP.
To Reproduce
Translate base app whit XLIFF
Expected behavior
Update web search index
Screenshots
You can see the screenshot as below

5. Versions:
AL Language:
4.0.176004
Business Central:
platform 15.0.36510.0 + app 15.0.36560.36649
It is CU3.

Hi, I have same problem. I can not solve. Could you help me?

Hi @NedimYami,
You need to update to a newer version if you want to translate search items from another app, or you can build base app yourself and include in the xliff file in the translations folder, since then it gets baked into the metadata and is not applied at runtime.

I am closing this issue because it appears that it has been resolved. Please open a new issue if you believe this has not been resolved and reference the current issue.


MTDSA-27878 Implement RULE_MISSING_SUBMISSION_DATES as a BE error in error mapping + OAS changes to include TAX_YEAR_NOT_SUPPORTED and MISSING_SUBMISSION_DATES GTS for the relevant cumulative endpoints

The following changes were made:

Implemented RULE_MISSING_SUBMISSION_DATES as a BE error in error mapping
Applied OAS changes to include TAX_YEAR_NOT_SUPPORTED and MISSING_SUBMISSION_DATES GTS in create and amend cumulative endpoints and only TAX_YEAR_NOT_SUPPORTED GTS in the retrieve cumulative endpoints
Updated examples to reflect cumulative updates and removed unnecessary Tax Years Column as part of OAS changes


Not able to cordon/drain nodes - "500 Internal Server Error"

**Rancher versions: Build from master
Steps to Reproduce:
DO node with 3 worker nodes , 1 control and 1 etcd nodes.
Deploy few workloads.
Cordon/drain one of the worker nodes.
Fails with following error:
Drain Error
Error updating node c-f6q4f:m-ljfwk by drain : InvalidFormat 422: invalid value : a DNS-1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')

Tested with latest build from master.
Able to drain/cordon on DO nodes successfully.


[Bug] [dolphinscheduler-alert] The atUserIds parameter configured in DingTalk is invalid

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When I configured the At User Ids parameter in the alarm, it did not take effect and the test message it sent did not specify the user.

What you expected to happen
When I configured the atUserIds parameter in the alarm, it can specify the user in the message.

How to reproduce

Create Alarm Instance
Choose DingTalk
config At User Ids param
click test send button
The test message does not specify a user

Anything else
No response
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

We should replace the atUserIds parameter with atDingtalkIds.
https://www.cnblogs.com/sk-3/p/15411669.html


Dockerhub image

Would it be possible to push a nodes Docker client  image similar to your Python client to DockerHub?
I’m struggling to compile this in to a docket image on Mac OS.

Sorted.
I had entered the Gateway IP instead of the access point IP of the griddb-server container.
Many thanks, Your help is much appreciated!


Upload to Slack

Add support for uploading to a slack channel

What do you mean by this? Can you briefly explain it to me.


router rule can comes from an infra

unify config into one package
to adapt to diffrent Infra like Pilot and some API, add router interface to fetch Route rule
fix bug advertise address doesn't support <IP_ADDRESS>

Coverage decreased (-0.2%) to 62.115% when pulling ac0f4e91187c10adb43fd7bdc62ffffd4e62dafc on tianxiaoliang:master into eba9c6376359b9cf2c351edfc82e4918b347e7a1 on ServiceComb:master.


Remove extern C warpper for cuBLAS

cuBLAS has its own way to deal with C++ compilers. Also see https://github.com/dmlc/tvm/issues/3869

Thanks @kice , this pr is now merged


OpenCL rapid packed math support for Vega

Any time frame for when this will be available ?

I'm curious about this too. But we should already be able to utilize the RPM instructions from the Vega ISA using inline GCN assembly, no?

+1

It will be in ROCm 1.6.4 for OpenCL.  HIP and HCC support it today

I just ran Mixbench this week on MI25,  not he has a couple of issue in his code.    But MI25 is hitting Float 16 22.5 TFLOPS at peak.  Float 32 11.2 at peak
He @ekondis has few spot where is need to clean up  like so we can build mixbench.

mix_kernels_ocl.cpp:28:25: error: conflicting declaration ‘typedef short int cl_half2 [2]’
/opt/rocm/opencl/include/CL/cl_platform.h:869:2: note: previous declaration as ‘typedef union cl_half2 cl_half2’

Sounds good. Can you please update us on ETA for 1.6.4 ?

When I am happy with it, right now looks like next week.

OK, thanks for the update. Looking forward to it.

@boxerab @ekondis Hey we loaded a new version of ROCm 1.6.4 at repo.radeon.com can you test it.

Cool! I tested it - all functionality looks good. In particular, OpenCL image support looks complete.
Very happy with this release. Unfortunately, performance for my application is still almost twice as slow as windows version. I understand that this is still beta release..... I will open a separate issue for this.

Will CodeXL work with ROCm ?

What's the best way of troubleshooting performance difference between windows and ROCm drivers for OpenCL ?

@boxerab I asked this question a short while ago.  See #186 , it's now https://github.com/GPUOpen-Tools/RCP - but it is also included in the ubuntu install as  /opt/rocm/bin/rocm-profiler per @chesik-amd 's comment

Yes use RCP to get the data, then you process it on CodeXL

Remember we decided to build out fully open source compiler we are now working on addressing key shortcomings of the historical AMDGPU LLVM compiler code generator.

Improved Scheduler
Put in place a New ILP scheduler.
Scalarization/uniformity improvements
Better load/store vectorization.  – this is a Longer project
Improved Peephole optimization for SDWA ( just went in trunk)
We have more work on loop unrolling and optimizations
Function call support

We are also working on new foundation for perf counter and tracing support, plus went back to address the debugger.

@gstoner I've removed the type redefinition in mixbench so it compiles flawlessly on the new ROCm release.

Perfect.   both Alt and RO now work

@boxerab FYI looks like PlaidML will be the first ML framework to support this :thumbsup:

@jamilbk my question was regarding driver support for packed math. Once support is there, then anyone
can use this, including PlaidML.

So this will boost performance as if passing from 486 to pentium? Cool.


Update zh-HANS.coffee

translate few words

translate few words

translate few words

Coverage remained the same at 61.883% when pulling 25e0c9c3b0d6f932a0c8303004c07691ae4fb567 on willuuu:patch-1 into b880527057172477a2a73d716525b2c462ec82b5 on codecombat:master.

Coverage remained the same at 61.883% when pulling 25e0c9c3b0d6f932a0c8303004c07691ae4fb567 on willuuu:patch-1 into b880527057172477a2a73d716525b2c462ec82b5 on codecombat:master.

Coverage remained the same at 61.883% when pulling 25e0c9c3b0d6f932a0c8303004c07691ae4fb567 on willuuu:patch-1 into b880527057172477a2a73d716525b2c462ec82b5 on codecombat:master.

Oppose this translation

@icodegame you can propose your translation.

CLA hasn't been signed. Closed. Sorry.


docs: adds DBT concept documentation

Description
Adds dbt concept documentation and updates the dbt extension how-to.
Supporting information
Closes https://github.com/openedx/openedx-aspects/issues/68

Thanks for the pull request, @pomegranited! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@pomegranited 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Inputs to NLU not flexible in a custom graph recipe

Rasa Open Source version
3.1
Rasa SDK version
No response
Rasa X version
No response
Python version
3.8
What operating system are you using?
OSX
What happened?
I created a custom graph recipe since I wanted to pass the tracker to a custom NLU component. Writing the graph recipe was easy because you can add tracker: __tracker__ to the needs section of the component's node definition. However, it turns out that rasa open source does not dynamically figure out the inputs to be passed to the NLU components during inference. Only messages can be passed as input and this is hardcoded.
If you would like to replicate the problem, check out fed-dev-prototype branch of financial-demo repo and run training + inference using custom_config.yml. The inference will fail to run.
A hacky fix for this is implemented on fed-dev-prototype branch of rasa oss.
(Adding the bug label since it seems from the docs that custom graph recipes are supported and I would expect this to behaviour to be implemented naturally since the docs don't specify otherwise. Feel free to change the label if you all think otherwise 🙂 )
Command / Request
No response
Relevant log output
No response

This would be nice, I also need to have at least the sender_id from a NLU component to handle different entity extraction based on the user. It would solve #10717

Hello @dakshvar22, could you please elaborate more how is it possible to define a custom recipe that gets the tracker? There are many methods with the "needs" key and I don't really get what is the correct one.


Various fixes. Mainly changing relative links to absolute links

Changed some relative links to absolute links.
I have run a link checker on the docs with and without these changes. Without these changes there is one more broken link.

I am going to make the changes suggested by Duncan to the branch- do not merge yet as I will be testing these changes (I need them pushed so that amp-docs can build correctly)

Ok, I have tested with the fixes and it looks good. I have removed the production-installation changes, as they are not required in the downstream project any more and I have fixed the accidental relative link.
@aledsage can you merge this?

LGTM; merging now.


Showing Error Message

We might have to find better way to handle error and inform user, when there is issue in embedding process, UI show no Error and I could only refer back to terminal to check,

We might have to find better way to handle error and inform user, when there is issue in embedding process, UI show no Error and I could only refer back to terminal to check,

That's a limitation of using Gradio, we could show error through a toast noti, but that won't be persistent and the terminal is still needed.


[Bug] [UI] There isn't the re-uploading file button when the file is in the root directory.

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
There isn't the re-uploading file button when the file is under the root directory.

When the file is under the sub-directory there is a the re-uploading file button.

What you expected to happen
I expect that the re-uploading file button can be used under the root directory.
How to reproduce
You can browse the page of files management and upload a file under the root directory. Meanwhile the re-uploading file button won't display there.
Anything else
No response
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I will fix this issue.


Fix workfail

This fixes #7

I'll close this unmerged for now (explanation in the issue comment). Thanks for putting time into this :)


vnote: Update to version 3.15.0

in previous PR https://github.com/ScoopInstaller/Extras/pull/9080 I update the file url for 3.14.0 only, but didn't find that the file hash also changed.
🤔 if i recall correctly there is a CI to check file hash?

[X] I have read the Contributing Guide.

/verify

if i recall correctly there is a CI to check file hash?

It can be invoked with /verify. I forgot to do that.

/verify


IRGen: Use the current function name for the swift_suspend_point thunk

This is an incremental improvement of the debug info at a
(hop_to_executor) suspend site.
Before this patch the debug info at the call site would use the
__swift_suspend_point function name as the current function after
coro lowering has inlined the thunk.
The proper fix is to rewire the debug info such that the thunk name is
never mentioned rather the current function that suspend site sits in is
used.
Until I have figured out how to do that using the current function name
instead of __swift_suspend_point for the thunk is an incremental
improvement in the debug information consumers can observe.
rdar://90859530

@swift-ci Please test

@swift-ci test windows


silent mode

The simplest possible solution to required #17: An options flag that treats parsing errors gracefully.

This isn't a problem anymore with acorn

Ok thanks. Pedantically: I'm not sure why you assumed I knew what you meant by that (but I figured it out)


Fixes #1371 - Adds slice support for ListOp

Summary
Adds slice support for ListOp
Details and comments
Fixes #1371, adding support for indexing ListOp with slices(listOp[i:j]). Before, this feature returned an array, now another ListOp with the same properties.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

For information on adding a release note you can look here https://github.com/Qiskit/qiskit-aqua/blob/master/CONTRIBUTING.md#release-notes - we use a tool called reno which works off a yaml file. that the tool can create a new one for the PR, then you just edit it and commit it etc like any other file to add it to the PR. You can see examples in releasenotes folder here.

This returns a ListOp even if you slice a ComposedOp, SummedOp or TensoredOp.  Is this the desired behavior? If not, a simple solution would be to overwrite __getitem__ method on all this subclasses.

I created a new issue for this as slicing should the same type as the original instance


[Util] string util functions

Add util functions to copy memory. We should remove dependency to glib later.
Signed-off-by: Jaeyun<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #22. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

:octocat: cibot: @jaeyun-jung, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nnstreamer-edge/ci/repo-workers/pr-checker/22-202207041836500.38451504707336-a2853cbb299ea9b9fa67a16edd08c4f531d96913/.


Initial submit of lutron_qse platform

Description:
New platform for interacting with the QSE-CI-NWK-E Control Interface.
Note: this is my first contribution to the project. I've tried to follow the documentation and checklists, but very likely will have made some mistakes!
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):
lutron_qse:
  host: <IP_ADDRESS>

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable ([example][ex-requir]).
[x] New dependencies are only imported inside functions that use them ([example][ex-import]).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

Hi @deustis,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Hello, I just wanted to check in about this PR. No particular hurry, but I wanted to make sure there wasn't something I needed to do on my end.
Thanks!
-David

Since you implement only cover, make a platform only solution.

Pardon my ignorance, what do you mean by "platform only"? Could you point me to an example?

philips hue. If a things have only one platform we prefere a platform only solution like sonos/hue

There seems to be a considerable overlap between this proposal and the pylutron library (maintained by @thecynic) used by the lutron component from Home Assistant which supports Lutron RadioRA 2. They both use the same Telnet Lutron Integration Protocol, but with some differences owing to different generations of hardware and protocol variations.
The differences appear to be:

pylutron-qse and this Pull Request implements 'cover', whereas lutron component implements only 'light'
pylutron-qse uses Telnet user 'nwk' and no password, and pylutron uses user 'lutron' with a password (configuration could handle this and small changes in the code)
pylutron-qse loads the device list through the DETAILS command and pylutron loads it through an XML file served from the RadioRA 2 main repeater.
pylutron-qse uses the phantom button command DEVICE to change shade levels instead of OUTPUT used by pylutron (OUTPUT is listed as supported on both products and should work for shades, lights and switches)
pylutron uses AREA (aka rooms) and one Home Assistant 'light' per AREA, whereas AREA is not available in QS Standalone
pylutron-qse handles both serial number and a string Integration ID for each device, whereas pylutron uses only numeric Integration ID
this Pull Request implements a unit test, whereas the lutron component does not
neither library supports the 'switch' platform (yet)
neither library supports the 'scene' platform (yet)
neither library supports the 'sensor' or 'binary sensor' platform for occupancy sensors and keypads (yet)

It looks like there could be a great opportunity here to combine some of the code under one external Github library and have it handle both devices. And in Home Assistant taking the 'cover' platform from pylutron-qse and adapting it to the lutron component or vice versa.
With respect to Home Assistant both QS Standalone and RadioRA 2 would ideally implement 'switch', 'light', 'cover', 'scene', 'binary_sensor' for occupancy sensors and 'sensor' for keypads/Pico remotes.
Disclaimer: I do not have either of these automation systems, so this is based on my observations and research of the protocols and code. I'm currently only invested in Lutron Caseta which is a different hub that has limited Telnet support depending on the model.

I'm open to extending pylutron to handle this stuff, but I don't have that system in my house so I can't really implement/test it. I'll take a look later at this lib and see what the overlaps are, but I'll take patches to pylutron. I've always wanted to extend it to do shade control because I wanted to get some shades, but haven't convinced the wifey that it's "worth" the $$ to throw away our perfectly fine manual shades :-)

@upsert, @thecynic, sorry for the delayed response here, I was away on vacation.
@upsert, thanks for the careful comparison with pylutron. I did a similar analysis before starting this project. I also looked at pylutron-caseta maintained by @gurumitts. Happy to have the conversation about potentially merging one or more of these libraries, but I'll try to explain why I didn't initially go that route. Also want to call out that I am not an expert on Lutron products. What I'm saying here is based on my reading of the Lutron Integration Guide and experimentation with the QSE interface specifically.
Fundamentally, the issue here is that Lutron sells several bridge-like devices, but with different communication protocols. The three "bridges" we're discussing here are:

Radio RA 2 Repeater (library: pylutron)
QSE Control Interface (library: pylutron-qse)
Smart Bridge and Smart Bridge Pro (library: pylutron-caseta)

There are others as well:

Quantum Hub
Homeworks QS Controller
myRoom Plus Controller
Connect Bridge

The Lutron Integration Guide covers all of these except for the Smart Bridge, Smart Bridge Pro, and Connect Bridge. As an aside, those three appear to be Lutron's newest bridges, designed for cloud integration with Lutron's smartphone apps, as well as Amazon Alexa, Google Home, etc. I'd expect these will be the most popular bridges going forward for all of Lutron's consumer product lines. Unfortunately, Lutron does not provide an open protocol for these bridges, though @gurumitts and others appear to have partially reverse engineered it.
Now, looking specifically at Radio RA 2 (pylutron) vs QSE (pylutron-qse), they both use telnet and have a similar command structure, however, there are some key differences:

QSE only supports the OUTPUT command for setting device state, not for querying or monitoring (see my Lutron forum post). The DEVICE command is used instead, which changes all the parameters as well (e.g. get shade level is ?DEVICE,Master Bath,0,14 vs ?OUTPUT,Master Bath,1).

QSE has a ?DETAILS,ALL_DEVICES command that can be used to discover all the attached devices. I'm not seeing a similar discovery command documented with RadioRA 2. The pylutron library uses a separate http XML query for discovery, which is not supported by QSE.

QSE reports ~DEVICE statements when shades motion starts and stops. I've used this to support "opening" and "closing" states in the corresponding Home Assistant cover devices. I'm not seeing any motion events documented for Sivoia QS Shades OUTPUT (page 125 of Lutron Integration Guide).

There are also minor differences like different prompt strings (QSE> vs GNET>), but that could be handled easily in a merged library.

All-in-all it feels to me like QSE is different enough from RadioRA 2 that it's not worthwhile to try to merge the two libraries. But open to suggestions.
Another possibility that comes to mind is to try to merge the Home Assistant platforms. I.e. have one Lutron platform that supports multiple bridge types.
Cheers,
-David

@deustis Great to see you have looked at pylutron and I can see how the differences might be a bit messy in the code. Have you tried playing with the MONITORING commands (like this) to fix your issue with no OUTPUT?
Do you plan to implement more platforms like 'light' and 'switch'? Just one more platform would likely satisfy the need for a component. Do you only have shades in your system? Is that the issue or just finding the time to implement? I think QS is an older system so you may have trouble finding people with it who are willing to test if you do not have lights and switches etc.
I am in the Caseta camp myself and like you said, it supports only a subset of the Lutron integration protocol and only on the PRO model. A good portion of the users cannot use the integration protocol and the device discovery mechanism is completely different once again. I posted a bunch of info on the unofficial protocol if anyone is reading this and interested in Caseta.

@deustis if a system only support one platform (like sonos, hue) it will be only a platform, also if there is a hub present.
If you have a system that have light/switch whatever on same time, you can make a component that can discover this platform. I know the the lutron have only light and the author have promise to add more but at the end he had no done it. So I will revert this into a platform only solution in future or other add more platform for this.

I can refactor pylutron to allow for different discovery mechanisms. The device/room/etc. management can also be split out from the actual command actuation where we can plug-in the family-specific things. The reply dispatch will be a little funky, but i think it's close enough that I can probably split that out too.
It's pretty annoying that Lutron creates this separation of device markets and mucks with the protocol to not allow interoperability, but it is what it is.
If you are willing to bear with me, I can try and scrap some stuff together in pylutron land to split things up and then we can see if it works for you on QSE. I'll need help testing, etc. since I can only verify it on my ra2 setup. I may be a little slow to respond some times so bear with me :)
If it ends up being too onerous and ugly, we'll just go our separate ways.

@thecynic That sounds like a good plan to me. 👍
@pvizeli, @upsert It looks like we should hold off on the review for this PR until we have a chance to explore the merging of these libraries.
Totally understand about time limitations and the possibility of giving up if this gets too ugly. I'm in no particular hurry. Please do let me know me know I can help. Happy to comment on or test early versions of your refactoring for example.
Here's the MONITORING output you asked for:
QSE>?MONITORING,255
~MONITORING,1,1
~MONITORING,2,1
~MONITORING,3,1
~MONITORING,5,1
~MONITORING,8,1
~MONITORING,11,1
~MONITORING,12,1
QSE>

Since we're waiting with this PR until the merging of libs has been explored, I'll close this PR to keep our board clean. You can open a new one in the future 👍

My apologies for not being on top of this. Been pretty slammed at work.
Hopefully things lighten up enough to have some free nights to push through
this.
On Oct 1, 2017 8:59 AM, "Paulus Schoutsen"<EMAIL_ADDRESS>wrote:

Closed #9121 https://github.com/home-assistant/home-assistant/pull/9121.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/9121#event-1273114523,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABcEMW1fFU077ht2z5JITBq11JL88xXvks5sn7bxgaJpZM4PB1LJ
.

@thecynic, thanks for the update. Again, happy to collaborate once you have the cycles to take a look.


Support for SQLAlchemy Core

Hi there,
Thank you for making this lovely library.
I currently use the AstToSqlAlchemyClauseVisitor which works well with SQLAlchemy ORM, but my application is async so I use sqlalchemy core everywhere apart from where OData is involved.  My database does not support async driver so sqlalchemy 2.0 async support won't actually bring an difference to me.  With sqlalchemy core I build the query statements and handle all aspects around execution of the statement myself with loop.run_in_executor, which again does not work well with ORM.
Would it possible to add support for sqlalchemy core?

Hey, thanks for the kind words!
It would make a ton of sense to support SQLAlchemy Core, and judging from your PR (thanks a ton!) the implementation isn't even that different from the ORM. I'll try to review this today and get a release out ASAP.

Thanks for the contribution and feedback! I've merged the PR, done some minor refactoring, and updated the docs. This will be present in the v0.7.0 release, which would be released right now if PyPI wasn't in maintenance mode.
I couldn't find a clear way to get relationship traversal working in Core, so I added some warnings to the docs and NotImplementedErrors in the code. I created a follow-up ticket for that functionality: #32 .
Hopefully this works for your case!


error: open /home/myuser/.kube/config: permission denied

Hi I followed instructions and setup ctx and ns on a ubuntu node. When I run
kubectl ns
it lists all namespaces, however, when I run
kubectl ns yellow
I get a permissions error as follows

error: open /home/myuser/.kube/config: permission denied

In spite of the fact that I have done the setup while I am logged with myuser.Any idea how this can be fixed?

Hi,
Try following the steps below to see if they resolve your issues:

Check Permissions: Verify the permissions of the .kube/config file using the command:
ls -l /home/myuser/.kube/config
If necessary, correct the permissions using:
chmod 600 /home/myuser/.kube/config

Check Kubectl Configuration: Ensure that the Kubernetes configuration file (config) in the .kube directory is correctly configured. Sometimes, errors in the configuration file can lead to permission issues.

Check Kubernetes Context: Confirm that the Kubernetes context you're attempting to use (such as yellow) is properly configured in your Kubernetes configuration file.

Let me know if these steps help! If you need further assistance, feel free to ask.


Forbid serialization for most classes

Maybe we should even make this a trait?

Is this really necessary? We probably should prevent cloning of a lot of classes too, but we don't currently prevent that either.

Another thought: Are there libraries that assume that a public __sleep method means the class is serializable? Another approach is declaring the method private.

I think it doesn't hurt to forbid it and might prevent issues because people accidentally do dump things, e.g. passing things to parallel that shouldn't be serialized.
I've taken the approach from https://ocramius.github.io/extremely-defensive-php/#/, might be better to simply make the method private to have it better detectable for static analysis.

Should we add a couple traits like ForbidSerialization and ForbidCloning to amphp/amp so we can reuse them everywhere?

@trowski Seems fine with me. Can traits have final methods?

Good question, seems they can.

Seems unnecessary to me.


feat(command): add nirvana basic command

What this PR does / why we need it:
This pr implement two commands: init and api.
$ nirvana init /path/to/your/project

The init command initializes a common project structure for you.
$ nirvana api /path/to/yout/project/pkg/api

The api command hosts a server to present api docs for you.
Which issue(s) this PR fixes (optional, close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
/cc @ddysher
Release note:

Add nirvana basic command

Review Guide:
The following two commits remove old openapi generator and update vendor. Don't need to review.

chore(vendor): update vendor
chore(openapi): remove deprecated openapi

The following five commits have less codes. You can have a quick review.

add default option creators
move banner to root directory
exit when fatal in silent logger
add summary to definition
refactor for more usability

This commit implements init command (main.go is in the next commit). It's used to create project.

add init to nirvana command

This commit implements a basic middle layer for api and clients (not implement yet). Also there is a api command to generate api docs and host a server to view docs in browser.

feat(api): support api generation and serving

Above codes uses some tricks, so I ignore some checks here.

chore(lint): ignore some checks

Total additions are about 3000 lines.

Superb!
A few comments on generated structure:

Add a README.md file with short introductions about the generated project (the purpose of this readme file is to guide users to create their own README file)
Add docs.go for each package
How to handle pkg/database, as discussed offline?

/bark

README.md and docs.go, we can add them in future.
Nirvana is a communication layer for services and independent with logic. It does not care about data layer. But we can provide a common practice in our future docs.

?

@ddysher
Waiting for review @liubog2008 and @caitong93

Summary:

Fix comment typos.
Rename project.yaml to nirvana.yaml
Add README.md

These codes is very ugly, but I'll refactor them in code gen.

@zjj2wry
The first two questions can be finished in the future. And the third one has fixed in #212. We can record these problems and fix them in other small PRs.

The first two questions can be finished in the future. And the third one has fixed in #212. We can record these problems and fix them in other small PRs.

lgtm

Looks like serve is not picking up the right flag?
nirvana api pkg/api --serve "localhost:8888"
INFO  0613-10:11:45.614+08 api.go:204 | Listening on :8080. Please open your browser to view api docs
FATAL 0613-10:11:45.614+08 api.go:60 | listen tcp :8080: bind: address already in use

Please do make sure to fix issues mentioned here in future PRs; especially the one mentioned from @zjj2wry which is user facing. Also, i suggest we can make /path/to/apis optional in nirvana api (set the default to pkg/api as we already have a recommended structure.
PS. let's change pkg/api to pkg/apis, since we mostly always have more than 1 API in a project :)
I'll send a patch to update README template shortly.

@ddysher  @zjj2wry
We need a baseline to discuss what the next is. I'll file an issue to record and discuss what we need to do.
For more improvements and minor changes, we can add/modify them in the future.

/lgtm
we'll discuss remaining issues in https://github.com/caicloud/nirvana/issues/213


Change UDPSocket to use vectored output

This implements posix/windows sendmsg. On Windows, we reuse WSASendTo,
since it also allows vectored output without resorting to use
WSASendMsg.
If this PR is merged, it will fix #991.

There's an unresolved issue with this approach, but wich I consider is out of scope and that could be tackled in a future PR. As I mentioned on Zulip:

On POSIX land, a socket can, at any time, return ENOBUFS if the kernel ran out of space in some internal buffers. On Linux, this should be very rare, and if it happens, my impression is that one can use select() etc to know when it's safe to write again.
However, on macOS and *BSDs, udp sockets will also raise ENOBUFS, but, in contrast with Linux, select() doesn't work in this case. So if one encounters a socket with a full buffer on macOS / *BSD, there's no good way of knowing when it's safe to write again. The solutions I've read involve sleeping (doesn't sound like a good idea), or start dropping packets.
I think for the stdlib, and in this case with UDP, it might make more sense to drop packets (it is allowed, after all). It would also be good to let the udp_notify if we have hit this case (like tcp_connection does when it triggers backpressure).

This implementation will error on ENOBUFS and close the connection. In a future change, it would perhaps be wise to not be so eager at closing the connection, and instead either drop packets (allowed), or let the notify know. This should solve issues such as #3139, which might surprise newcomers.

Windows build was failing due to an unknown variable, which I've now fixed. I don't have access to a windows machine, so I'd appreciate if someone could test that everything works, and that I didn't do anything wrong.

Windows build was failing due to an unknown variable, which I've now fixed. I don't have access to a windows machine, so I'd appreciate if someone could test that everything works, and that I didn't do anything wrong.

I do have a windows machine. How would you imagine I could test this on windows?

I do have a windows machine. How would you imagine I could test this on windows?

Could you add a stance to the UDPSocket docstring about the behaviour when a buffer is full? It might be useful to specify what users can expect under heavy load.

Could you add a stance to the UDPSocket docstring about the behaviour when a buffer is full? It might be useful to specify what users can expect under heavy load.

Hi @mfelsche, I've written a couple of test programs for you to try here: https://github.com/ergl/pony_udp_writev_test.
Compile (with make or using ponyc) and run the server as such: ./build/server <ip> <port>, and the client as ./build/client <server-ip> <server-port> <packets_to_send>
With the changes from this PR, the server should receive exactly <packets_to_send> packets from the client, and all should decode successfully and print "Received buffer of size 1000".
Compiled with ponyc 0.38.2, the server will receive more than <packets_to_send> packets, and will probably error while decoding, or print "Received buffer of size 0".
Ideally you'd do this for non-localhost as the client could coalesce multiple sends on a single package. However, with the packet size of the client, this shouldn't happen.

Hi @mfelsche, I've written a couple of test programs for you to try here: https://github.com/ergl/pony_udp_writev_test.
Compile (with make or using ponyc) and run the server as such: ./build/server <ip> <port>, and the client as ./build/client <server-ip> <server-port> <packets_to_send>
With the changes from this PR, the server should receive exactly <packets_to_send> packets from the client, and all should decode successfully and print "Received buffer of size 1000".
Compiled with ponyc 0.38.2, the server will receive more than <packets_to_send> packets, and will probably error while decoding, or print "Received buffer of size 0".
Ideally you'd do this for non-localhost as the client could coalesce multiple sends on a single package. However, with the packet size of the client, this shouldn't happen.

I fixed a type mismatch (sorry for the churn!), hopefully it should now compile cleanly on Windows.

I fixed a type mismatch (sorry for the churn!), hopefully it should now compile cleanly on Windows.

@mfelsche I've added some details about heavy load behaviour.
Also, for the test programs that I linked, I realized that "the server should receive exactly <packets_to_send> packets from the client" is wrong, since UDP is free to drop packets. With the changes in this PR, the server will receive at most <packets_to_send>, but never more (which is the issue with the current implementation of writev).

@mfelsche I've added some details about heavy load behaviour.
Also, for the test programs that I linked, I realized that "the server should receive exactly <packets_to_send> packets from the client" is wrong, since UDP is free to drop packets. With the changes in this PR, the server will receive at most <packets_to_send>, but never more (which is the issue with the current implementation of writev).

On windows regardless of how many packets the client sends, the server is only ever receiving one packet of 1008 bytes, not more. Will investigate further.

On windows regardless of how many packets the client sends, the server is only ever receiving one packet of 1008 bytes, not more. Will investigate further.

Hi @ergl,
The changelog - changed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do.
Release notes are added by creating a uniquely named file in the .release-notes directory. We suggest you call the file 3697.md to match the number of this pull request.
The basic format of the release notes (using markdown) should be:
## Title

End user description of changes, why it's important,
problems it solves etc.

If a breaking change, make sure to include 1 or more
examples what code would look like prior to this change
and how to update it to work after this change.

Thanks.

Hi @ergl,
The changelog - changed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do.
Release notes are added by creating a uniquely named file in the .release-notes directory. We suggest you call the file 3697.md to match the number of this pull request.
The basic format of the release notes (using markdown) should be:
## Title

End user description of changes, why it's important,
problems it solves etc.

If a breaking change, make sure to include 1 or more
examples what code would look like prior to this change
and how to update it to work after this change.

Thanks.

Hey @mfelsche, can you try again with the latest commit? I made a mistake on the _event_notify behaviour, and added the changes under an if branch that only applied when the socket was on the closing stage. Hopefully this fixes the problem.

Hey @mfelsche, can you try again with the latest commit? I made a mistake on the _event_notify behaviour, and added the changes under an if branch that only applied when the socket was on the closing stage. Hopefully this fixes the problem.

Hi @ergl I did test it with the latest commit and unfortunately it still exhibits the same behaviour. :(
I dont know my way around the windows apis tbh but i can also have a look at WSASendTo and friends if you want some more eyes on this.

Hi @ergl I did test it with the latest commit and unfortunately it still exhibits the same behaviour. :(
I dont know my way around the windows apis tbh but i can also have a look at WSASendTo and friends if you want some more eyes on this.

I'm adding a do not merge label as from the comments, it seems like this isnt ready yet.

I'm adding a do not merge label as from the comments, it seems like this isnt ready yet.

I'm trying to get the windows version working on a virtual machine. Hopefully I have some time during the week to get this fixed.

@ergl should we close this?

@SeanTAllen I think so. This PR never worked properly on Windows. The code is a good starting point for anyone who wants to take another stab at it, but I won't be able to complete the work it needs for it to work on Windows


Search/Replace misleading key shortcut tooltip

Issue Type: Bug
In the search/replace dialog when hovering over the Next match and Replace buttons, both say that the key shortcut is Enter,
which is not very useful when I want to skip some matches and replace others. The default binding for Next match, the key F3, does work when doing that, but I had to find that out elsewhere.
I understand that the bindings are correct when the corresponding inputs (Search and Replace) are focused, but I would like the shortcuts shown to tell you how to work with both simultaneously without switching focus.

You can't use shortcut keys to "Next Match" when replace is active element, or use shortkeys to "Replace" when find is active element.  Making large, selective, search and replace jobs both much harder, and highly error-prone.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.

"Please vote" for accessability issues -- what a joke, what an absolute, offsensive, joke!


Update feature ID texture for KHR_texture_transform (plus bugfix!)

Depends on https://github.com/CesiumGS/cesium-native/pull/827.
Unity counterpart of https://github.com/CesiumGS/cesium-unreal/pull/1360. This incorporates the previous cesium-native changes so that KHR_texture_transform can be used while picking feature ID textures.
Test Picking

Create a dummy tileset containing the feature ID texture transform model here.
In the 05_CesiumMetadata sample level, add a new blank tileset. Add the aforementioned tileset via URL.
Set the ECEF coordinates of the CesiumGeoreference to (0, 0, 0). You should be able to double-click the tileset to zoom to it, but if that doesn't work properly, enable Show Tiles In Hierarchy and double-click the child game object that contains the mesh.
Reset the DynamicCamera transform. So position should be (0, 0, 0). Rotation should also be (0, 0, 0). (I've noticed the Unity editor complains about NaNs here, maybe I should write an issue about that...)
Offset the DynamicCamera from (0, 0, 0), along the Z axis. You want to position it so it can turn and view the feature ID texture at runtime.
Modify CesiumSamplesMetadataPicking.cs to Debug.Log the feature ID resulting from GetFeatureIdFromHit. Also, be sure that you remove the check for modelMetadata != null b/c this tileset doesn't use metadata.
Press Play. If all works out, you'll be able to move the camera (with some effort) to click on the feature ID texture. The darkest square returns a value of 54, and the brightest square corresponds to 135.

When a value is repeatedly logged, Unity will consolidate the notifications to a single entry in the console. So sometimes you won't see a feature ID at the bottom of the console if you re-pick it, because it's being counted under an earlier entry. Just clear the console so you can see it pop up again.
Bonus Bugfix
While implementing this, I discovered a bug with feature ID picking that resulted from an inconsistency between Unity and the glTF model. In particular, the RaycastHit.barycentricCoordinate returned by Unity were completely different (in magnitude) from the barycentric coordinates returned in Unreal Engine. For the darkest square in the texture, the barycentric coordinates would largest in the 2nd vertex for Unity, whereas in Unreal the 3rd vertex had the biggest coordinate. I'm not 100% sure why this happens -- maybe it has to do with the difference in the way Unity handles mesh data (e.g. clockwise vs. counter-clockwise winding order).
In any case, I couldn't find a failproof way to swizzle the coordinates while maintaining correctness for every case, so I just implemented the barycentric coordinate logic in cesium-native, and use that in Unity. Now, feature ID picking should be accurate.

Hm I forgot to mention that I was experiencing a Reinterop error that I manually fixed. It was in Matrix4x4.cpp, the MultiplyPoint3x4 method has a &(*this) line that should actually be *this.

@j9liu I pushed a fix for the Reinterop problem.

I was able to follow your procedure above, and it worked as described. I verified the expected feature IDs against the model. And I looked through the code, and it all makes sense to me. So it looks great, merging!


[FEATURE]ADDING A FEEDBACK SECTION

Description
I WILL ADD A FEEDBACK SECTION USING REACT JS , EMAILJS LIBRARY
Screenshots
No response
Additional information
No response

feedback about what ? @kharshita590