fix: rmc project create workaround #161

This adds a simple check to make sure the project list can be fetched prior to attempting to create the powervm-rmc project.  While not needed for a normal deploy with 3 masters, if performing a single node deploy this is needed for the provisioning to go through without manual intervention. It would be better if we did not need to maintain a separate copy of this repository for this singular purpose.
Sample output from a run:
module.install.null_resource.install (remote-exec): TASK [ocp-customization : Apply the tuned CRDs] ********************************
module.install.null_resource.install (remote-exec): skipping: [cecc-11579-bastion-0] => {"changed": false, "skip_reason": "Conditional result was False"}
module.install.null_resource.install (remote-exec): TASK [ocp-customization : Insure able to fetch project list] *******************
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (60 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (59 retries left).
module.install.null_resource.install: Still creating... [32m1s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (58 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (57 retries left).
module.install.null_resource.install: Still creating... [32m11s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (56 retries left).
module.install.null_resource.install: Still creating... [32m21s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (55 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (54 retries left).
module.install.null_resource.install: Still creating... [32m31s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (53 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (52 retries left).
module.install.null_resource.install: Still creating... [32m41s elapsed]
module.install.null_resource.install: Still creating... [32m51s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (51 retries left).
module.install.null_resource.install: Still creating... [33m1s elapsed]
module.install.null_resource.install: Still creating... [33m11s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (50 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (49 retries left).
module.install.null_resource.install: Still creating... [33m21s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (48 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (47 retries left).
module.install.null_resource.install: Still creating... [33m31s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (46 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (45 retries left).
module.install.null_resource.install: Still creating... [33m41s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (44 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (43 retries left).
module.install.null_resource.install: Still creating... [33m51s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (42 retries left).
module.install.null_resource.install: Still creating... [34m1s elapsed]
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (41 retries left).
module.install.null_resource.install (remote-exec): FAILED - RETRYING: Insure able to fetch project list (40 retries left).
module.install.null_resource.install: Still creating... [34m11s elapsed]
module.install.null_resource.install (remote-exec): changed: [cecc-11579-bastion-0] => {"attempts": 22, "changed": true, "cmd": "oc get projects", "delta": "0:00:00.180335", "end": "2022-04-28 16:38:33
.728808", "rc": 0, "start": "2022-04-28 16:38:33.548473", "stderr": "", "stderr_lines": [], "stdout": "NAME                                               DISPLAY NAME   STATUS\ndefault

module.install.null_resource.install (remote-exec): TASK [ocp-customization : Create powervm-rmc project] **************************
module.install.null_resource.install (remote-exec): changed: [cecc-11579-bastion-0] => {"changed": true, "method": "create", "result": {"apiVersion": "project.openshift.io/v1", "kind": "Project", "meta
data": {"annotations": {"openshift.io/display-name": ""}, "creationTimestamp": "2022-04-28T20:38:34Z", "labels": {"kubernetes.io/metadata.name": "powervm-rmc"}, "managedFields": [{"apiVersion": "v1", "fields
Type": "FieldsV1", "fieldsV1": {"f:metadata": {"f:annotations": {".": {}, "f:openshift.io/display-name": {}}, "f:labels": {".": {}, "f:kubernetes.io/metadata.name": {}}}, "f:spec": {"f:finalizers": {}}}, "ma
nager": "Go-http-client", "operation": "Update", "time": "2022-04-28T20:38:34Z"}], "name": "powervm-rmc", "resourceVersion": "19379", "uid": "820b894e-c400-4b59-b805-4c758ac99bf3"}, "spec": {"finalizers": ["
openshift.io/origin", "kubernetes"]}, "status": {"phase": "Active"}}}

/cc @cs-zhang @Prajyot-Parab


0.3.0

converted tests

Coverage remained the same at 100.0% when pulling 2596644effb6f6c1ad01aec3696aef0524694718 on develop into 82ce807be842ffe956efc946c4e4fc0dd4b00f52 on master.

Coverage remained the same at 100.0% when pulling 2596644effb6f6c1ad01aec3696aef0524694718 on develop into 82ce807be842ffe956efc946c4e4fc0dd4b00f52 on master.


Setup Project Kanban Board

Hi Sir, 👋
In this issue, we have listed the participants and tasks assigned to each group member 🎯
There are two of us in the group
✔ @ohyajk  link - Will handle tasks for Team member #2
✔ @admirerbrown  link- Will handle tasks for Team member #1
This is the link to the project that we set up link

Hi team,
STATUS: CHANGES REQUIRED ♻ ♻
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!

Highlights

All tasks have been assigned to a group member ✔ ✔
Tasks have been fairly assigned  👍 👍

Required Changes ♻

According to the project requirements, all tasks should have a description of the task, this project card has no project description, please fix this 🙏
Check the comments under the review.

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Bump internal copy of half to fix issues on older x86_64 CPUs on Windows

On some older CPUs without support for the lzcnt instruction, the conversion from half to float was wrong.
See AcademySoftwareFoundation/Imath#358 for more details.
Thanks to Ray Molenkamp for tracking down this bug.

For reference, we hit this in Blender when upgrading to the VFX platform 2024, from OpenVDB 10 to 11.
CPU's like Sandy Bridge and Ivy Bridge that are affected by this are relatively old, but still support the minimum requirement of SSE 4.2 used by Blender, Maya and Houdini.


Hover effects on icons in team section

What is the change?
Hover effects on icons in team section
Related issue?
closes: #106
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] I have followed the Code of Conduct.
[x] I have  checked there aren't other open Pull Requests for the same update/change.
[x] I have you tested the code before submission.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm JWOC contributor.

Screenshots (if any)

@Chaitalishetty Please review the PR!

Also create a new branch while pushing to the repo so that you can branch out your code from main.


rbd creating multiple images in the backend for single PVC

Describe the bug
rbd creating multiple images in the backend for single PVC
Environment details

Image/version of Ceph CSI driver (canary)
helm chart version
Kubernetes cluster version (1.14.1)
Logs

Steps to reproduce

deploy rbdplugin
create/delete multiple PVC
check rbd ls output

Actual results
rbd is creating multiple images in the backend for single PVC
Describe what happened
create and deleted an rbd PVC (dint see any issue) once I recreated an rbd PVC am seeing 3 rbd images in the backend
Expected behavior
rbd ls should show a single image for PVC
A clear and concise description of what you expected to happen.
Logs
PVC output
[🎩]mrajanna@localhost rbd $]kubectl create -f pvc.yaml
persistentvolumeclaim/rbd-pvc created
[🎩]mrajanna@localhost rbd $]kubectl get pvc
NAME      STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
rbd-pvc   Pending                                      csi-rbd-sc     3s
[🎩]mrajanna@localhost rbd $]kubectl get pvc
NAME      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
rbd-pvc   Bound    pvc-d4cdddf5-8d0a-11e9-b1d0-525400709fd9   1Gi        RWO            csi-rbd-sc     4s
[🎩]mrajanna@localhost rbd $]
[🎩]mrajanna@localhost rbd $]kubectl delete -f pvc.yaml
persistentvolumeclaim "rbd-pvc" deleted
[🎩]mrajanna@localhost rbd $]kubectl create -f snapshotclass.yaml
volumesnapshotclass.snapshot.storage.k8s.io/csi-rbdplugin-snapclass created
[🎩]mrajanna@localhost rbd $]kubectl create -f pvc.yaml
persistentvolumeclaim/rbd-pvc created
[🎩]mrajanna@localhost rbd $]kubectl get pvc
NAME      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
rbd-pvc   Bound    pvc-0741bb29-8d0b-11e9-b1d0-525400709fd9   1Gi        RWO            csi-rbd-sc     66s
[🎩]mrajanna@localhost rbd $]kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM             STORAGECLASS   REASON   AGE
pvc-0741bb29-8d0b-11e9-b1d0-525400709fd9   1Gi        RWO            Delete           Bound    default/rbd-pvc   csi-rbd-sc              63s

rbd ls output
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd ls
csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
[root@worker0 /]# rbd info csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8
rbd image 'csi-vol-d4f8d412-8d0a-11e9-90fe-a298890739d8':
	size 1 GiB in 256 objects
	order 22 (4 MiB objects)
	snapshot_count: 0
	id: 11b289bbb304
	block_name_prefix: rbd_data.11b289bbb304
	format: 2
	features: layering
	op_features:
	flags:
	create_timestamp: Wed Jun 12 12:08:50 2019
	access_timestamp: Wed Jun 12 12:08:50 2019
	modify_timestamp: Wed Jun 12 12:08:50 2019
[root@worker0 /]# rbd ls
[root@worker0 /]# rbd ls
[root@worker0 /]# rbd ls
csi-vol-082b9436-8d0b-11e9-bb4e-1eb22aff46bb
csi-vol-08374cf5-8d0b-11e9-90fe-a298890739d8
csi-vol-08399ffd-8d0b-11e9-a5a4-c6fbd27664af
[root@worker0 /]#
[root@worker0 /]# rbd ls
csi-vol-082b9436-8d0b-11e9-bb4e-1eb22aff46bb
csi-vol-08374cf5-8d0b-11e9-90fe-a298890739d8
csi-vol-08399ffd-8d0b-11e9-a5a4-c6fbd27664af
[root@worker0 /]# rbd info csi-vol-082b9436-8d0b-11e9-bb4e-1eb22aff46bb
rbd image 'csi-vol-082b9436-8d0b-11e9-bb4e-1eb22aff46bb':
	size 1 GiB in 256 objects
	order 22 (4 MiB objects)
	snapshot_count: 0
	id: 3a9cfcec3884
	block_name_prefix: rbd_data.3a9cfcec3884
	format: 2
	features: layering
	op_features:
	flags:
	create_timestamp: Wed Jun 12 12:10:15 2019
	access_timestamp: Wed Jun 12 12:10:15 2019
	modify_timestamp: Wed Jun 12 12:10:15 2019
[root@worker0 /]# rbd info csi-vol-08374cf5-8d0b-11e9-90fe-a298890739d8
rbd image 'csi-vol-08374cf5-8d0b-11e9-90fe-a298890739d8':
	size 1 GiB in 256 objects
	order 22 (4 MiB objects)
	snapshot_count: 0
	id: 600835a1e1a4
	block_name_prefix: rbd_data.600835a1e1a4
	format: 2
	features: layering
	op_features:
	flags:
	create_timestamp: Wed Jun 12 12:10:15 2019
	access_timestamp: Wed Jun 12 12:10:15 2019
	modify_timestamp: Wed Jun 12 12:10:15 2019
[root@worker0 /]# rbd info csi-vol-08399ffd-8d0b-11e9-a5a4-c6fbd27664af
rbd image 'csi-vol-08399ffd-8d0b-11e9-a5a4-c6fbd27664af':
	size 1 GiB in 256 objects
	order 22 (4 MiB objects)
	snapshot_count: 0
	id: 3a9f873ae438
	block_name_prefix: rbd_data.3a9f873ae438
	format: 2
	features: layering
	op_features:
	flags:
	create_timestamp: Wed Jun 12 12:10:15 2019
	access_timestamp: Wed Jun 12 12:10:15 2019
	modify_timestamp: Wed Jun 12 12:10:15 2019
[root@worker0 /]#
[root@worker0 /]# rbd ls
csi-vol-082b9436-8d0b-11e9-bb4e-1eb22aff46bb
csi-vol-08374cf5-8d0b-11e9-90fe-a298890739d8
csi-vol-08399ffd-8d0b-11e9-a5a4-c6fbd27664af
[root@worker0 /]#

after deleting the PVC am seeing 2 extra images in backend
[root@worker0 /]# rbd ls
csi-vol-082b9436-8d0b-11e9-bb4e-1eb22aff46bb
csi-vol-08399ffd-8d0b-11e9-a5a4-c6fbd27664af

@humblec @ShyamsundarR PTAL

samething is happening with snapshot also
log is from  different volume
[root@worker0 /]# rbd snap ls csi-vol-1211d7f7-8d0e-11e9-955e-36b2595be5cf
SNAPID NAME                                          SIZE  PROTECTED TIMESTAMP
     5 csi-snap-35aeac3e-8d0e-11e9-9e28-8e86690237d6 1 GiB yes       Wed Jun 12 12:33:01 2019
     6 csi-snap-35c585b0-8d0e-11e9-955e-36b2595be5cf 1 GiB yes       Wed Jun 12 12:33:01 2019
     7 csi-snap-35b9afc8-8d0e-11e9-849b-5647cc15ee54 1 GiB yes       Wed Jun 12 12:33:02 2019
[root@worker0 /]#
[root@worker0 /]# rbd snap ls csi-vol-1211d7f7-8d0e-11e9-955e-36b2595be5cf
SNAPID NAME                                          SIZE  PROTECTED TIMESTAMP
     6 csi-snap-35c585b0-8d0e-11e9-955e-36b2595be5cf 1 GiB yes       Wed Jun 12 12:33:01 2019
     7 csi-snap-35b9afc8-8d0e-11e9-849b-5647cc15ee54 1 GiB yes       Wed Jun 12 12:33:02 2019
[root@worker0 /]#
[root@worker0 /]# rbd snap ls csi-vol-1211d7f7-8d0e-11e9-955e-36b2595be5cf
SNAPID NAME                                          SIZE  PROTECTED TIMESTAMP
     6 csi-snap-35c585b0-8d0e-11e9-955e-36b2595be5cf 1 GiB yes       Wed Jun 12 12:33:01 2019
     7 csi-snap-35b9afc8-8d0e-11e9-849b-5647cc15ee54 1 GiB yes       Wed Jun 12 12:33:02 2019
[root@worker0 /]#
[root@worker0 /]# rbd snap ls csi-vol-1211d7f7-8d0e-11e9-955e-36b2595be5cf
SNAPID NAME                                          SIZE  PROTECTED TIMESTAMP
     6 csi-snap-35c585b0-8d0e-11e9-955e-36b2595be5cf 1 GiB yes       Wed Jun 12 12:33:01 2019
     7 csi-snap-35b9afc8-8d0e-11e9-849b-5647cc15ee54 1 GiB yes       Wed Jun 12 12:33:02 2019
[root@worker0 /]#
[root@worker0 /]# rbd snap ls csi-vol-1211d7f7-8d0e-11e9-955e-36b2595be5cf
SNAPID NAME                                          SIZE  PROTECTED TIMESTAMP
     6 csi-snap-35c585b0-8d0e-11e9-955e-36b2595be5cf 1 GiB yes       Wed Jun 12 12:33:01 2019
     7 csi-snap-35b9afc8-8d0e-11e9-849b-5647cc15ee54 1 GiB yes       Wed Jun 12 12:33:02 2019
[root@worker0 /]#
[root@worker0 /]# rbd snap ls csi-vol-1211d7f7-8d0e-11e9-955e-36b2595be5cf
SNAPID NAME                                          SIZE  PROTECTED TIMESTAMP
     6 csi-snap-35c585b0-8d0e-11e9-955e-36b2595be5cf 1 GiB yes       Wed Jun 12 12:33:01 2019
     7 csi-snap-35b9afc8-8d0e-11e9-849b-5647cc15ee54 1 GiB yes       Wed Jun 12 12:33:02 2019

@Madhu-1 first thing to check here is the number of attempts the CSI driver made to create the volume in the backend. The volume create call is idempotent, still we have to check that. If its something wrong in the backend ( by logging in the tool box pod), it should be easily reproducible by creating a volume in the backend manually.  If its CSI code, we have to track down from which commit this behaves differently or wrongly.

@dillaman Any thoughts here while we continue our analysis from CSI side?

@Madhu-1
Is it that the rbd image is not getting deleted and staying behind ?
OR
Is it that for a single pvc request, more than one rbd volume is getting created ?
Thanks

@nehaberry yeah correct let's wait till we fix https://github.com/ceph/ceph-csi/issues/426

The issue is that once we moved to a Deployment from a StatefulSet, in PR https://github.com/ceph/ceph-csi/pull/414 we are getting a create request being sent to all replicas in the Deployment. This causes each running instance to not lock out the other (as the locks are in memory locks, and will not conflict across processes/nodes) request, and so we end up losing atomicity.
The Deployment should have only 1 active/primary member, with the rest being passive/secondary. If this cannot be achieved using a deployment, then we possibly cannot use such constructs for the provisioner plugin.
Some logs from the 3 replicas processing the same request: (notice the Volume request name being common and sent to all 3 instances)
get pods
NAME                                         READY   STATUS    RESTARTS   AGE
csi-rbdplugin-hxjj8                          2/2     Running   1          4m43s
csi-rbdplugin-k74rk                          2/2     Running   1          4m43s
csi-rbdplugin-pj6s6                          2/2     Running   1          4m43s
csi-rbdplugin-provisioner-7c48d7c6c7-5k9cl   4/4     Running   2          4m47s
csi-rbdplugin-provisioner-7c48d7c6c7-c5dv2   4/4     Running   2          4m47s
csi-rbdplugin-provisioner-7c48d7c6c7-fp78v   4/4     Running   2          4m47s

logs csi-rbdplugin-provisioner-7c48d7c6c7-5k9cl -c csi-rbdplugin
I0612 15:58:48.263513       1 utils.go:105] GRPC call: /csi.v1.Controller/CreateVolume
I0612 15:58:48.263536       1 utils.go:106] GRPC request: {"capacity_range":{"required_bytes":1073741824},"name":"pvc-523d180a-8d2a-11e9-95e7-5cca182e0ce1","parameters":{"adminid":"admin","clusterID":"rookcluster","imageFeatures":"layering","imageFormat":"2","pool":"replicapool","userid":"admin"},"secrets":"***stripped***","volume_capabilities":[{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}}]}
I0612 15:58:48.267616       1 rbd_util.go:460] setting disableInUseChecks on rbd volume to: false
I0612 15:58:50.075643       1 rbd_journal.go:277] generated Volume ID (0001-000b-rookcluster-0000000000000001-f721ca81-8d2a-11e9-8982-ee87bc610626) and image name (csi-vol-f721ca81-8d2a-11e9-8982-ee87bc610626) for request name (pvc-523d180a-8d2a-11e9-95e7-5cca182e0ce1)
I0612 15:58:50.075848       1 rbd_util.go:130] rbd: create csi-vol-f721ca81-8d2a-11e9-8982-ee87bc610626 size 1024M format 2 (features: layering) using mon <IP_ADDRESS>:6790,<IP_ADDRESS>:6790,<IP_ADDRESS>:6790, pool replicapool
I0612 15:58:51.828748       1 controllerserver.go:185] created image csi-vol-f721ca81-8d2a-11e9-8982-ee87bc610626
I0612 15:58:51.828778       1 utils.go:111] GRPC response: {"volume":{"capacity_bytes":1073741824,"volume_context":{"adminid":"admin","clusterID":"rookcluster","imageFeatures":"layering","imageFormat":"2","pool":"replicapool","userid":"admin"},"volume_id":"0001-000b-rookcluster-0000000000000001-f721ca81-8d2a-11e9-8982-ee87bc610626"}}

logs csi-rbdplugin-provisioner-7c48d7c6c7-c5dv2 -c csi-rbdplugin
I0612 15:58:48.872618       1 utils.go:105] GRPC call: /csi.v1.Controller/CreateVolume
I0612 15:58:48.872644       1 utils.go:106] GRPC request: {"capacity_range":{"required_bytes":1073741824},"name":"pvc-523d180a-8d2a-11e9-95e7-5cca182e0ce1","parameters":{"adminid":"admin","clusterID":"rookcluster","imageFeatures":"layering","imageFormat":"2","pool":"replicapool","userid":"admin"},"secrets":"***stripped***","volume_capabilities":[{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}}]}
I0612 15:58:48.875264       1 rbd_util.go:460] setting disableInUseChecks on rbd volume to: false
I0612 15:59:10.176947       1 rbd_journal.go:277] generated Volume ID (0001-000b-rookcluster-0000000000000001-f7788132-8d2a-11e9-9098-d6b872beca9e) and image name (csi-vol-f7788132-8d2a-11e9-9098-d6b872beca9e) for request name (pvc-523d180a-8d2a-11e9-95e7-5cca182e0ce1)
I0612 15:59:10.176982       1 rbd_util.go:130] rbd: create csi-vol-f7788132-8d2a-11e9-9098-d6b872beca9e size 1024M format 2 (features: layering) using mon <IP_ADDRESS>:6790,<IP_ADDRESS>:6790,<IP_ADDRESS>:6790, pool replicapool
I0612 15:59:10.311413       1 controllerserver.go:185] created image csi-vol-f7788132-8d2a-11e9-9098-d6b872beca9e
I0612 15:59:10.311465       1 utils.go:111] GRPC response: {"volume":{"capacity_bytes":1073741824,"volume_context":{"adminid":"admin","clusterID":"rookcluster","imageFeatures":"layering","imageFormat":"2","pool":"replicapool","userid":"admin"},"volume_id":"0001-000b-rookcluster-0000000000000001-f7788132-8d2a-11e9-9098-d6b872beca9e"}}

logs csi-rbdplugin-provisioner-7c48d7c6c7-fp78v -c csi-rbdplugin
I0612 15:58:47.892960       1 utils.go:105] GRPC call: /csi.v1.Controller/CreateVolume
I0612 15:58:47.892979       1 utils.go:106] GRPC request: {"capacity_range":{"required_bytes":1073741824},"name":"pvc-523d180a-8d2a-11e9-95e7-5cca182e0ce1","parameters":{"adminid":"admin","clusterID":"rookcluster","imageFeatures":"layering","imageFormat":"2","pool":"replicapool","userid":"admin"},"secrets":"***stripped***","volume_capabilities":[{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}}]}
I0612 15:58:47.895126       1 rbd_util.go:460] setting disableInUseChecks on rbd volume to: false
I0612 15:58:49.632222       1 rbd_journal.go:277] generated Volume ID (0001-000b-rookcluster-0000000000000001-f6eb0a96-8d2a-11e9-86a1-8a7fb00d4e3f) and image name (csi-vol-f6eb0a96-8d2a-11e9-86a1-8a7fb00d4e3f) for request name (pvc-523d180a-8d2a-11e9-95e7-5cca182e0ce1)
I0612 15:58:49.632274       1 rbd_util.go:130] rbd: create csi-vol-f6eb0a96-8d2a-11e9-86a1-8a7fb00d4e3f size 1024M format 2 (features: layering) using mon <IP_ADDRESS>:6790,<IP_ADDRESS>:6790,<IP_ADDRESS>:6790, pool replicapool
I0612 15:58:51.340840       1 controllerserver.go:185] created image csi-vol-f6eb0a96-8d2a-11e9-86a1-8a7fb00d4e3f
I0612 15:58:51.340864       1 utils.go:111] GRPC response: {"volume":{"capacity_bytes":1073741824,"volume_context":{"adminid":"admin","clusterID":"rookcluster","imageFeatures":"layering","imageFormat":"2","pool":"replicapool","userid":"admin"},"volume_id":"0001-000b-rookcluster-0000000000000001-f6eb0a96-8d2a-11e9-86a1-8a7fb00d4e3f"}}

I am reminded of slides 44-48 in the Storage 101 [1] talk at Kubecon Barcelona this year.
[1] https://static.sched.com/hosted_files/kccnceu19/cf/slides.pdf

The Deployment should have only 1 active/primary member, with the rest being passive/secondary. If this cannot be achieved using a deployment, then we possibly cannot use such constructs for the provisioner plugin.

Looks like this is achieved using the leader election feature in the csi-provisioner side car, BUT in order for this to trigger we need the following additions/corrections to the file: deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml
This line needs an opening quotation mark (IOW, has a typo): https://github.com/ceph/ceph-csi/blob/69662e63ed0eaaaef1d135138b997a45cf6d8793/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml#L23
Following the above line in the same file we need to add - "--enable-leader-election" to actually enable leader election by the csi-provisioner containers, as even with the above change the request is broadcast than sent to a leader.
Finally, even with the above 2 changes, my pods are stuck in electing a leader with the following error from the csi-provisioner container:
E0612 17:52:40.605813       1 leaderelection.go:310] error initially creating leader election record: the server could not find the requested resource
I0612 17:52:40.605882       1 leaderelection.go:222] failed to acquire lease default/rbd-csi-ceph-com
E0612 17:52:50.500719       1 leaderelection.go:310] error initially creating leader election record: the server could not find the requested resource
I0612 17:52:50.500742       1 leaderelection.go:222] failed to acquire lease default/rbd-csi-ceph-com

This could be due to me running kubernetes v1.13.5 or a problem with the RBAC for leases or some more configuration needed before leases can work.
@Madhu-1 request you take a look?

@Madhu-1 after reverting the patch, things are working as expected , Isnt it ?

yes closing this one


Clarify format of author strings

What is the correct format for author strings?

name <email> (<email> is optional) or
name <email> (url) (<email> and (url) are optional) like npm?

Thanks.

Currently it's primarily "name " where the email is optional, but we don't necessarily have many tools parsing these just yet. Adding in (url) would probably also be fine!

So it is "1." for now, thanks!


Bat2Ps hybrid w/ Params support

Hey, made a cool hybrid and thought about you, it's got some aspects still rusty, feel free to have fun with it 👍
<# : @couleurm on github
@echo off & set a=%* &REM to join multiple strings as arrays
::set a=%a:" "=","%
set a=%a:"=\^"%
PowerShell "& (& {[Scriptblock]::Create((Get-Content \"%~f0\" -Raw))}) %a%" & exit /b
#>
param(
    $argument,
    [Parameter(ValueFromRemainingArguments = $true)]
    [System.Collections.Arraylist]
    $rest
    )
"argument"
$argument
"rest"
$rest

It's well known.
But I stay away from the explicit Scriptblock because it floods the Powershell event log, each time quoting the whole script.


Can't keybind "Ctrl-Enter"

Description of the problem or steps to reproduce
I want to bind Ctrl-Enter to EndOfLine,InsertNewline mimicking Sublime Text behavior. The press of Enter is seems to be captured by the default InsertNewline, so that I get the normal Enter behavior even if I also press Ctrl.
{
    "CtrlEnter": "EndOfLine,InsertNewline",
}

I don't think this is an issue with my command, as it works with other keys. I also had no success with additionally defining "Enter": "InsertNewline" in bindings.json.
Specifications
Commit hash: 1856891
OS: Linux Ubuntu 18.04 (Kernel 4.15)
Terminal: gnome-terminal 3.28.2

I found the problem, but not the solution. The docs say we can not use any key not on there list (even though some of the defaults seem to do so).
I have not been able to find the if it is possible to map CtrlEnter, and if so how.

Any resolution to this, I use CtrlEnter all the time to insert a newline after the current line. Also CtrlShiftEnter doesn't seem to work either.


WFLY-12545 fix IllegalArgumentException when list-clear persist empty…

… aliases list for ejb cache
https://issues.jboss.org/browse/WFLY-12545
After list-clear or list-remove operations, an empty aliases list can be persisted for ejb cache, this can cause IllegalArgumentException after reload.

This issue is similar to https://github.com/wildfly/wildfly-core/pull/3950. Tests cases in 3950 could cover this one


Get page routes from the route index

I think there's no point in creating a bunch of new objects each time we want to access a route, however since only pages with actual source files generally get added to the route index, the old behaviour is present as a fall back (for example when using new MarkdownPage in a test)

This causes an issue with multiple source files with the same identifier, this is not an issue in actual code as you can't have multiple files with the same name anyways, but in tests where we do everything in-memory it can be an issue as seen here:
https://github.com/hydephp/develop/blob/a41fa35042fe9fce2880e3701b972fe990b52be5/packages/framework/tests/Feature/HydePageTest.php#L958-L962


Try and be clearer about how official we mean

 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.

Hi @peternewman. Thanks for your PR. I think it's a reasonable change to make, but I'd like to try to understand the motivation.
This concept of "official" is used other places like the Arduino project specifications and the Arduino Lint output and documentation, so if I can understand exactly what is unclear about it, I can use that to try to write better documentation related to this subject.
What was your first impression of what the previous sentence meant?

Run the checks that only apply to official Arduino projects.

This concept of "official" is used other places like the Arduino project specifications and the Arduino Lint output and documentation, so if I can understand exactly what is unclear about it, I can use that to try to write better documentation related to this subject.

I guess it feels like there are three (or maybe four) levels of libraries:

Those which come by default with the Arduino IDE
Those listed in the library manager
ZIP libraries

I don't know if there are "official" Arduino libraries that don't ship in the default IDE?
For example there are two identically named Teensy libraries to do DMX and RDM:
https://github.com/chrisstaite/TeensyDmx
https://github.com/ssilverman/TeensyDMX
Which behave very differently, the latter (and later) one is "registered", the former (and earlier) isn't. Is one of those therefore official and one not? i.e. does showing up in the IDE make you official?

What was your first impression of what the previous sentence meant?

Run the checks that only apply to official Arduino projects.

Particularly with regards to checks, would every library in the library manager need to pass the checks to be official and in the manager, compare a deb you build and run locally or internally in a company to one that is uploaded to Debian, the latter will have to pass most/all of lintian, it's less important for the former.
Third party seemed a fairly simple way of making that distinction, but perhaps there is a better wording still?

I guess it feels like there are three (or maybe four) levels of libraries:

For Arduino Lint's purposes, there are only two categories:

"official" - software projects under the Arduino company's ownership. i.e., hosted under the arduino, arduino-libraries, bcmi-labs, or vidor-libraries GitHub organizations (definitive list here).
everything else

Is the meaning of "official" clear from that explanation?

I don't know if there are "official" Arduino libraries that don't ship in the default IDE?

Yes. Over 100 of them, and more being created all the time! The 18 libraries shipped with the classic Arduino IDE installation are either the very fundamental ones the beginners are most likely to use (e.g., Servo) so they can get straight to having fun after installing the IDE, or ones that were created long ago, before the superior distribution system of Arduino Library Manager was created.
You can find most (with additional scattered through the other organizations I mentioned) of them here:
https://github.com/arduino-libraries
(by the way, we are using codespell-project/actions-codespell on pretty much all of them!)
In fact, there are even a couple of 3rd party libraries bundled with the classic Arduino IDE installation: "Adafruit_CircuitPlayground" and "Firmata".

I guess it feels like there are three (or maybe four) levels of libraries:

For Arduino Lint's purposes, there are only two categories:
* "official" - software projects under the Arduino company's ownership. i.e., hosted under the `arduino`, `arduino-libraries`, `bcmi-labs`, or `vidor-libraries` GitHub organizations (definitive list [here](https://github.com/arduino/library-registry-submission-parser/blob/1.0.0/main.go#L51)).

* everything else

Is the meaning of "official" clear from that explanation?

Yes, although I'm not sure how best you distil that into something succinct, maybe 3rd party does the trick, as it even covers Firmata mentioned below despite the fact it's in the IDE. Or perhaps the above is as simple as you can make it.

(by the way, we are using codespell-project/actions-codespell on pretty much all of them!)

:heart:

In fact, there are even a couple of 3rd party libraries bundled with the classic Arduino IDE installation: "Adafruit_CircuitPlayground" and "Firmata".

Yeah that's the sort of thing that has the potential to cause confusion IMHO with a word such as "official".


is there is any way to expand the first node in treeBrowser by default?

is there is any way to expand the first node in treeBrowser by default. ?
Please suggest ??

you just need to set _ad_expanded = true on whichever node you want expanded.

can please elaborate where i exactly need to do it ?. Thanks in advance.

Its working now. Thanks.

To my understanding i have added _ad_expanded = true in particular node in JSON. But is there any other way to do this. ?. Thanks in advance.

Currently that is the only way possible.

ok cool. Will use it in that way itself. Thanks. :+1:


Update textfield docs

Resolves #882

Codecov Report

Merging #896 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #896   +/-   ##
======================================
  Coverage    94.5%   94.5%
======================================
  Files          85      85
  Lines        3496    3496
  Branches      532     532
======================================
  Hits         3304    3304
  Misses         66      66
  Partials      126     126

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ac7e184...c2bd8dd. Read the comment docs.


add task solution

Good job!)

Accepted but check the code style as described over here https://mate-academy.github.io/qa-program/checklists/cypress.html

done)


Does this work with Mono?

Looking to use this on Linux and couldn't find if this was tested and worked on Mono.

I just tested this with some basic templates on Mono and it worked great :)


the root pom should specify dependency versions

use dependency management

can you be more specific about the concrete problem(s) (and possible solutions)


Rename symbol on a HTML tag inside of JSX globally renames all tags

From @xirzec on March 9, 2016 22:24

Open a project that uses TypeScript + JSX (with react.d.ts loaded)
Put the cursor over a common HTML tag like

Hit F2 to rename symbol
Rename the div to something else (like span)

Expected: Just the matching open/close is renamed to
Actual: Every div in every JSX file is now a span and even react.d.ts has had its div attribute in the HTML tag names renamed to span
VS Code version: 0.10.10
Copied from original issue: Microsoft/vscode#3937

This is entirely by design. The element name in a JSX expression is class/interface/function name, and renaming it renames all references to that class/interface/function, just as it would for any other symbol.
If the expectation is that we would only update the open/close tag, then that is a new feature, and not the current rename operation.

At a minimum we should block the operation when the tag name is sourced in IntrinsicElements

I think we need a general approach here. may not change anything "outside" your project. for instance any symbol from a .d.ts from a node package, or a @typings folder.

Yeah this is a hard problem, I think the expected behavior is a simple tag rename in the JSX markup, but that's only because of how easy it is to fall into expecting HTML language service semantics out of a JSX file.
The reason this was particularly painful in VS Code is that it edits a ton of files with a bad change and Edit -> Undo only reverted it in the currently opened document, leaving it up to the user to manually revert many unexpected edits (hope you committed your changes recently.)

is this fixed by https://github.com/microsoft/TypeScript/pull/28066?

Is there news about this or a workaround?

I just discovered this bug today in the worst way possible.


Implement derive macro for Downgrade/Upgrade traits

Can you also submit it to https://github.com/gtk-rs/gtk-rs and close the one here?

Closing in favor of https://github.com/gtk-rs/gtk-rs/pull/200


cannot attach debugger to subprocesses. error

Steps to reproduce
Tell us about your environment:

ndb version: latest
Platform / OS version:  mac osx 10.12.1
Node.js version:  8.9.1

What steps will reproduce the problem?
Please include code that reproduces the issue.
when i debugger to this step:
var exec = require('child_process').exec;
var child = exec(cmd, {
    maxBuffer: 1024 * 1024
});

child.stdout.on('data', function(out) {
    callback(0.9, out);
});
child.stderr.on('data', function(err) {
    console.error(err);
    callback(0.9, 'nej打包错误，信息为：' + err);
});

What is the expected result?
it should be ok, just like i do same in intellij.
What happens instead?
but it erros:
Debugger listening on ws://<IP_ADDRESS>:60041/cf319e02-496b-4ebc-82cc-ca199c2337b0
For help see https://nodejs.org/en/docs/inspector
Debugger attached.
How to solve this problem ??

Could you provide a little more details? What command you pass to exec? What do you mean by it should be ok?
The attached output is not an error by itself it just means that ndb successfully connected to child process.

I found the question.
The callback is base on socket.io, such as:
// 监听发布专题
    socket.on("publish", function (data) {

        api.publish(data.name, function (progress,info) {

            io.to(data.name).emit("publishProgress",{
                progress:progress,
                info:info
            });
        });
    });

If I  remove the callback ,it can be success:
var exec = require('child_process').exec;
var child = exec(cmd, {
    maxBuffer: 1024 * 1024
});

child.stdout.on('data', function(out) {
    //callback(0.9, out);
});
child.stderr.on('data', function(err) {
    //console.error(err);
    //callback(0.9, 'nej打包错误，信息为：' + err);
});
child.on('close', function(code) {
    //callback(0.9, 'nej打包完成，信息为：' + code);

    if (!!done) {
        done();
    }
});

so how to solve the problem? If my code is base on socket.

Could you provide command how do you start ndb and what exactly error do you get?

Feel free to reopen this issue with more details!


Fix up spring boot for working in jube

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/224/
Test PASSed.


[INTEL MKL] Work around tf.data related performance regression on Int…

…el MKL backend.
RN50 real data performance regression was about 40%. This PR brings the
performance back by adding the MKL specific #ifdef macro.

Furthermore, while your fix might address the resnet performance regression, it would break any programs that require the use of multi-device function backend.

Thanks @jsimsa for the review. We now roughly know why is_multi_device_function==true would cause performance slowdown, and we are internally working on a real solution, rather than a workaround. It will take time to finish validation to ensure the general solution does not incur other regressions.
For "programs that require the use of multi-device function backend",  good point. This PR will generate an inconsistency from the python level. Could you please point me to some design principals (documents) of this is_multi_device_function? E.g. I'd like to understand is_multi_device_function transparent to the user and how can I tell that a particular program is using/benefiting from multi-device function backend, especially on why multi_device_function would benefit the Eigen on CPU and MKL on CPU, where the sharing of inter-op thread pool is already causing some headache sometimes. Thanks!

Here is an example of a program that requires multi-device function backend: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/data/kernel_tests/map_test.py#L1227
Or any program that runs with a GPU and access a variable from input pipeline. In the presence of GPU, variables will be placed on GPU by default and without multi-device function such programs would not work. Here is a trivial example::
    v = tf.Variable([1.])  # implicitly on GPU
    def _map_fn(features, labels):
      return tf.add(features, v), labels

    features = tf.constant([[0., 1.], [2., 3.]])
    labels = tf.constant([1, 0])
    dataset = tf.data.Dataset.from_tensor_slices((features, labels))
    dataset = dataset.map(_map_fn)

multi-device function backend is considered an implementation detail and there are no design principals / documents (as far as I know). You can study its code here and here.

Thanks @jsimsa for your time and this example! I understand is_multi_device_function more now.
"Or any program that runs with a GPU and access a variable from input pipeline. In the presence of GPU, variables will be placed on GPU by default and without multi-device function such programs would not work. " It seems to me that this design is benefitting heterogeneous (CPU w/ GPU, CPU w/TPU) where the accelerators might need CPU's help for input pipelining. But different from  GPU, Intel MKL also runs on CPU, so Intel MKL does not need multi_device capability to read variables from the input pipelining, right?
Also, my PR has added "#ifdef", so when we find it is GPU, multi_device will still be true.
I think programs that require multi_device support are mostly written for non-CPUs (as you said,  to transfer data from input to compute), this PR maybe does not affect such programs I think. Please correct me if I am wrong. I think for pure CPUs, Intel MKL does not need to read variable from the input pipeline, therefore does not need multi_device_function?
Or, for Intel MKL, are you thinking of the support that "one socket of a two socket system does input processing, and the compute would be on the other socket feature"?  Without multi_device_function feature, this will not be possible in TensorFlow, correct?  If that is the case, I think it makes sense.

As you pointed out, cross-devices computation does not have to be just between CPU and GPU/TPU. There can be multiple CPU devices (e.g. one for each NUMA zone or if explicitly created by the user program).
Independently of the above, I think you change is making the tf.data code brittle (and harder to test) and I would prefer to first understand the problem (and convince myself that there is no better solution) before accepting such a change.

Ok, thanks @jsimsa It now makes sense for me. Actually a better solution (not affecting tf.data at all) is coming up soon by our team. I am going to close my PR in light of our discussion above. Thank you!

Sounds good.

@jsimsa  FYI, this is the real fix: https://github.com/tensorflow/tensorflow/pull/31254
Restricting graph rewrite rule so that we don't have a standalone mkl version of slice op while others are non MKL.


Fixing workflows

Fix M2K event kind to only generate triggers for consumed event
Fix modify VM resources to avoid error when generating manifest with kn: use expression instead of inject
Fix application.properties for request vm and modify resources

can you rebase and push?

@rgolangh done

/hold

\unhold

/unhold

@gabriel-farache perhaps it would be better to move the m2k to its own PR not to block the remaining changes from getting merged.


Not able to get the list of orderbook for a specific symbol

Hi there,
I am looking for a function that I could use to get, for example, the 50 first orderbook (buyers and sellers). Binance API allows that but I am wondering if there is any way to do it with your library.
Thanks.

from binance.client import Client
client = Client('api-key', 'api-secret')
depth = client.get_order_book(symbol='BNBBTC')
pay someone to read the docs for you https://python-binance.readthedocs.io/en/latest/index.html


🐛 [Bug]: The doc can't switch to english

Which React Vant packages are impacted?

[ ] react-vant (React Vant core)
[ ] react-vant-icons(React Vant Icon)

What version of React Vant are you using?
3.3.4
Reproduce live demo(codesandebox or stackblitz)?
No response
Descripition

抱歉 暂时没精力支持en


[#447] NEW: Adding example for sleep before wait is used

Added an example that would sleep for 1 second before every wait action and created a test case for the same to verify.

@yashaka any further change you would recommend here?

@vaibhavsahni009, oh, sorry for late response...
seems like current implementation has sleep_time parameter, that never will be used... because if you pass custom sleep_time, the logic will be broken, won't it? Try to refactor your fixture to be not "autousable", to something like this:
@pytest.fixture(scope='function')
def browser_management_with_default_sleep():
    browser.config._wait_decorator = sleep_before_wait

    yield

@pytest.fixture(scope='function')
def browser_management_with_custom_sleep():
    browser.config._wait_decorator = sleep_before_wait(0.5)

    yield

def test_sleep_via__wait_decorator(browser_management_with_default_sleep):
    ...

def test_sleep_via_wait_decorator_with_custom_time(browser_management_with_custom_sleep):
    ...
    # I suppose this test will fail... try to fix it... or get back to me with response that it works...


Fix test flake

TestDownloadFilesFromHost was flaking.  This was because we were writing to dummyMode.args and dummyMode.timesCalled in an unsynchronised way from two different goroutines.  This meant that we could get lost updates.
I fixed this by adding a channel.  dummyMode.DownloadFile now sends its args to a channel; once you're done with your test input, you call dummyMode.Args() to read everything off the channel and put it into the slice as before.

I tested this worked by running go test ./cmd/multifile -count=10000 a few times

Included in #42


Update teams-powershell-release-notes.md

Added details for 2.4.2 till 2.5 version releases

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.


[Issue-1285] - federations can be attached to only one ds plus some changes based on…

… feedback

SUCCESS
No test results found.
Test PASSed.

FAILURE
No test results found.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/631/

FAILURE
No test results found.
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/673/
Test FAILed.

SUCCESS
No test results found.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/632/


Feature request

Hello shemanaev,
Would it be possible to create filter based on multiple arguments?
Something like:
if rating <6 & not played >180  & notfavorite = delete
if release < 2019  & not played >180  & notfavorite = delete
if older than > 180 days & played once = delete

I have thought about that, but doesn't end up with a good way to design "non-geek" UI yet.
It'll is also nice to have more flexible rules, like: (rating < 6 OR release < 2019) AND (notfavorite OR not played > 180), so it's not easy task.
I will probably implement it someday, but not in near future.


Add accession number to Uniprot search options

To accommodate searching protein accession numbers, the tool's naming convention was generalized away from referring to taxa specifically.
The tool may be expanded in the future to include more of the possible Uniprot search fields.

Thanks!


Error in content

https://codequality.workshop.aws/en/introduction/cdci.html has the following statement:
CI (Continuous Deployment) means that changes from developers are automatically uploaded to Repository after bug testing. CD (Continuous Deployment) means that the developer’s changes are all tested and automatically released to the production environment delivery to the customer. As a result, CI/CD means the actual process represented by the pipeline and adds automation monitoring of application development.
I think highlighted text is supposed to be: Continuous Integration instead.

Thank you! I fixed this issue 👍


chore: fix rocks terminology

Simply renaming all upper case references of "ROCK" to "rock". Also added a couple of links to the README.md.

Can you please also update the repo's description?


[Suggestion] Have a parameter to generate the SBOM using a different format (json, table)

Suggestion
The RHTAP task show-sbon generates the SBOM report using the JSON format.
While this format could be helpful if it can be imported in an application able to proceed it, reading a JSON output as pod's log using the RHTAP UI is not really convenient.
This is why I suggest that we support, part of the pipeline, a new parameter to tell to the tool which format should be used to populate it. We can keep "json" as and add "table" as 2nd option and more.

what is it you are looking for in the sbom?

what is it you are looking for in the sbom?

Developers are interested to see the content of the SBOM, if it includes CVEs which imply to bump some dependencies ;-)


Add the warning when using python version 3.5

Task name: UsePythonVersionV0
Description: Added the warning when using python version 3.5, since python 3.5 has reached its end of life and it will be removed from ms-hosted images on January, 24.
Documentation changes required: N
Added unit tests: N
Attached related issue: #15608
Checklist:

[x] Task version was bumped
[x] Checked that applied changes work as expected

/azp run

/azp run


{CI} Explicitly fetch PR target branch

Description
When shallow fetch is enabled in ADO
https://dev.azure.com/azure-sdk/public/_apps/hub/ms.vss-ciworkflow.build-ci-hub?_a=edit-build-definition&id=246&view=Tab_Tasks

even though its help message says "each remote branch"

the actual commands is
https://dev.azure.com/azure-sdk/public/_build/results?buildId=1456114&view=logs&j=74095127-2a27-5370-37ed-15a4193f243f&t=3c34c09e-4c00-5f6e-f049-f62c206540eb
git init "/home/vsts/work/1/s"
git remote add origin https://github.com/Azure/azure-cli
git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --prune-tags --progress --no-recurse-submodules origin --depth=1 +bf1b698fea11904607dfff3559b6feb2d5539b5f:refs/remotes/origin/bf1b698fea11904607dfff3559b6feb2d5539b5f
git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --prune-tags --progress --no-recurse-submodules origin --depth=1 +bf1b698fea11904607dfff3559b6feb2d5539b5f
git checkout --progress --force refs/remotes/origin/bf1b698fea11904607dfff3559b6feb2d5539b5f

This will only fetch bf1b698fea11904607dfff3559b6feb2d5539b5f, but not dev.
Later, azdev fails with
https://dev.azure.com/azure-sdk/public/_build/results?buildId=1456114&view=logs&j=74095127-2a27-5370-37ed-15a4193f243f&t=5cf5f89a-09fb-583c-72e4-4e4427c89fb1
ERROR: usage error, invalid branch: origin/dev

This PR explicitly fetches origin/dev branch so that it is available for the following azdev command.

For example, Azure PowerShell's repo is now 1.65GB:
https://dev.azure.com/azure-sdk/public/_build/results?buildId=1456978&view=logs&j=b17395f6-68a3-5682-0476-d3f6f1043109&t=dbe35b61-cb9c-53e7-48a6-94a3521db8c2&l=237
Receiving objects: 100% (828584/828584), 1.65 GiB | 21.20 MiB/s, done.

If the network condition in ADO is bad and the download speed is 10MB/s, it will take almost 3 minutes to fetch the source code.
For Azure CLI, the difference is also outstanding:
Before:
Receiving objects: 100% (174239/174239), 356.22 MiB | 20.38 MiB/s, done.

After:
Receiving objects: 100% (69725/69725), 258.02 MiB | 10.76 MiB/s, done.


Test data

@SamvelMK   Hi, Thanks for developing this great package.
I am trying out fcmpy.
What does thesep_concept='->'  do ? in this code
data = fcm.read_data(file_path= os.path.abspath('../unittests/test_cases/data_test.csv'),
                      sep_concept='->', csv_sep=';')

Thank you.

@nsankar Thanks for the feedback - gald to see you are using it. The sep_concept argument indicates the pattern by which the concepts are separated in the column headings in the data. For example, in the column heading you might have ('concept_A - Concept_B') than the separator would be '-'. As a default (to make it more clear) we use '->' to show that it's a causal link from concept_B to concept_B


Likelihood of new dataset given an optimized GP

Hello,
I am using GPFlow to obtain the log marginal likelihood of an optimized GP, given a dataset. After the optimization, I would like to "test" the aforementioned GP with a new dataset, and know what is the probability of this GP "producing" this new dataset.
Is this possible in GPFlow? I have searched the documentation and have not found results.
Thank you very much for the great tool.
Regards,
Francisco.

You can either set model.X and model.Y to new values, or you can use a feed dict (this is likely to be faster, especially if you want to do this many times):
fd = {model.X.parameter_tensor:Xnew, model.Y.parameter_tensor:Ynew}
print(model.compute_log_likelihood(feed_dict=fd))

@hughsalimbeni Thank you so much! It worked perfectly well.


NCCL error when using ddp with 2 gpus

🐛 Bug
I try to run pytorch lighting using ddp with 2 gpus. Running with one gpu works fine. Using fp16 vs not results in the same error. See the stacktrace at the end of the post to see the error. I also tried ddp2 and dp, but both of those fail with a different error.
To Reproduce
Not sure. Let me know what I can do to diagnose.
I'm running my code on a cluster where each gpu is locked to one process. I'm using NCCL version 2.4.8.
I tried pytorch-lightning versions 0.9.0, 0.9.1rc4, 0.10.0rc1. All of them result in the same error. I'm running pytorch version 1.6.
Expected behavior
I expected training to start running smoothly using both gpus.
Environment

CUDA:
- GPU:
- GeForce GTX 1080
- GeForce GTX 1080
- available:         True
- version:           10.1
Packages:
- numpy:             1.18.1
- pyTorch_debug:     False
- pyTorch_version:   1.6.0
- pytorch-lightning: 0.10.0rc1
- tqdm:              4.46.1
System:
- OS:                Linux
- architecture:
- 64bit
-
- processor:
- python:            3.7.7
- version:           #1 SMP Tue May 12 16:57:42 UTC 2020

Additional context
Stacktrace and error.
initializing ddp: GLOBAL_RANK: 0, MEMBER: 1/2
INFO:lightning:initializing ddp: GLOBAL_RANK: 0, MEMBER: 1/2
LOCAL_RANK: 1 - CUDA_VISIBLE_DEVICES: [0,1]
INFO:lightning:LOCAL_RANK: 1 - CUDA_VISIBLE_DEVICES: [0,1]
Using native 16bit precision.
INFO:lightning:Using native 16bit precision.
initializing ddp: GLOBAL_RANK: 1, MEMBER: 2/2
INFO:lightning:initializing ddp: GLOBAL_RANK: 1, MEMBER: 2/2
lo-s4-039:21587:21587 [0] NCCL INFO Bootstrap : Using [0]fabric:<IP_ADDRESS><0> [1]enp129s0f0:<IP_ADDRESS><0>
lo-s4-039:21587:21587 [0] NCCL INFO NET/Plugin : No plugin found (libnccl-net.so).
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs1
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs0
lo-s4-039:21587:21587 [0] NCCL INFO NET/IB : No device found.
lo-s4-039:21587:21587 [0] NCCL INFO NET/Socket : Using [0]fabric:<IP_ADDRESS><0> [1]enp129s0f0:<IP_ADDRESS><0>
NCCL version 2.4.8+cuda10.1
lo-s4-039:21614:21614 [1] NCCL INFO Bootstrap : Using [0]fabric:<IP_ADDRESS><0> [1]enp129s0f0:<IP_ADDRESS><0>
lo-s4-039:21614:21614 [1] NCCL INFO NET/Plugin : No plugin found (libnccl-net.so).
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs1
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs0
lo-s4-039:21614:21614 [1] NCCL INFO NET/IB : No device found.
lo-s4-039:21614:21614 [1] NCCL INFO NET/Socket : Using [0]fabric:<IP_ADDRESS><0> [1]enp129s0f0:<IP_ADDRESS><0>
lo-s4-039:21587:21646 [0] NCCL INFO Setting affinity for GPU 0 to 1fd001fd
lo-s4-039:21614:21647 [1] NCCL INFO Setting affinity for GPU 1 to 1fd001fd
lo-s4-039:21587:21646 [0] NCCL INFO Channel 00 :    0   1
lo-s4-039:21587:21646 [0] NCCL INFO Ring 00 : 0[1] -> 1[2] via P2P/IPC
lo-s4-039:21614:21647 [1] NCCL INFO Ring 00 : 1[2] -> 0[1] via P2P/IPC

lo-s4-039:21587:21646 [0] transport/p2p.cc:574 NCCL WARN failed to open CUDA IPC handle : 711 peer mapping resources exhausted
lo-s4-039:21587:21646 [0] NCCL INFO init.cc:669 -> 1
lo-s4-039:21587:21646 [0] NCCL INFO init.cc:815 -> 1
lo-s4-039:21587:21646 [0] NCCL INFO init.cc:951 -> 1
lo-s4-039:21587:21646 [0] NCCL INFO misc/group.cc:69 -> 1 [Async thread]

lo-s4-039:21614:21647 [1] transport/p2p.cc:574 NCCL WARN failed to open CUDA IPC handle : 711 peer mapping resources exhausted
lo-s4-039:21614:21647 [1] NCCL INFO init.cc:669 -> 1
lo-s4-039:21614:21647 [1] NCCL INFO init.cc:815 -> 1
lo-s4-039:21614:21647 [1] NCCL INFO init.cc:951 -> 1
lo-s4-039:21614:21647 [1] NCCL INFO misc/group.cc:69 -> 1 [Async thread]
Traceback (most recent call last):
  File "tools/lightning.py", line 514, in <module>
Traceback (most recent call last):
  File "/cluster/home/user/tracking/tools/lightning.py", line 514, in <module>
    trainer.fit(model)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 451, in fit
    results = self.accelerator_backend.train()
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_backend.py", line 140, in train
    trainer.fit(model)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 451, in fit
    results = self.ddp_train(process_idx=self.task_idx, model=model)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_backend.py", line 266, in ddp_train
    model = model.configure_ddp(model, device_ids)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/core/lightning.py", line 954, in configure_ddp
    results = self.accelerator_backend.train()
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_backend.py", line 140, in train
    results = self.ddp_train(process_idx=self.task_idx, model=model)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_backend.py", line 266, in ddp_train
    model, device_ids=device_ids, find_unused_parameters=True
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 333, in __init__
    model = model.configure_ddp(model, device_ids)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/core/lightning.py", line 954, in configure_ddp
    self.broadcast_bucket_size)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 549, in _distributed_broadcast_coalesced
    model, device_ids=device_ids, find_unused_parameters=True
    dist._broadcast_coalesced(self.process_group, tensors, buffer_size)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 333, in __init__
RuntimeError: NCCL error in: /opt/conda/conda-bld/pytorch_1595629403081/work/torch/lib/c10d/ProcessGroupNCCL.cpp:518, unhandled cuda error, NCCL version 2.4.8
    self.broadcast_bucket_size)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 549, in _distributed_broadcast_coalesced
    dist._broadcast_coalesced(self.process_group, tensors, buffer_size)
RuntimeError: NCCL error in: /opt/conda/conda-bld/pytorch_1595629403081/work/torch/lib/c10d/ProcessGroupNCCL.cpp:518, unhandled cuda error, NCCL version 2.4.8

mind upgrading to 1.0.2? And try to reproduce using this model-> https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pl_examples/bug_report_model.py

@kekeblom how do you launch your script? how do I reproduce it with the bug report template?

I'm running my code on a cluster where each gpu is locked to one process.

That should be fine, ddp launches 1 process per gpu.

Actually, I haven't seen this happen again. So I can't reproduce. Might have been the version or then it's somehow related to the gpu that gets scheduled.
Maybe it's worth closing the issue. I'll let you know if I re-encouter the problem.

Speak of the devil.
Tried it on 1.0.3 with 2 gpus. Modified the bug_report_model.py to have gpus=2, distributed_backend="ddp" in the trainer initializer arguments.
It seems it only happens when running on a machine with GTX 1080 gpus. Machines with GTX 1080 Ti does not appear to suffer from this issue.
Here is the output of nvidia-smi:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100      Driver Version: 440.100      CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:65:00.0 Off |                  N/A |
|  0%   34C    P8    11W / 275W |     92MiB / 11169MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

Here is the stack trace:
Traceback (most recent call last):
  File "/cluster/home/user/bug_report.py", line 135, in <module>
Traceback (most recent call last):
  File "/cluster/home/user/bug_report.py", line 135, in <module>
    run_test()
  File "/cluster/home/user/bug_report.py", line 130, in run_test
    run_test()
  File "/cluster/home/user/bug_report.py", line 130, in run_test
    trainer.fit(model, train_data, val_data)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 439, in fit
    trainer.fit(model, train_data, val_data)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 439, in fit
    results = self.accelerator_backend.train()
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 146, in train
    results = self.accelerator_backend.train()
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 146, in train
    results = self.ddp_train(process_idx=self.task_idx, model=model)
    results = self.ddp_train(process_idx=self.task_idx, model=model)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 272, in ddp_train
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 272, in ddp_train
    model = self.configure_ddp(model, device_ids)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 290, in configure_ddp
    model = self.configure_ddp(model, device_ids)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 290, in configure_ddp
    model, device_ids=device_ids, find_unused_parameters=True
    model, device_ids=device_ids, find_unused_parameters=True
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 333, in __init__
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 333, in __init__
    self.broadcast_bucket_size)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 549, in _distributed_broadcast_coalesced
    self.broadcast_bucket_size)
  File "/cluster/home/user/miniconda3/envs/track/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 549, in _distributed_broadcast_coalesced
    dist._broadcast_coalesced(self.process_group, tensors, buffer_size)
RuntimeError: NCCL error in: /opt/conda/conda-bld/pytorch_1595629403081/work/torch/lib/c10d/ProcessGroupNCCL.cpp:518, unhandled cuda error, NCCL version 2.4.8
    dist._broadcast_coalesced(self.process_group, tensors, buffer_size)
RuntimeError: NCCL error in: /opt/conda/conda-bld/pytorch_1595629403081/work/torch/lib/c10d/ProcessGroupNCCL.cpp:518, unhandled cuda error, NCCL version 2.4.8


Update dependencies and support Django 4.2

This PR updates this app's dependencies and includes support for Django 4.2.

coverage: 99.581% (+0.004%) from 99.577%
when pulling 20a42de91685ff3595a52f4d482440c000a023f0 on django42
into c3791ad4d847e6355faaf418d3710f4f8bcbb197 on main.


replace TestBuilder with mocking object to improve test design

Fix COLLECTIONS-798
Description
Replace test class TestBuilder by mocking object and improve test design.

Motivation

Decouple test class TestBuilder from production interface Builder.
Make test logic more clear by using method stub instead of method overriding.
Make test condition more explict by use local variable in test case.

Key changed/added classes in this PR

Created mocking object to replace test subclass TestBuilder, decoupled test from production code.
Extract items as a local variable to improve test logic and make test condition more explict.
Make test logic more clear by using method stub instead of method overriding.
Add Mockito dependency.

Coverage remained the same at 90.143% when pulling 1d533c9547a33a2b257a3bd77a9572b1edb8574e on wx930910:refactor-testBuilder into ddb4f78cfffc3392d897f7d59b75db946bf3a055 on apache:master.

@kinow Thanks for your reminder! I just revised the code format and it passed the Travis CI. The GH Actions won't run automatically since I am a First-time contributor and need a maintainer to approve running workflows.

@kinow Thanks for your reminder! I just revised the code format and it passed the Travis CI. The GH Actions won't run automatically since I am a First-time contributor and need a maintainer to approve running workflows.

Oh, just approved the run, it should start shortly. Thanks!

This pull is no longer required as the HasherBuilder and the associated test have been removed from the bloomfilter package.


Upload files or images translation

I just can not translate upload files or images using translatable attribute in the model. It works nice with normal strings but when the image field is translatable it only saves a JSON with the locale and null value.
I've been reading docs and "googleing" my problem and it seems this issue is not very common yet.
Is there a way to make this working?
If you need more details just tell me what you would need to know.
Thanks.

This might be best asked at https://stackoverflow.com/search?q=laravel+backpack - however, do you have any sample code to show what you've tried already?
Providing sample code (as a gist, a public repo or even on one of the snippet sites) will help others see what you've tried already.

@OwenMelbz It's possible this one might be a bug depending on what @ellannon means.

I have an entity called Product which is multilanguage and also has different images for each language. I show the model with the mutators needed to save images.
`use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Backpack\CRUD\CrudTrait;
use App\Traits\ModelObservantTrait;
use App\Traits\SeoObservantTrait;
use Backpack\CRUD\ModelTraits\SpatieTranslatable\HasTranslations;
class Product extends Model
{
use ModelObservantTrait;
use SeoObservantTrait;
use CrudTrait;
use SoftDeletes;
use HasTranslations;
protected $table = 'products';
protected $primaryKey = 'id';
public $timestamps = true;
protected $fillable = ['family_id', 'name', 'observations', 'image', 'image_catalogue', 'published',
'created_user', 'updated_user', 'deleted_user'];
protected $dates = ['deleted_at'];
protected $translatable = ['name', 'observations', 'image', 'image_catalogue', 'published'];

/*
|--------------------------------------------------------------------------
| MUTATORS
|--------------------------------------------------------------------------
*/
public function setImageAttribute($value)
{
$attribute_name = "image";
$disk = "uploads";
$destination_path = "uploads/".$this->table;
    // if the image was erased
    if ($value==null) {
        // delete the image from disk
        \Storage::disk($disk)->delete($this->$attribute_name);

        // set null in the database column
        $this->attributes[$attribute_name] = null;
    }

    // if a base64 was sent, store it in the db
    if (starts_with($value, 'data:image'))
    {
        // 0. Make the image
        $image = \Image::make($value);
        // 1. Generate a filename.
        $filename = md5($value.time()).'.jpg';
        // 2. Store the image on disk.
        \Storage::disk($disk)->put($destination_path.'/'.$filename, $image->stream());
        // 3. Save the path to the database
        $this->attributes[$attribute_name] = $destination_path.'/'.$filename;
    }
}

public function setImageCatalogueAttribute($value)
{
    $attribute_name = "image_catalogue";
    $disk = "uploads";
    $destination_path = "uploads/".$this->table;

    // if the image was erased
    if ($value==null) {
        // delete the image from disk
        \Storage::disk($disk)->delete($this->$attribute_name);

        // set null in the database column
        $this->attributes[$attribute_name] = null;
    }

    // if a base64 was sent, store it in the db
    if (starts_with($value, 'data:image'))
    {
        // 0. Make the image
        $image = \Image::make($value);
        // 1. Generate a filename.
        $filename = md5($value.time()).'.jpg';
        // 2. Store the image on disk.
        \Storage::disk($disk)->put($destination_path.'/'.$filename, $image->stream());
        // 3. Save the path to the database
        $this->attributes[$attribute_name] = $destination_path.'/'.$filename;
    }
}

This is the code I have in ProductCrudController into the addFields function:
$this->crud->addFields([
[
'label' => trans('admin.image'),
'name' => "image",
'type' => 'image',
'upload' => true,
'crop' => true,
'aspect_ratio' => 0,
],
[
'label' => trans('admin.image_catalogue'),
'name' => "image_catalogue",
'type' => 'image',
'upload' => true,
'crop' => true,
'aspect_ratio' => 0,
]
]);
`
The images are correctly saved in disk (it works!!) BUT in the database I get this:
{"en":null,"pt":null,"es":null}
I made some debugs and I saw that the $destination_path.'/'.$filename; is 'uploads/products/*****.jpg' after setImageAttribute function. At this point everything works, the file is saved in disk but, then, $destination_path.'/'.$filename; becomes null at some point during the translation process (this is the null I get into the database) and finally it goes back and become a base:64 image code again which is not saved into database.

@lloy0076
i think this issue is a bug but I could be wrong

It sounds odd enough behaviour to make me think it could be a bug.

Hi @ellannon! Did you solve it?
I've got the same problem.. thanks!

Hi @meodev. No, I didn't solve it. In ordre to proceed with my work I had to made a workaround by creating new database fields for each language and manage them by code. But, I could not find the bug yet. I just know what happens with the data I'm trying to save as I explain in my post.
If you find something else maybe it gives some idea about how to solve it :)

Hey @ellannon!!!!! Good news for you
Upgrade these 2 files first:
https://github.com/chancezeus/CRUD/blob/7a86ac6858803874a3ce83918bd7a0b2b7c726d9/src/CrudTrait.php
https://github.com/chancezeus/CRUD/blob/7a86ac6858803874a3ce83918bd7a0b2b7c726d9/src/ModelTraits/SpatieTranslatable/HasTranslations.php
The setTranslation function search a $value returned from the Mutator (like setImageAttribute)
so you have to return the $value of the file you have uploaded ;)
In my case:
`
public function setPdfAttribute($value)
{
$attribute_name = "pdf";
$disk = "pdf";
$destination_path = "pdf";
$this->uploadPdfToDisk($value, $attribute_name, $disk, $destination_path);
// OH YEAH BABY!!!
return $this->attributes['pdf'];
}
`

I'm trying to figure out if the fix is generic or specific and have asked @meodev for more information re: the fix.

Closing due to inactivity - see here for a possible solution.


[CLOUDGA-23248] : CLI Get Cluster - Add CP Status

Tested with cluster on devcloud

Looks good to me!

Should/can this be hidden if the FF is not on?

Looks good to me!

Should/can this be hidden if the FF is not on?

Yeah, if it is not public yet and behind a feature flag, it has to be hidden. Please use the following PRs for reference:
https://github.com/yugabyte/ybm-cli/commit/400b247fb52b790758a8df910224ef8a05e57021#diff-bcf06a220f40318c8aa7a4383cf9255bc9f7691d036b41bea3b3ac1dae41c529R243
https://github.com/yugabyte/ybm-cli/commit/90c548af08d8630e6c6c3ca05a591804bf9782b8#diff-bcf06a220f40318c8aa7a4383cf9255bc9f7691d036b41bea3b3ac1dae41c529R278
Any new ideas are welcome too.

Yes the connection pooling enable/disable commands are under the FFs but this is a column in the list/get cluster commands. Can we not print this if the FF isn't enabled? cc: @adityakaushik99-yb

Yes the connection pooling enable/disable commands are under the FFs but this is a column in the list/get cluster commands. Can we not print this if the FF isn't enabled? cc: @adityakaushik99-yb

Not sure if that's possible, but FWIW having discussed this with Ranga and Krishnan, they were okay with this being visible if there isn't a way to hide it.

@adityakaushik99-yb
I think we can hide the column. If you see the references I have given carefully, there are two formatters https://github.com/yugabyte/ybm-cli/commit/400b247fb52b790758a8df910224ef8a05e57021#diff-ec0e1226ad0a30e67f3817df0[…]338ec042816cc25d5ee1c1fd3ac6a90 and https://github.com/yugabyte/ybm-cli/commit/400b247fb52b790758a8df910224ef8a05e57021#diff-34a06783171303786c49a8bba[…]05745fb75f48a13b4eed2fbddae1b75
The v2 command invokes a different formatter thereby showing a different set of columns in the output.

@adityakaushik99-yb Looks good, please check the build once.


chore: remove 'Empty' folders and files

Thesis: It may be more beneficial to remove 'Empty' files given version control maintains file history, and tooling exists. Perhaps Mirror users may rather consume information contained by the 'Empty' files in a centralized CHANGELOG.md and/or migration guide coupled?
Context: I wrote an analysis script to learn a bit more about Mirror and practice shell scripting. Once I implemented a "clean lines of code (loc)" feature (clean meaning comments and new lines not considered) I noticed there were a bunch of files that had 0 loc. It got me thinking...
Uncertainty: I may not fully understand the rationale for these files or why they're important.
I suspect the 'Empty' files exist to help Mirror users understand additional context for if and why some files were removed, and where to look if they need to update their own code.
If these Empty files are ones Mirror maintainers want to keep and I missed an obvious benefit, please inform me the reason so I can understand too :)

The files in the Empty folders are intentional, because of how Unity deals with updates from the Asset Store.
Unity doesn't remove anything from previous versions that are absent from new versions.  Unity tracks everything by meta files, including scripts, so instead of removing scripts, we made them empty and moved them to the Empty folders, keeping their associated meta files with them and intact.
When a Mirror update is installed with the files moved, Unity matches those files in the previous release (that are in their original place on user's system) and correctly updates them to the empty versions, and in the Empty folders.
Certainly some of the older ones could be dropped now, but we should keep any that have a date in them within a year from now.


Update rust-installer

Closes #1798

@bors: r+ p=1

:pushpin: Commit 0b57de1 has been approved by alexcrichton

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)


Zoom-in bug.

This might be trivial or just a problem with the demo, but there is definetly some weird zooming behaviour going on.
Steps to reproduce:

Load the first demo: https://codepen.io/Ni55aN/pen/jBEKBQ
Zoom out as far as you can.
Drag the a component (or all of them) to the far left (or right).

Now it's impossible to zoom-in on the components placed on the far left/right. You also can't drag yourself over to the components when zoomed in. The only way to interact (or fix) it is by zooming out again and moving the components back to the middle.
P.S. Would you like me to create an issue for spelling mistakes in the code. (Please say no, I don't like to be a grammer Nazi)

Ok, I'll try to fix this by limiting the movement of nodes

Would you like me to create an issue for spelling mistakes in the code.

Good idea. I'll be glad to get help with it

3741c462c6b4a62fdaf99447cac2c5a232e385ba


Can't upgrade to version 2.0.0

Describe what happened
I can't upgrade to version 2.0.0.

Failing with this message
npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@datadog/mobile-react-native
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@datadog/mobile-react-navigation
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/@datadog/mobile-react-native
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@datadog/mobile-react-navigation
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Maybe the peer dependency needs to be updated too.
https://github.com/DataDog/dd-sdk-reactnative/blob/cbf402ae85f73b4ee9a8091ceb1310b35d7318f9/packages/react-native-navigation/package.json#L47
Steps to reproduce the issue:
In the package.json update Datadog dependencies
    "@datadog/mobile-react-native": "2.0.0",
    "@datadog/mobile-react-navigation": "2.0.0",

run npm install
Describe what you expected:
Datadog packages are upgraded without error.
Additional context

Version of the SDK: 2.0.0
Version of React Native: 0.72.6

Hi @lgassense, thanks for catching this!
Indeed there is an error in the package.json. I apologize, we only run our release flow using yarn and missed that one.
I'll make a quick release to fix this, and look at how we can automate the peer dependency update for the release after that.
In the meantime, I can suggest a few ways to unblock you.
Perhaps the best is to force the version of @datadog/mobile-react-native to the one specified in your package.json by adding an "overrides" field in your package.json (docs):
{
  "overrides": {
    "@datadog/mobile-react-native": "$@datadog/mobile-react-native"
  }
}

You can also run npm install --legacy-peer-deps,  at the risk of potentially missing a real peer dependency issue.
I'll get back to you when 2.0.1 is ready.

Hi @lgassense,
Thanks again for taking the time to report the issue :)
Version 2.0.1 has been released, containing the fix to the issue.
I'll close the GitHub issue, feel free to reopen it if needed!


Notebook for IPU machines

As of recently, Paperspace now offers notebook machines with Graphcore IPUs, and the specs are impressive. 104 GB RAM is more than the combined memory and VRAM of most of the GPU machines, and if the TFlop numbers are accurate and representative, then they absolutely blast the GPU machines out of the water in computing power. Best of all, all of this is applicable to free instances which don't require a premium subscription to access, so no money is needed to take advantage of these absolutely busted specs.
Now, Stability AI's Stable Diffusion implementation isn't written to take advantage of IPUs (.cuda() calls everywhere, oh my), but there are other implementations that can use them. Graphcore covers one way of doing so at https://www.graphcore.ai/posts/how-to-run-stable-diffusion-inference-on-ipus-with-paperspace . Maybe this can be spruced up into a fully-featured notebook script?

The notebooks linked in the post aren't loading for me, something about a "Unexpected error". Can you download them and attach them to a reply?

I found a repo with the notebook sources: https://github.com/gradient-ai/Graphcore-HuggingFace . The "front page" ipynb files that the links in that blog post open are in "/notebooks/stable-diffusion/".

How's this one doing so far?

This notebook is more focused on the stable-diffusion-webui, which I don't think could easily be ported to IPU. But if you get something running, post a link here and I'll add it to the README.md


Fixing a few typos in dataset_design.rst

@jenshnielsen this is a PR into jenshnielsen/Qcodes/dataset_docs so you can update your PR on qcodes/qcodes
👍

@robert-wallis Thanks.


Library for Audio processing

Want some library for processing Audio streams.

Originally tried TarsosDSP library, but since it had the GNU license, we are now looking at an alternative. Worst case scenario: we build our own for Android.


Cassandra Support

Hi,
I noticed that in the Cassandra Client patch 5 months ago (https://github.com/brianfrankcooper/YCSB/commit/012873a01cae914bf6f04eb5de3d94f59a8405e2),
the Cassandra client version was downgraded from 1.0.7 to 0.7.0, in order to ensure backward compatibility in compiling CassandraClient7.java and CassandraClient8.java.
I was wondering if using the older version of the client wouldn't be ideal for benchmarking purposes?
Thanks,
minghan

The Cassandra version is now 1.2.9.


Proposal: convenient macro for RPC creation

As it stands, and with certain lifetime necessities, to create a new method for your anchor program it will look something like:
    #[access_control(ctx.accounts.validate(&ctx, &params))]
    pub fn aggregator_set_history_buffer<'a>(mut ctx: Context<'_, '_, '_, 'a, AggregatorSetHistoryBuffer<'a>>, params: AggregatorSetHistoryBufferParams) -> Result<()> {
        AggregatorSetHistoryBuffer::actuate(&mut ctx, &params)
    }

When this shows up +30 times in your program it can become a bit of bloat.  It would be great convenience if the idl method generation code could understand macros, like such:
macro_rules! rpc {
    ($ctx: ident) => {
        paste! {
            #[access_control(ctx.accounts.validate(&ctx, &params))]
            pub fn [<$ctx:snake>]<'info>(
                mut ctx: Context<'_, '_, '_, 'info, $ctx<'info>>,
                params: concat_idents!($ctx, Params),
            ) -> Result<()> {
                $ctx::actuate(&mut ctx, &params)
            }
        }
    };
}

And creating a new method is as simple as:
rpc!(AggregatorSetHistoryBuffer);

i had same idea, it would be nice if it ran cargo expand before parsing the rust.


Fill missing pubspec fields

Adds repository and homepage to pubspec.yaml which will add 10 pub points. Includes other automated updates to pubspec.lock.

Thank you @Pebsie!


Get dummy deployment workflows in a good state

Still using the research-software-support content for test deployment, but now using the active sha/version of NEBULA.


UI Improvements for attributes

Few improvements which will soften the tone of the attributes in the help menu, as well as fixes for double colon which really got my OCD. :D

sigh


Fix wrong alphabetical order in autocompletion sorting.

Fixes #78296
The problem is not really that it is sorted alphabetically but more that it isn't. It was sorting upper-case letters before lower-case ones which meant all constants would go at the top.
This what now is shown for similar setup as the issue

I'm wondering about the Import path maybe I should remove underscores before sorting alphabetically, or at least the first one as with it they will always appear first (for empty string to complete).

The problem is not really that it is sorted alphabetically but more that it isn't. It was sorting upper-case letters before lower-case ones which meant all constants would go at the top.

Well that's arguable, sorting upper case letters before lower case letters is fairly common. But if we want to go all the way this should maybe use NaturalNoCaseComparator.
Sorting like this is maybe a slight improvement over listing constants first, but still a regression compared to 4.0 IMO. I think what it used to do is give higher priority to members which are defined directly in the current class (script variables and methods, and for the C++ class itself, ordered in order of inheritance: Sprite2D methods first, then Node2D, then Node, etc.
With the idea that the more local methods are the ones you'll need to be reminded of when using a specialized node.
That might be out of scope for this issue of course.

Using naturalnocasecmp_to would make it closer to documentation, but I think that a more comprehensive rework of the way results are sorted would be best, and I think just nocasecmp_to is enough for now

The problem is not really that it is sorted alphabetically but more that it isn't. It was sorting upper-case letters before lower-case ones which meant all constants would go at the top.

Well that's arguable, sorting upper case letters before lower case letters is fairly common. But if we want to go all the way this should maybe use NaturalNoCaseComparator. Edit: That's what @AThousandShips suggested.
Sorting like this is maybe a slight improvement over listing constants first, but still a regression compared to 4.0 IMO. I think what it used to do is give higher priority to members which are defined directly in the current class (script variables and methods, and for the C++ class itself, ordered in order of inheritance: Sprite2D methods first, then Node2D, then Node, etc. With the idea that the more local methods are the ones you'll need to be reminded of when using a specialized node.
That might be out of scope for this issue of course.

This should still be the case. Didn't think of it and thought that it was all Sprite2D variables :( shwoing first but this is clearly not the case.

Using naturalnocasecmp_to would make it closer to documentation, but I think that a more comprehensive rework of the way results are sorted would be best, and I think just nocasecmp_to is enough for now

I was wondering about this but didn't know what was the difference between the two. I'll use the natural version one.
okay so from your commentaries I realised there was another bug hidden behind the case bug which was in certain cases for empty string location was ignored. I'm fixing it right now.

Using naturalnocasecmp_to would make it closer to documentation, but I think that a more comprehensive rework of the way results are sorted would be best, and I think just nocasecmp_to is enough for now

I was wondering about this but didn't know what was the difference between the two. I'll use the natural version one.

Yes you should use naturalnocasecmp_to - the difference is the handling of numbers. Natural order: 1, 2, 10. Otherwise: 1, 10, 2.

Thanks!


Adding new legal basis i.e. Voluntary

Motivation and Context
To change the MES survey to use new Voluntary legal basis.
What has changed
New entry to the startup script has been added to include new Voluntary legal bais
How to test?
Smoke Test
Links
Trello

spelling error in the up. bais

Chage the migration filenames to the standard <filename>.up.sql. You have _up.sql
Same for down


[REQ] UI update requires wiki revision

Acknowledgement of preliminary instructions

[X] I have read and acknowledged the preliminary instructions.

What idea do you have?
In-game UI updated again and I can't find a fix. Can this be added to the wiki???

(This message is copy pasted from my pinned message in the official discord server https://discord.gg/nKjV3mGq6R)
Q: Where is the menu selector? How do I get rid of Chrome menu?
A: I highly recommend staying on the chrome menu. Its the only one properly supported by roblox and the others will most likely be removed completely very soon.
-# If you REALLY want the old menus and just CANT live without it (I still advise just getting used to chrome its better anyways) then you can refer to this thread https://discord.com/channels/1099468797410283540/1301330066231267389/1301330066231267389; Any of these flags can stop working at any time, dont complain if they dont work

In-game UI updated again and I can't find a fix. Can this be added to the wiki???

We're not officially supporting menu UI changes currently. That's why we removed the option for it.


Add multiple stock retrieval and percentage change

Duplicated code to allow gathering percentage change and gathering multiple percentage changes at once. Also threw in a script as an example of how to use all of this.

I didn't think you'd come out with V2 so fast! There's conflicts but you can just move the new code.

Hello! Wow, I did not expect anyone to create a Pull Request! This is super cool, and is my first time handling a pull request, so sorry if it takes me a while to inspect it and possibly merge it. Thank you so much for the time and support taken toward Stockstir! I will take a look at the code and check it out.

Oh haha, sorry I should have made it more straightforward then, it’s just your code copied and modified for new values. I didn’t really do anything new. It’s a fun project, I’d been thinking of doing the same thing then I saw your post on Reddit.Envoyé de mon iPhoneLe 31 déc. 2023 à 17:36, Edward Ferrari @.***> a écrit :
Hello! Wow, I did not expect anyone to create a Pull Request! This is super cool, and is my first time handling a pull request, so sorry if it takes me a while to inspect it and possibly merge it. Thank you so much for the time and support taken toward Stockstir! I will take a look at the code and check it out.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Oh haha, sorry I should have made it more straightforward then, it’s just your code copied and modified for new values. I didn’t really do anything new. It’s a fun project, I’d been thinking of doing the same thing then I saw your post on Reddit.Envoyé de mon iPhoneLe 31 déc. 2023 à 17:36, Edward Ferrari @.> a écrit : Hello! Wow, I did not expect anyone to create a Pull Request! This is super cool, and is my first time handling a pull request, so sorry if it takes me a while to inspect it and possibly merge it. Thank you so much for the time and support taken toward Stockstir! I will take a look at the code and check it out. —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>

Thank you again! Will definitely integrate the code within Stockstir in the next release, which also fixes other things such as Python formatting guidelines. These ideas will for sure enhance usability. Thanks!

Thank you PandaStacker! Your idea of the multi ticker data gathering has been implemented into Stockstir in the latest release. You are not included in the credits of the Documentation, as well as the latest Reddit post about Stockstir. I hope you enjoy the new update!


question: for loadbalancer, why I can direct connect the container port?

kubectl  get svc
NAME      TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)       AGE
proxy-lb  LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   1210:32432/TCP  4h35m

why I can access the service by port 1210(the 32432 also works)?
The k3s is not even listening on port 1210, how can k3s achieve this?

Are you testing from a node that is part of the cluster?
If yes, that is an expected Kubernetes behaviour as by default (without network policies) any node inside the cluster should be able to connect to services/pods ports.


Trio base endpoint implementation

replaces #56
built on #133 #135 #136
What was wrong?
We need a trio based endpoint implementation.
How was it fixed?
Wrote an implementation using the trio library.
Cute Animal Picture

This is ready for review but only the latest commit is relevant.  The others are part of other pull requests.

I won't be surprised if there are a few underlying issues but this should have rough parity to the existing asyncio implementation and I'd like to start using it as soon as possible.  One thing that I want to focus on a little is unification of the test suites since they are effectively duplicates.

About to dive in, 1500 is a lot of lines but I'm excited to see this shipped!


Who use this?

I'll create a "Who uses this?" small list in the README. If you would like your company to be on this list, please mention it on this issue.
For example,
Eoitek
Thank you!

深圳市城市交通规划设计研究中心
www.sutpc.com
股票代码：深城交301091

顶点财经
https://topcj.com/#/


Support PTVSD debugging in the container

Fixes #169
Previous startup remains the same, you need to use a different
docker-compose to add in PTVSD changes.

The only change to the current code is adding a new package to the requirements. Everything else is new/optional.
I like this method way of overriding the docker-compose.

This works beautifully!

Thanks for inviting me to review this PR, @jonespm.  However, I don't use VS Code or have it installed, so I don't have any way to test this.
I had looked at the changes before you requested my review.  I would have suggested removing comments from the JSON, but I see you've done that in a commit subsequent to my viewing.
So, I'll recuse myself from this review and leave it in the hands of the others.

Sure @lsloan, I just invited everyone. Do you have any way you're doing remote debugging with whatever software you're using? I find that remote debugging really speeds up development time and it even works when this is running out on Openshift. I don't think I could work in Java without using it in Eclipse and just working on the last issue I was thinking it would have saved me time if I just added this so I could inspect the variables.


providers/ec2: refactor user data retrieval

Add support for IMDSv2
Updates aws-sdk-go to latest version to add support IMDSv2.
Refactors user data retrieval to use aws-sdk-go api.
Alternative to https://github.com/flatcar-linux/ignition/pull/19.
How to use
Start a Flacar instance in AWS with IMDSv2 enabled. At the moment the instance fails to boot.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html
Testing done
NONE

Thanks, @tormath1 is working on a Ignition v3 update - would this bring IMDSv2 from upstream Ignition?

Thanks for this contribution - IMDSv2 is implemented in the upstream: https://github.com/coreos/ignition/commit/585c029f36cf7a027f22704759bb3c6600709b2d.
In the meantime, we could try to cherry-pick this commit to flatcar-linux/ignition ?

Thanks for checking this @tormath1 & @pothos. That upstream commit would be a good start.
Though I don't see the point of re-implementing the something that is part of aws-sdk-go, or maybe it does something extra that I am missing.

@hakman I personally agree on this statement:

I don't see the point of re-implementing the something that is part of aws-sdk-go

IMHO, upstream was maybe not aware about this line:
ec2metadata.New(f.AWSSession).GetUserData()

You could try to submit this PR to the upstream to get their review, then we will backport the upstream patch to this fork. The goal is to minimize the drift between this fork and the uptream in order to only have Flatcar related patches.

Thanks @tormath1. I agree. Could you take care of the cherry-pick?

Hopefully someone can address this in a better way soon.


External FLASH software

write/adapt software from MCB aurora for the SST26VF016B flash memory
write/complete unit tests

Maybe will be dropped or nice to have


Laravel 11.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 11.x.
Before merging, you need to:

Checkout the l11-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: The latest version of Laravel has a dependency for phpunit/phpunit of ^10.5. If you would like to also upgrade your tests, you may run the PHPUnit 10 Shift for free.

:warning: Shift detected GitHub Actions which run jobs using a version matrix. Shift attempted to update your configuration for Laravel 11. However, you should review these changes to ensure the desired combination of versions are built for your package.

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/laravel-tail.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "spatie/laravel-tail": "dev-l11-compatibility",
    }
}

Finally, run: composer update

Thanks!