clang 32 bit with address sanitizer missing libclang_rt.lsan-i386.a

Describe the bug
clang 10 for 32bit doesn't support address sanitizer.
Steps To Reproduce
Steps to reproduce the behavior:

using pkgsi686Linux.clang_10 in shell.nix
clang a.c -m32 -fsanitize=leak in nix-shell
got error: /nix/store/4c4fy3hs558qm0ykif24f200d8mvcrkb-binutils-2.35.1/bin/ld: cannot find /nix/store/h4h6h98m32xcp18vcbd2mx5rfd34bmw1-clang-wrapper-10.0.1/resource-root/lib/linux/libclang_rt.lsan-i386.a: No such file or directory clang-10: error: linker command failed with exit code 1 (use -v to see invocation)

Expected behavior
Build should work
Metadata

system: "x86_64-linux"
host os: Linux <IP_ADDRESS>-microsoft-standard-WSL2, Ubuntu, 20.04.4 LTS (Focal Fossa), nobuild
multi-user?: no
sandbox: yes
version: nix-env (Nix) 2.10.3
channels(michael): "nixpkgs"
nixpkgs: /home/michael/.nix-defexpr/channels/nixpkgs

@lovek323 @7c6f434c @dtzWill @primeos

Argh, in fact I should have disabled the optimization first. With clang -O0 -fsanitize=address -g a.c it does work as expected:
$ ASAN_OPTIONS=detect_leaks=1 ./result/bin/a.out
=================================================================
==511906==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 7 byte(s) in 1 object(s) allocated from:
    #0 0x4cf85f  (/nix/store/cjl6zbvw62q3vqz4pb59pf9fzfsvb676--/bin/a.out+0x4cf85f)
    #1 0x512fb8  (/nix/store/cjl6zbvw62q3vqz4pb59pf9fzfsvb676--/bin/a.out+0x512fb8)
    #2 0x7fed0b08e24d  (/nix/store/fz54faknl123dimzz6jsppw193lx2mip-glibc-2.35-163/lib/libc.so.6+0x2924d) (BuildId: a51f395ddf9cd82c373cb8ede4d2ad6bb2212ff8)

SUMMARY: AddressSanitizer: 7 byte(s) leaked in 1 allocation(s).

@Mrogovp Is the bug related to the fact that clang 10 does not work, or is it fine to use clang 13/14…

Ok makes sense then. Note that the 64bit version does not suffer from the same issue: it does compile but then it's impossible to run the binary:
# Replace clang_14 with clang_10 in the above flake
$ nix build .#hello
$ ./result/bin/a.out
==637860==ERROR: LeakSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
==637860==Process memory map follows:
        0x000000400000-0x000000404000   /nix/store/vrrg6lrqr50ibrhb1a9gw66nn5qhc6b0--/bin/a.out
        0x000000404000-0x00000042f000   /nix/store/vrrg6lrqr50ibrhb1a9gw66nn5qhc6b0--/bin/a.out
        0x00000042f000-0x000000441000   /nix/store/vrrg6lrqr50ibrhb1a9gw66nn5qhc6b0--/bin/a.out
        0x000000441000-0x000000442000   /nix/store/vrrg6lrqr50ibrhb1a9gw66nn5qhc6b0--/bin/a.out
        0x000000442000-0x000000445000   /nix/store/vrrg6lrqr50ibrhb1a9gw66nn5qhc6b0--/bin/a.out
        0x000000445000-0x000000cd9000
        0x600000000000-0x640000000000
        0x640000000000-0x640000003000
        0x7f6851900000-0x7f6852100000
        0x7f6852100000-0x7f6852200000
        0x7f6852300000-0x7f6852400000
        0x7f68524e0000-0x7f6852700000
        0x7f6852800000-0x7f6852900000
        0x7f68529ad000-0x7f68529dd000
        0x7f68529dd000-0x7f6852a05000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libc.so.6
        0x7f6852a05000-0x7f6852b7b000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libc.so.6
        0x7f6852b7b000-0x7f6852bd3000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libc.so.6
        0x7f6852bd3000-0x7f6852bd7000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libc.so.6
        0x7f6852bd7000-0x7f6852bd9000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libc.so.6
        0x7f6852bd9000-0x7f6852be8000
        0x7f6852be8000-0x7f6852beb000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libgcc_s.so.1
        0x7f6852beb000-0x7f6852bfc000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libgcc_s.so.1
        0x7f6852bfc000-0x7f6852bff000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libgcc_s.so.1
        0x7f6852bff000-0x7f6852c00000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libgcc_s.so.1
        0x7f6852c00000-0x7f6852c01000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libgcc_s.so.1
        0x7f6852c01000-0x7f6852c02000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libgcc_s.so.1
        0x7f6852c02000-0x7f6852c03000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libdl.so.2
        0x7f6852c03000-0x7f6852c04000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libdl.so.2
        0x7f6852c04000-0x7f6852c05000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libdl.so.2
        0x7f6852c05000-0x7f6852c06000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libdl.so.2
        0x7f6852c06000-0x7f6852c07000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libdl.so.2
        0x7f6852c07000-0x7f6852c15000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libm.so.6
        0x7f6852c15000-0x7f6852c88000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libm.so.6
        0x7f6852c88000-0x7f6852ce5000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libm.so.6
        0x7f6852ce5000-0x7f6852ce6000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libm.so.6
        0x7f6852ce6000-0x7f6852ce7000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libm.so.6
        0x7f6852ce7000-0x7f6852ce8000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/librt.so.1
        0x7f6852ce8000-0x7f6852ce9000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/librt.so.1
        0x7f6852ce9000-0x7f6852cea000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/librt.so.1
        0x7f6852cea000-0x7f6852ceb000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/librt.so.1
        0x7f6852ceb000-0x7f6852cec000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/librt.so.1
        0x7f6852cec000-0x7f6852ced000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libpthread.so.0
        0x7f6852ced000-0x7f6852cee000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libpthread.so.0
        0x7f6852cee000-0x7f6852cef000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libpthread.so.0
        0x7f6852cef000-0x7f6852cf0000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libpthread.so.0
        0x7f6852cf0000-0x7f6852cf1000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libpthread.so.0
        0x7f6852cf1000-0x7f6852cf3000
        0x7f6852cf3000-0x7f6852cf5000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/ld-linux-x86-64.so.2
        0x7f6852cf5000-0x7f6852d1c000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/ld-linux-x86-64.so.2
        0x7f6852d1c000-0x7f6852d28000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/ld-linux-x86-64.so.2
        0x7f6852d28000-0x7f6852d2a000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/ld-linux-x86-64.so.2
        0x7f6852d2a000-0x7f6852d2c000   /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/ld-linux-x86-64.so.2
        0x7fffc84d7000-0x7fffc84fe000   [stack]
        0x7fffc858d000-0x7fffc8591000   [vvar]
        0x7fffc8591000-0x7fffc8593000   [vdso]
        0xffffffffff600000-0xffffffffff601000   [vsyscall]
==637860==End of process memory map.
==637860==Sanitizer CHECK failed: /build/compiler-rt-10.0.1.src/lib/sanitizer_common/sanitizer_common.cpp:54 ((0 && "unable to mmap")) != (0) (0, 0)


whether support posix api?

We have a POSIX layer but it is not published. Please email<EMAIL_ADDRESS>and I'll get you the POSIX layer. Please note that it is not implement all POSIX functions and we do not actively maintain or support the POSIX layer.

We have a POSIX layer but it is not published. Please email<EMAIL_ADDRESS>and I'll get you the POSIX layer. Please note that it is not implement all POSIX functions and we do not actively maintain or support the POSIX layer.

POSIX layer was added to ThreadX.


[camera] Fix event type check

Description
Trivial change to properly check if the type of an event is an error, so a description can be added.
Related Issues
Fixes flutter/flutter#41601
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See [Contributor Guide]).

Trivial change

[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the [Flutter Style Guide].
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the [CLA].
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Thank you for the fix!
We've recently re-emphasized that all PRs need tests, following the style guide.
This is difficult for plugins PRs since we don't have an integrated testing solution, but I don't think it's impossible to do here. Normally I would recommend writing a flutter driver test that tries to do something invalid and then make sure the error has a description, but tests for this plugin need to somehow automatically accept the camera permission to run and we don't have a good cross platform solution for that yet.
We do have the ability to write JUnit tests though, and I think that would also work. Would you be able to create a CameraTests.java class with a unit test making sure messages are sent with a description? I think the easiest way to do this would be to open example/app/android in Android studio, and then use it to automatically make and run a new unit test class for Camera.java.
If you're not able to carry this forward, please let us know and we'll be happy to shepherd it on from here. Thanks again for the contribution.

I have been trying to generate a test class for Camera.java but Android Studio is ignorning me.

Pressing "OK" does nothing, tried checking/unchecking different methods, using Groovy/JUnit 4/JUnit 5 but Android Studio just ignores me, not sure if I'm missing something else.

Thanks for trying! I opened up Android Studio myself to add in a "quick test" skeleton for you to pick up and then realized that actually properly unit testing this fix is actually really difficult. The class wasn't set up to be testable. I didn't see a way to do it without refactoring the send() logic out into a new class. Even instantiating Camera depends on having hardware mocked out at a level that was really difficult to do. I ended up at a point where I was trying to make custom Robolectric shadows for the camera hardware and still couldn't cover everything.
So instead I ended up making two commits, first to refactor the class and then to actually test this method. What do you think about cherry picking them into this PR and then we can land it all together?

Not sure if cherry picked or just merged (a bit new to this tools, excuse me if this isn't the correct process), but tests are passing correctly so this is probably ready to merge (waiting for review approvals)


AWS EKS - Jenkins & slave - Docker in docker

Hi Team,
I have deployed AWS EKS cluster, deployed Jenkins as Master POD, By using configuration as plugin i have create yaml file and there i mentioned worker-docker label.
When ever jenkins job running then new additional worker POD will create and destroy after job completed.
As per requirement, Inside worker i need to run  cmd -  docker run -v $(pwd)/reports:/usr/src/app/reports  docker-images   --> this docker run will generate some files and located in /usr/src/app/reports
I can see those files are present in /usr/src/app/reports but I don't see the files on source path of worker POD $(pwd)/reports.
--- Findings:
In worker POD - I don't see the /var/lib/docker files when i tried with volume mound
Here is worker-docker POD Dockerfile :
FROM openjdk:8-jdk

RUN apt-get update -y && apt-get install -y curl sudo

#Install docker
RUN curl -sSL https://get.docker.com/ | sh

RUN curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose \
    && chmod +x /usr/local/bin/docker-compose

# Download the Jenkins Slave JAR
RUN curl --create-dirs -sSLo /usr/share/jenkins/slave.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/3.9/remoting-3.9.jar \
	&& chmod 755 /usr/share/jenkins \
	&& chmod 644 /usr/share/jenkins/slave.jar

# Download the Jenkins Slave StartUp Script
RUN curl --create-dirs -sSLo /usr/local/bin/jenkins-slave https://raw.githubusercontent.com/jenkinsci/docker-jnlp-slave/3.27-1/jenkins-slave \
	&& chmod a+x /usr/local/bin/jenkins-slave

ENTRYPOINT ["jenkins-slave"]

Please help me to fix --> why /var/lib/docker folder not created ..???
How can i get those files to worker POD path..???

This issue tracker is meant for reporting issues with the "install" script at download.docker.com.
This ticket looks unrelated to that, and more a general support question.  For such questions, consider using one of;

the Discussione on the Moby repository
the Docker community Slack channel
the docker tags on StackOverflow
the Docker Support Forums - https://forums.docker.com

I'm closing this ticket because this is not a bug, but feel free to continue the conversation 👍


Ellipse: add Rotation property

Feature Suggestion
Feature description: There should be a parameter (rotation) in the Method AddEllipse to rotate the Ellipse to a certain degree.

resolved by #2595


[cinder-csi-plugin] csi-cinder-controllerplugin-0 CrashLoopBackOff always failed to running

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
csi-cinder-controllerplugin-0 always CrashLoopBackOff 3/5
csi-cinder-controllerplugin-0              3/5     CrashLoopBackOff   199        9h
csi-cinder-nodeplugin-5clsk                2/2     Running            0          9h
openstack-cloud-controller-manager-t5gzm   1/1     Running            1          12h

I had issue when install cinder-csi-plugin with error message
error: a container name must be specified for pod csi-cinder-controllerplugin-0, choose one of: [csi-attacher csi-provisioner csi-snapshotter csi-resizer cinder-csi-plugin]

already change branch repo with master or release-1.17 the error are same.
What you expected to happen:

no errors. k8s can integrate with cinder openstack

How to reproduce it:

Install external cloud provider
Install cinder-csi-plugin

Anything else we need to know?:

I have tried install with 2 different method  kubectl -f manifests/cinder-csi-plugin apply and helm install --namespace kube-system --generate-name ./charts/cinder-csi-plugin the errors are same

error: a container name must be specified for pod csi-cinder-controllerplugin-0, choose one of: [csi-attacher csi-provisioner csi-snapshotter csi-resizer cinder-csi-plugin]

Environment:

openstack-cloud-controller-manager(or other related binary) version:docker.io/k8scloudprovider/openstack-cloud-controller-manager:latest
OpenStack version: Train / rhosp16
K8s : v1.17.3
Others: Ubuntu 18.04 (1 master 1 worker)

@aryulianto Could you describe the pod and provide the o/p
kubectl describe pod csi-cinder-controllerplugin-0 -n kube-system
Looks like 2 containers are failing to start , need the container logs of those 2 containers.

@ramineni thank you for your prompt response, here is describing of csi-cinder-controllerplugin-0
root@k8s-master1:~/cloud-provider-openstack# kubectl describe pod csi-cinder-controllerplugin-0 -n kube-system
Name:         csi-cinder-controllerplugin-0
Namespace:    kube-system
Priority:     0
Node:         k8s-worker1/<IP_ADDRESS>
Start Time:   Wed, 22 Jul 2020 08:00:31 +0000
Labels:       app=csi-cinder-controllerplugin
              controller-revision-hash=csi-cinder-controllerplugin-89f46b78
              statefulset.kubernetes.io/pod-name=csi-cinder-controllerplugin-0
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  StatefulSet/csi-cinder-controllerplugin
Containers:
  csi-attacher:
    Container ID:  docker://e69abc8a77acab8232382befe2b62107dd2329484ab3866dc4fca4580cf93121
    Image:         quay.io/k8scsi/csi-attacher:v2.2.0
    Image ID:      docker-pullable://quay.io/k8scsi/csi-attacher@sha256:2ffa647e8107cfd39e5f464e738dce014c9f5e51b108da36c3ab621048d0bbab
    Port:          <none>
    Host Port:     <none>
    Args:
      --csi-address=$(ADDRESS)
      --timeout=3m
    State:          Running
      Started:      Wed, 22 Jul 2020 08:00:39 +0000
    Ready:          True
    Restart Count:  0
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-cinder-controller-sa-token-v5qkm (ro)
  csi-provisioner:
    Container ID:  docker://7cee2a106b3b085c9a8e234e33b77c3c7e379a89c50efa1a8eed9062e432875a
    Image:         quay.io/k8scsi/csi-provisioner:v1.6.0
    Image ID:      docker-pullable://quay.io/k8scsi/csi-provisioner@sha256:78e3393f5fd5ff6c1e5dada2478cfa456fb7164929e573cf9a87bf6532730679
    Port:          <none>
    Host Port:     <none>
    Args:
      --csi-address=$(ADDRESS)
      --timeout=3m
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    255
      Started:      Wed, 22 Jul 2020 08:02:03 +0000
      Finished:     Wed, 22 Jul 2020 08:02:33 +0000
    Ready:          False
    Restart Count:  2
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-cinder-controller-sa-token-v5qkm (ro)
  csi-snapshotter:
    Container ID:  docker://a9500220d9a923fc157fe8eec89a1a9d9472c5e657f8d178cf39f27a72c358d2
    Image:         quay.io/k8scsi/csi-snapshotter:v1.2.2
    Image ID:      docker-pullable://quay.io/k8scsi/csi-snapshotter@sha256:fbef4d21ec79c9c5aced2e0e0396b9272e69ffe4cc718c3602ae6a466f682d41
    Port:          <none>
    Host Port:     <none>
    Args:
      --csi-address=$(ADDRESS)
    State:          Terminated
      Reason:       Error
      Exit Code:    255
      Started:      Wed, 22 Jul 2020 08:02:08 +0000
      Finished:     Wed, 22 Jul 2020 08:02:38 +0000
    Last State:     Terminated
      Reason:       Error
      Exit Code:    255
      Started:      Wed, 22 Jul 2020 08:01:20 +0000
      Finished:     Wed, 22 Jul 2020 08:01:50 +0000
    Ready:          False
    Restart Count:  2
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-cinder-controller-sa-token-v5qkm (ro)
  csi-resizer:
    Container ID:  docker://db446910732e66007977da5e00267e43911ce2e5ad0161141183058a75dde1eb
    Image:         quay.io/k8scsi/csi-resizer:v0.4.0
    Image ID:      docker-pullable://quay.io/k8scsi/csi-resizer@sha256:6883482c4c4bd0eabb83315b5a9e8d9c0f34357980489a679a56441ec74c24c9
    Port:          <none>
    Host Port:     <none>
    Args:
      --csi-address=$(ADDRESS)
    State:          Running
      Started:      Wed, 22 Jul 2020 08:00:45 +0000
    Ready:          True
    Restart Count:  0
    Environment:
      ADDRESS:  /var/lib/csi/sockets/pluginproxy/csi.sock
    Mounts:
      /var/lib/csi/sockets/pluginproxy/ from socket-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-cinder-controller-sa-token-v5qkm (ro)
  cinder-csi-plugin:
    Container ID:  docker://39e1c8db6ca8e6f47fef1a98d8186903c5b31bd8d27064b352dc44a8a94323ce
    Image:         docker.io/k8scloudprovider/cinder-csi-plugin:latest
    Image ID:      docker-pullable://k8scloudprovider/cinder-csi-plugin@sha256:4f938045198e45ef69e2d7700991fcc455424e9b45ec0cde367d02bc9a52a1c5
    Port:          <none>
    Host Port:     <none>
    Args:
      /bin/cinder-csi-plugin
      --nodeid=$(NODE_ID)
      --endpoint=$(CSI_ENDPOINT)
      --cloud-config=$(CLOUD_CONFIG)
      --cluster=$(CLUSTER_NAME)
    State:          Running
      Started:      Wed, 22 Jul 2020 08:00:46 +0000
    Ready:          True
    Restart Count:  0
    Environment:
      NODE_ID:        (v1:spec.nodeName)
      CSI_ENDPOINT:  unix://csi/csi.sock
      CLOUD_CONFIG:  /etc/config/cloud.conf
      CLUSTER_NAME:  kubernetes
    Mounts:
      /csi from socket-dir (rw)
      /etc/config from secret-cinderplugin (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from csi-cinder-controller-sa-token-v5qkm (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  socket-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  secret-cinderplugin:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  cloud-config
    Optional:    false
  csi-cinder-controller-sa-token-v5qkm:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  csi-cinder-controller-sa-token-v5qkm
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                   From                  Message
  ----     ------     ----                  ----                  -------
  Normal   Scheduled  2m21s                 default-scheduler     Successfully assigned kube-system/csi-cinder-controllerplugin-0 to k8s-worker1
  Normal   Pulled     2m16s                 kubelet, k8s-worker1  Container image "quay.io/k8scsi/csi-attacher:v2.2.0" already present on machine
  Normal   Created    2m13s                 kubelet, k8s-worker1  Created container csi-attacher
  Normal   Started    2m12s                 kubelet, k8s-worker1  Started container csi-attacher
  Normal   Started    2m7s                  kubelet, k8s-worker1  Started container csi-resizer
  Normal   Created    2m7s                  kubelet, k8s-worker1  Created container csi-resizer
  Normal   Pulled     2m7s                  kubelet, k8s-worker1  Container image "quay.io/k8scsi/csi-resizer:v0.4.0" already present on machine
  Normal   Pulled     2m7s                  kubelet, k8s-worker1  Container image "docker.io/k8scloudprovider/cinder-csi-plugin:latest" already present on machine
  Normal   Started    2m6s                  kubelet, k8s-worker1  Started container cinder-csi-plugin
  Normal   Created    2m6s                  kubelet, k8s-worker1  Created container cinder-csi-plugin
  Normal   Pulled     101s (x2 over 2m12s)  kubelet, k8s-worker1  Container image "quay.io/k8scsi/csi-provisioner:v1.6.0" already present on machine
  Normal   Created    100s (x2 over 2m12s)  kubelet, k8s-worker1  Created container csi-provisioner
  Normal   Started    98s (x2 over 2m12s)   kubelet, k8s-worker1  Started container csi-provisioner
  Normal   Pulling    96s (x2 over 2m12s)   kubelet, k8s-worker1  Pulling image "quay.io/k8scsi/csi-snapshotter:v1.2.2"
  Normal   Pulled     93s (x2 over 2m8s)    kubelet, k8s-worker1  Successfully pulled image "quay.io/k8scsi/csi-snapshotter:v1.2.2"
  Normal   Created    92s (x2 over 2m8s)    kubelet, k8s-worker1  Created container csi-snapshotter
  Normal   Started    92s (x2 over 2m7s)    kubelet, k8s-worker1  Started container csi-snapshotter
  Warning  BackOff    69s                   kubelet, k8s-worker1  Back-off restarting failed container
  Warning  BackOff    61s                   kubelet, k8s-worker1  Back-off restarting failed container

root@k8s-master1:~/cloud-provider-openstack# kubectl logs csi-cinder-controllerplugin-0 -n kube-system
error: a container name must be specified for pod csi-cinder-controllerplugin-0, choose one of: [csi-attacher csi-provisioner csi-snapshotter csi-resizer cinder-csi-plugin]

@aryulianto looks like 2 containers csi-provisioner , csi-snapshotter are failing . For logs ,  you need to specify container name as well here
kubectl logs csi-cinder-controllerplugin-0 -c csi-provisioner  -n kube-system
kubectl logs csi-cinder-controllerplugin-0 -c csi-snapshotter  -n kube-system

@ramineni thank you, I got the error. any suggestions for my case?
kubectl logs csi-cinder-controllerplugin-0 -n kube-system
error: a container name must be specified for pod csi-cinder-controllerplugin-0, choose one of: [csi-attacher csi-provisioner csi-snapshotter csi-resizer cinder-csi-plugin]
root@ar-master:/etc/ssl/certs# kubectl logs csi-cinder-controllerplugin-0 -n kube-system -c cinder-csi-plugin
I0723 04:23:21.527201       1 driver.go:69] Driver: cinder.csi.openstack.org
I0723 04:23:21.527252       1 driver.go:70] Driver version: 1.2.0@latest
I0723 04:23:21.527256       1 driver.go:71] CSI Spec version: 1.2.0
I0723 04:23:21.527263       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES
I0723 04:23:21.527268       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_VOLUME
I0723 04:23:21.527271       1 driver.go:100] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0723 04:23:21.527274       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_SNAPSHOT
I0723 04:23:21.527277       1 driver.go:100] Enabling controller service capability: LIST_SNAPSHOTS
I0723 04:23:21.527280       1 driver.go:100] Enabling controller service capability: EXPAND_VOLUME
I0723 04:23:21.527288       1 driver.go:100] Enabling controller service capability: CLONE_VOLUME
I0723 04:23:21.527291       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES_PUBLISHED_NODES
I0723 04:23:21.527298       1 driver.go:112] Enabling volume access mode: SINGLE_NODE_WRITER
I0723 04:23:21.527301       1 driver.go:122] Enabling node service capability: STAGE_UNSTAGE_VOLUME
I0723 04:23:21.527307       1 driver.go:122] Enabling node service capability: EXPAND_VOLUME
I0723 04:23:21.527310       1 driver.go:122] Enabling node service capability: GET_VOLUME_STATS
I0723 04:23:21.527780       1 openstack.go:87] Block storage opts: {0 false}
W0723 04:23:21.527985       1 main.go:108] Failed to GetOpenStackProvider: failed to read and parse /etc/ssl/certs/ca.pem certificate: open /etc/ssl/certs/ca.pem: no such file or directory

root@k8s-master1:/etc/ssl/certs# ls -la /etc/ssl/certs/ca.pem
-rwxr-xr-x 1 root root 1229 Jul 23 04:22 /etc/ssl/certs/ca.pem

cloud.conf config
[Global]
auth-url=https://xxxxxxxxxxxxx:443/v3
username=xxxxxxxxxx
password=xxxxxxxxxxxx
region=xxxxxx
tenant-name=xxxxxxx
domain-name=xxxxxx
ca-file=/etc/ssl/certs/ca.pem

[BlockStorage]
bs-version=v2

cinder csi config
cat manifests/cinder-csi-plugin/cinder-csi-controllerplugin.yaml  |grep volumes -A10
      volumes:
        - name: socket-dir
          emptyDir:
        - name: secret-cinderplugin
          secret:
            secretName: cloud-config
        - name: cacert
          hostPath:
            path: /etc/ssl/certs/
            type: Directory

cat manifests/cinder-csi-plugin/cinder-csi-nodeplugin.yaml |grep volumes -A30
      volumes:
        - name: socket-dir
          hostPath:
            path: /var/lib/kubelet/plugins/cinder.csi.openstack.org
            type: DirectoryOrCreate
        - name: registration-dir
          hostPath:
            path: /var/lib/kubelet/plugins_registry/
            type: Directory
        - name: kubelet-dir
          hostPath:
            path: /var/lib/kubelet
            type: Directory
        - name: pods-cloud-data
          hostPath:
            path: /var/lib/cloud/data
            type: Directory
        - name: pods-probe-dir
          hostPath:
            path: /dev
            type: Directory
        - name: secret-cinderplugin
          secret:
            secretName: cloud-config
        - name: cacert
          hostPath:
            path: /etc/ssl/certs/
            type: Directory

@aryulianto could u show me the part it is mounted in container as well, make sure it is on /etc/ssl/certs

@ramineni I got it, I miss add it to volumeMounts
But after recreate. I still got error:
NAME                                       READY   STATUS             RESTARTS   AGE
csi-cinder-controllerplugin-0              4/5     CrashLoopBackOff   5          7m14s

Logs
kubectl logs csi-cinder-controllerplugin-0 -n kube-system -c cinder-csi-plugin
I0723 05:44:03.180236       1 driver.go:69] Driver: cinder.csi.openstack.org
I0723 05:44:03.180300       1 driver.go:70] Driver version: 1.2.0@latest
I0723 05:44:03.180304       1 driver.go:71] CSI Spec version: 1.2.0
I0723 05:44:03.180311       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES
I0723 05:44:03.180315       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_VOLUME
I0723 05:44:03.180319       1 driver.go:100] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0723 05:44:03.180321       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_SNAPSHOT
I0723 05:44:03.180324       1 driver.go:100] Enabling controller service capability: LIST_SNAPSHOTS
I0723 05:44:03.180349       1 driver.go:100] Enabling controller service capability: EXPAND_VOLUME
I0723 05:44:03.180353       1 driver.go:100] Enabling controller service capability: CLONE_VOLUME
I0723 05:44:03.180355       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES_PUBLISHED_NODES
I0723 05:44:03.180366       1 driver.go:112] Enabling volume access mode: SINGLE_NODE_WRITER
I0723 05:44:03.180369       1 driver.go:122] Enabling node service capability: STAGE_UNSTAGE_VOLUME
I0723 05:44:03.180376       1 driver.go:122] Enabling node service capability: EXPAND_VOLUME
I0723 05:44:03.180379       1 driver.go:122] Enabling node service capability: GET_VOLUME_STATS
I0723 05:44:03.181050       1 openstack.go:87] Block storage opts: {0 false}
W0723 05:44:33.182257       1 main.go:108] Failed to GetOpenStackProvider: Post "https://xxxxxxxxxx:443/v3/auth/tokens": dial tcp: i/o timeout

@aryulianto hmm, could you check connection to openstack keystone from controller node works fine. You could also increase verbose level to 6 and get the logs

@ramineni I had made sure the connection from the controller to the keystone works fine with curl.
while :;do curl https://keystone.xxxxxxxxxxxxx:443/v3/;sleep 1; echo "";done
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}

Logs with verbose 6
kubectl logs csi-cinder-controllerplugin-0 -n kube-system -c cinder-csi-plugin -v 6
I0723 06:28:35.516530    1784 loader.go:375] Config loaded from file:  /root/.kube/config
I0723 06:28:35.533298    1784 round_trippers.go:443] GET https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system/pods/csi-cinder-controllerplugin-0 200 OK in 11 milliseconds
I0723 06:28:35.564295    1784 round_trippers.go:443] GET https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system/pods/csi-cinder-controllerplugin-0/log?container=cinder-csi-plugin 200 OK in 18 milliseconds
I0723 06:26:52.470380       1 driver.go:69] Driver: cinder.csi.openstack.org
I0723 06:26:52.470436       1 driver.go:70] Driver version: 1.2.0@latest
I0723 06:26:52.470443       1 driver.go:71] CSI Spec version: 1.2.0
I0723 06:26:52.470454       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES
I0723 06:26:52.470462       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_VOLUME
I0723 06:26:52.470466       1 driver.go:100] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0723 06:26:52.470480       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_SNAPSHOT
I0723 06:26:52.470485       1 driver.go:100] Enabling controller service capability: LIST_SNAPSHOTS
I0723 06:26:52.470491       1 driver.go:100] Enabling controller service capability: EXPAND_VOLUME
I0723 06:26:52.470501       1 driver.go:100] Enabling controller service capability: CLONE_VOLUME
I0723 06:26:52.470506       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES_PUBLISHED_NODES
I0723 06:26:52.470525       1 driver.go:112] Enabling volume access mode: SINGLE_NODE_WRITER
I0723 06:26:52.470532       1 driver.go:122] Enabling node service capability: STAGE_UNSTAGE_VOLUME
I0723 06:26:52.470543       1 driver.go:122] Enabling node service capability: EXPAND_VOLUME
I0723 06:26:52.470551       1 driver.go:122] Enabling node service capability: GET_VOLUME_STATS
I0723 06:26:52.470995       1 openstack.go:87] Block storage opts: {0 false}
W0723 06:27:22.472216       1 main.go:108] Failed to GetOpenStackProvider: Post "https://keystone.jkt-1.neo.id:443/v3/auth/tokens": dial tcp: i/o timeout

@ramineni I had made sure the connection from the controller to the keystone works fine with curl.
while :;do curl https://keystone.xxxxxxxxxxxxx:443/v3/;sleep 1; echo "";done
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}
{"version": {"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "https://keystone.xxxxxxxxxxxxx:443/v3/", "rel": "self"}]}}

Logs with verbose 6
kubectl logs csi-cinder-controllerplugin-0 -n kube-system -c cinder-csi-plugin -v 6
I0723 06:28:35.516530    1784 loader.go:375] Config loaded from file:  /root/.kube/config
I0723 06:28:35.533298    1784 round_trippers.go:443] GET https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system/pods/csi-cinder-controllerplugin-0 200 OK in 11 milliseconds
I0723 06:28:35.564295    1784 round_trippers.go:443] GET https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system/pods/csi-cinder-controllerplugin-0/log?container=cinder-csi-plugin 200 OK in 18 milliseconds
I0723 06:26:52.470380       1 driver.go:69] Driver: cinder.csi.openstack.org
I0723 06:26:52.470436       1 driver.go:70] Driver version: 1.2.0@latest
I0723 06:26:52.470443       1 driver.go:71] CSI Spec version: 1.2.0
I0723 06:26:52.470454       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES
I0723 06:26:52.470462       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_VOLUME
I0723 06:26:52.470466       1 driver.go:100] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0723 06:26:52.470480       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_SNAPSHOT
I0723 06:26:52.470485       1 driver.go:100] Enabling controller service capability: LIST_SNAPSHOTS
I0723 06:26:52.470491       1 driver.go:100] Enabling controller service capability: EXPAND_VOLUME
I0723 06:26:52.470501       1 driver.go:100] Enabling controller service capability: CLONE_VOLUME
I0723 06:26:52.470506       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES_PUBLISHED_NODES
I0723 06:26:52.470525       1 driver.go:112] Enabling volume access mode: SINGLE_NODE_WRITER
I0723 06:26:52.470532       1 driver.go:122] Enabling node service capability: STAGE_UNSTAGE_VOLUME
I0723 06:26:52.470543       1 driver.go:122] Enabling node service capability: EXPAND_VOLUME
I0723 06:26:52.470551       1 driver.go:122] Enabling node service capability: GET_VOLUME_STATS
I0723 06:26:52.470995       1 openstack.go:87] Block storage opts: {0 false}
W0723 06:27:22.472216       1 main.go:108] Failed to GetOpenStackProvider: Post "https://keystone.xxxxxxxxxxxxx:443/v3/auth/tokens": dial tcp: i/o timeout

@aryulianto you need to add the flag here, https://github.com/kubernetes/cloud-provider-openstack/blob/master/manifests/cinder-csi-plugin/cinder-csi-controllerplugin.yaml#L90 , - --v=6 , and recreate the manifests

@ramineni already added. my cloud.conf at https://github.com/kubernetes/cloud-provider-openstack/issues/1126#issuecomment-662814285
kubectl logs -f csi-cinder-controllerplugin-0 -n kube-system -c cinder-csi-plugin
I0723 06:55:21.247962       1 driver.go:69] Driver: cinder.csi.openstack.org
I0723 06:55:21.248032       1 driver.go:70] Driver version: 1.2.0@latest
I0723 06:55:21.248038       1 driver.go:71] CSI Spec version: 1.2.0
I0723 06:55:21.248046       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES
I0723 06:55:21.248050       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_VOLUME
I0723 06:55:21.248054       1 driver.go:100] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0723 06:55:21.248060       1 driver.go:100] Enabling controller service capability: CREATE_DELETE_SNAPSHOT
I0723 06:55:21.248063       1 driver.go:100] Enabling controller service capability: LIST_SNAPSHOTS
I0723 06:55:21.248074       1 driver.go:100] Enabling controller service capability: EXPAND_VOLUME
I0723 06:55:21.248077       1 driver.go:100] Enabling controller service capability: CLONE_VOLUME
I0723 06:55:21.248081       1 driver.go:100] Enabling controller service capability: LIST_VOLUMES_PUBLISHED_NODES
I0723 06:55:21.248085       1 driver.go:112] Enabling volume access mode: SINGLE_NODE_WRITER
I0723 06:55:21.248088       1 driver.go:122] Enabling node service capability: STAGE_UNSTAGE_VOLUME
I0723 06:55:21.248094       1 driver.go:122] Enabling node service capability: EXPAND_VOLUME
I0723 06:55:21.248097       1 driver.go:122] Enabling node service capability: GET_VOLUME_STATS
I0723 06:55:21.248105       1 openstack.go:117] InitOpenStackProvider configFile: /etc/config/cloud.conf
I0723 06:55:21.248566       1 openstack.go:234] AuthURL: https://keystone.xxxxxxxxxxxxx:443/v3
I0723 06:55:21.248579       1 openstack.go:235] UserID:
I0723 06:55:21.248583       1 openstack.go:236] Username: username
I0723 06:55:21.248587       1 openstack.go:237] TenantID:
I0723 06:55:21.248590       1 openstack.go:238] TenantName: xxxxx
I0723 06:55:21.248594       1 openstack.go:239] TrustID:
I0723 06:55:21.248597       1 openstack.go:240] DomainID:
I0723 06:55:21.248601       1 openstack.go:241] DomainName: xxxxx
I0723 06:55:21.248604       1 openstack.go:242] TenantDomainID:
I0723 06:55:21.248608       1 openstack.go:243] TenantDomainName:
I0723 06:55:21.248613       1 openstack.go:244] UserDomainID:
I0723 06:55:21.248616       1 openstack.go:245] UserDomainName:
I0723 06:55:21.248620       1 openstack.go:246] Region: xxxxxx
I0723 06:55:21.248624       1 openstack.go:247] CAFile: /etc/ssl/certs/ca.pem
I0723 06:55:21.248628       1 openstack.go:248] UseClouds: false
I0723 06:55:21.248633       1 openstack.go:249] CloudsFile:
I0723 06:55:21.248637       1 openstack.go:250] Cloud:
I0723 06:55:21.248641       1 openstack.go:251] ApplicationCredentialID:
I0723 06:55:21.248645       1 openstack.go:252] ApplicationCredentialName:
I0723 06:55:21.248648       1 openstack.go:87] Block storage opts: {0 false}
I0723 06:55:21.248749       1 openstack.go:505] Using user-agent cinder-csi-plugin/latest gophercloud/2.0.0
I0723 06:55:21.249641       1 openstack.go:556] OpenStack Request URL: POST https://keystone.xxxxxxxxxxxxx:443/v3/auth/tokens
I0723 06:55:21.249685       1 openstack.go:556] OpenStack Request Headers:
I0723 06:55:21.249691       1 openstack.go:556] Accept: application/json
I0723 06:55:21.249697       1 openstack.go:556] Content-Type: application/json
I0723 06:55:21.249703       1 openstack.go:556] User-Agent: cinder-csi-plugin/latest gophercloud/2.0.0
I0723 06:55:21.249780       1 openstack.go:556] OpenStack Request Body: {
I0723 06:55:21.249794       1 openstack.go:556]   "auth": {
I0723 06:55:21.249801       1 openstack.go:556]     "identity": {
I0723 06:55:21.249807       1 openstack.go:556]       "methods": [
I0723 06:55:21.249817       1 openstack.go:556]         "password"
I0723 06:55:21.249841       1 openstack.go:556]       ],
I0723 06:55:21.249849       1 openstack.go:556]       "password": {
I0723 06:55:21.249855       1 openstack.go:556]         "user": {
I0723 06:55:21.249864       1 openstack.go:556]           "domain": {
I0723 06:55:21.249870       1 openstack.go:556]             "name": "xxxxx"
I0723 06:55:21.249876       1 openstack.go:556]           },
I0723 06:55:21.249883       1 openstack.go:556]           "name": "xxxxxx",
I0723 06:55:21.249890       1 openstack.go:556]           "password": "***"
I0723 06:55:21.249896       1 openstack.go:556]         }
I0723 06:55:21.249902       1 openstack.go:556]       }
I0723 06:55:21.249908       1 openstack.go:556]     },
I0723 06:55:21.249915       1 openstack.go:556]     "scope": {
I0723 06:55:21.249921       1 openstack.go:556]       "project": {
I0723 06:55:21.249927       1 openstack.go:556]         "domain": {
I0723 06:55:21.249933       1 openstack.go:556]           "name": "xxxxxx"
I0723 06:55:21.249939       1 openstack.go:556]         },
I0723 06:55:21.249945       1 openstack.go:556]         "name": "xxxxxxxx"
I0723 06:55:21.249951       1 openstack.go:556]       }
I0723 06:55:21.249957       1 openstack.go:556]     }
I0723 06:55:21.249963       1 openstack.go:556]   }
I0723 06:55:21.249969       1 openstack.go:556] }
I0723 06:55:51.254283       1 openstack.go:556] OpenStack connection error, retries exhausted. Aborting
W0723 06:55:51.255210       1 main.go:108] Failed to GetOpenStackProvider: Post "https://keystone.xxxxxxxxxxxxx:443/v3/auth/tokens": OpenStack connection error, retries exhausted. Aborting. Last error was: dial tcp: i/o timeout

@aryulianto is the issue resolved?
@lingxiankong @kayrus any idea on the error?

hi @ramineni not yet. I still experience this issue

@aryulianto you only defined the volume in the manifest file, but you didn't mount it
here's my configuration which works fine on my env: you might want to replicate to your env with your special settings
....
     volumeMounts:
            ...
            - name: cacert
              mountPath: /etc/cacert
              readOnly: true
      volumes:
        .....
        - name: cacert
          hostPath:
            path: /etc/cacert
            type: Directory

hi @jichenjc I already did that
...
          volumeMounts:
            - name: socket-dir
              mountPath: /csi
            - name: secret-cinderplugin
              mountPath: /etc/config
              readOnly: true
            - name: cacert
              mountPath: /etc/ssl/certs
              readOnly: true
      volumes:
        - name: socket-dir
          emptyDir:
        - name: secret-cinderplugin
          secret:
            secretName: cloud-config
        - name: cacert
          hostPath:
            path: /etc/ssl/certs
            type: Directory

ok so originally issue is
 failed to read and parse /etc/ssl/certs/ca.pem certificate: open /etc/ssl/certs/ca.pem: no such file or directory
and now the error is
Failed to GetOpenStackProvider: Post "https://keystone.xxxxxxxxxxxxx:443/v3/auth/tokens": OpenStack connection error, retries exhausted. Aborting. Last error was: dial tcp: i/o timeout
so the cert issue should be fixed
when you say
I had made sure the connection from the controller to the keystone works fine with curl.
where did you run this ? in the container or somewhere?
I used to suffer this kind of issue as well, the root cause is my DNS has some problem
I can access from the node running cloud provider correctly but inside the container it's not able to parse the DNS
I updated the DNS in the new created pod (CSI controller and node controller) and fixed the problem

yes right, cert issue has been fixed.

when you say
I had made sure the connection from the controller to the keystone works fine with curl.
where did you run this ? in the container or somewhere?

I test on my k8s master and worker nodes
Will do to check my DNS.

@aryulianto has this issue been fixed? if so , we can close this issue

/close
we haven't get feedback until now


feature: shell autocomplete

It would be nice to have shell autocomplete taking into consideration the current templates or other optional args.

Sounds interesting. Will allocate some time over this weekend.


Nrf53 rename

Renaming the nRF5340 Development Kit according to the new standards.
For nRF5340 the renaming is really minor (dk -> pdk).

You missed:
samples/bluetooth/hci_uart/boards/nrf5340_dk_nrf5340_cpuapp.overlay

renamed, thanks


Hot Reloading

Is it possible to enable Hot Reloading?

It looks like I have to save the file twice for the page to update:

What's happening here is that the built-in <LiveReload> component that's added to the root causes a browser reload when remix watch successfully rebuilds. But - in this setup - remix is not itself hosting the code, but rather it's being run through miniflare.
I've managed to get it successfully reloading by implementing a custom LiveReload that only watches for the output worker.js getting re-build, sorta like https://gist.github.com/kiliman/e8cb5b1ca6b4afa8ef5930aace00428a
I've also noticed that if you remove tailwind it will work out-of-the-box.

What's happening here is that the built-in <LiveReload> component that's added to the root causes a browser reload when remix watch successfully rebuilds. But - in this setup - remix is not itself hosting the code, but rather it's being run through miniflare.
I've managed to get it successfully reloading by implementing a custom LiveReload that only watches for the output worker.js getting re-build, sorta like https://gist.github.com/kiliman/e8cb5b1ca6b4afa8ef5930aace00428a
I've also noticed that if you remove tailwind it will work out-of-the-box.


Allow appending to the template instead of replacing

Author Name: Jaime Melis (@jmelis)
Original Redmine Issue: 5437, https://dev.opennebula.org/issues/5437
Original Date: 2017-10-05
Original Assignee: Jaime Melis

Currently, if you define an item in the VM template content textarea of the OneFlow service template and it already exists in the original template it will be replaced instead of appended.
For example:
VM template content: DISK = [...]
This will replace all the disks with those defined in the VM template content.
This will be fixed by adding a special parameter called "APPEND=,,...". It that special key is present in the VM template content, those resources will be appended to those that exist in the source template.

Original Redmine Comment
Author Name: Ruben S. Montero (@rsmontero)
Original Date: 2017-10-27T15:55:39Z

This issue is fixed for 5.4.3. It'll remain open to propose a migration path for 5.6

This issues doesn't apply, because this section has been removed in the new OneFlow. If the user wants to modify the VM template contents he has to do it manually, so he can append or modify.
Closing it.


All media are blocked! Any solution?

Hi,
When I send request, I got  url media data.
such as profile picture url, photo media, video media.
Like:
https://scontent-mct1-1.cdninstagram.com/v/t51.2885-19/s150x150/80028426_977596955970756_3505648007456489472_n.jpg?tp=1&_nc_ht=scontent-mct1-1.cdninstagram.com&_nc_ohc=Jz0204Q7lF8AX-KvWCl&edm=AJlpnE4BAAAA&ccb=7-4&oh=bce97e0cdd96fc84aed14131a02fc8af&oe=60BE5E3A&_nc_sid=312772

But when I want to load data in browser the request will be block:
< img src="https://scontent-mct1-1.cdninstagram.com/v/t51 ..."  / >

I got  this error message in chrome inspect element developer tools
Failed to load resource: net::ERR_BLOCKED_BY_RESPONSE

Any solution?

I am facing the same issue.
Is there any solution for this??

Create new worker in CloudFlare and paste below code
`async function handleRequest(request) {
let url = new URL(request.url)
// request.headers should be checked on proper referer
// to avoid over websites
// use your CF workers https://developers.cloudflare.com/workers/examples/hot-link-protection
// If this is a good url - proxy it to instagram
if (url.pathname.includes('cdninstagram.com')) {
let newUrl = url.pathname.replace(/^\/+/, '').replace('https:/', 'https://') + url.search

let response = await fetch(newUrl.toString(), request)

// Recreate the response so we can modify the headers
response = new Response(response.body, response)

// change header from 'same-origin'
response.headers.set('cross-origin-resource-policy', 'cross-origin')
return response

}
// Otherwise, process request as normal
return new Response("Bad url", { status: 404 })
}
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})`
This is working 👍🏻.
https://gist.github.com/restyler/6c51e3ad20d7596e799d76e87cf93236

@shamshiranees
hi, I created the worker and past above code in it.
now how handle request?
what should I do?

@mohsen-rasouli
Modify your image urls from
https://scontent-arn2-1.cdninstagram.com/v/t51.2885-15/sh0xxx.jpg
to:
https://<YOUR.WORKER.URL>/https://scontent-arn2-1.cdninstagram.com/v/t51.2885-15/sh0xxx.jpg

Create new worker in CloudFlare and paste below code

how i create new worker pls help me


Receiving error and Traefik closes when using ECS Provider with exposedByDefault set to False

Bug
What did you do?
Started Traefik v2.3 Container with following commands:
      "--providers.ecs",
      "--providers.ecs.autoDiscoverClusters=false",
      "--providers.ecs.clusters=test-cluster",
      "--providers.ecs.exposedByDefault=false",
      "--entrypoints.web.address=:8080",
      "--entrypoints.traefik.address=:8081",
      "--api.dashboard=true",
      "--api.insecure=true"

What did you expect to see?
Traefik to start and remain working
What did you see instead?
Traefik throws starts then throws several error messages:
time="2020-08-06T22:02:23Z" level=error msg="accept tcp [::]:8080: use of closed network connection" entryPointName=web
--
  | time="2020-08-06T22:02:23Z" level=error msg="accept tcp [::]:8081: use of closed network connection" entryPointName=traefik
  | time="2020-08-06T22:02:23Z" level=error msg="close tcp [::]:8080: use of closed network connection" entryPointName=web
  | time="2020-08-06T22:02:23Z" level=error msg="close tcp [::]:8081: use of closed network connection" entryPointName=traefik

NOTE: Traefik works without issue if exposedByDefault is set to true;
Output of traefik version: (What version of Traefik are you using?)
v2.3
What is your environment & configuration (arguments, toml, provider, platform, ...)?
ECS Task Definition:
[
  {
    "name": "gateway",
    "image": "traefik:v2.3",
    "essential": true,
    "logConfiguration": {
      "logDriver": "awslogs",
      "options": {
        "awslogs-group": "/aws/ecs/reportportal/traefik",
        "awslogs-region": "us-east-1",
        "awslogs-create-group": "true",
        "awslogs-stream-prefix": "ecs"
      }
    },
    "dependsOn": null,
    "entryPoint": null,
    "command": [
      "--providers.ecs",
      "--providers.ecs.autoDiscoverClusters=false",
      "--providers.ecs.clusters=test-cluster",
      "--providers.ecs.exposedByDefault=false",
      "--entrypoints.web.address=:8080",
      "--entrypoints.traefik.address=:8081",
      "--api.dashboard=true",
      "--api.insecure=true"
    ],
    "cpu": 512,
    "memory": 400,
    "dnsSearchDomains": null,
    "linuxParameters": null,
    "resourceRequirements": null,
    "portMappings": [
      {
        "containerPort": 8080,
        "hostPort": 8080,
        "protocol": "tcp"
      },
      {
        "containerPort": 8081,
        "hostPort": 8081,
        "protocol": "tcp"
      }
    ],
    "ulimits": null,
    "dnsServers": null,
    "mountPoints": [
      {
        "sourceVolume": "docker-socket",
        "readOnly": false,
        "containerPath": "/var/run/docker.sock"
      }
    ],
    "workingDirectory": null,
    "dockerSecurityOptions": null,
    "memoryReservation": null,
    "volumesFrom": null,
    "stopTimeout": null,
    "startTimeout": null,
    "firelensConfiguration": null,
    "disableNetworking": null,
    "interactive": null,
    "healthCheck": null,
    "links": null,
    "hostname": null,
    "extraHosts": null,
    "pseudoTerminal": null,
    "user": null,
    "readonlyRootFilesystem": null,
    "dockerLabels": null,
    "systemControls": null,
    "privileged": null
  }
]

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
Oddly enough, this issue is not occuring when log.level is set to DEBUG.

After restarting the traefik service with log.level=DEBUG set to true, I could not repro this issue. Switching it back to false also has not recreated the issue. I'll see if it begins to fail again, but at this moment traefik is stable. This is odd though since none of the other services changed and I was consistently failing for 2+ hours.

closing this ticket as i haven't been able to repo consistently.


Fix wrong id being used by aria-describedby

What is the context of this PR?
Fix to use label id not input id for aria-describedby
How to review
Check correct id is being used by aria-describedby

 Fix for aria-describedby on inputs

 Fix for aria-describedby on inputs


Broken Firebase Authentication

Description
I am using the latest version of Polymer. I am a new user to Polymer, but it appears like even the most basic of firebase-auth elements will completely break. Any direction or help would be great.
Steps to reproduce

Setup a basic authentication template. Here the one I was using (nesting inside of the 'src' folder).

Serve the database using polymer serve.

Press the button

You will get an error that reads: Uncaught TypeError: Cannot read property 'signInWithPopup' of undefined

The error occurs on line 184 of firebase-auth.html which reads return this._attemptProviderSignIn(this._normalizeProvider(provider), this.auth.signInWithPopup);. Specifically, the error is occuring on this.auth.signInWithPopup
Browsers Affected

[x] Chrome
[ ] Firefox
[ ] Safari 9
[ ] Safari 8
[ ] Safari 7
[ ] Edge
[ ] IE 11
[ ] IE 10

@RoseReatherford firebase-auth is missing "app-name" attribute which should be "app"  that you have defined in firebase-app otherwise firebase-auth will use "default" as app-name for firebase config which is not defined.

@tjmonsi I am just using that as an example. I had my actual values defined, yes.
@khammami I tried doing that and that still receives the same error. Just now, I also tried changing the firebase-app to a name equal to "default" out of curiosity and this resulted in the same error.

@RoseReatherford  just remove app from firebase-app & app-name from friebase-auth
you have malformed attributes on firebase-app (it looks like you have copied web setup from firebase console as is it). here the correct one
<firebase-app
                api-key="[key]"
                auth-domain= "[domain]"
                database-url= "[url]"
                storage-bucket= "[storage]"
                messaging-sender-id= "[id]">
</firebase-app>

https://www.webcomponents.org/element/firebase/polymerfire/elements/firebase-auth

Lemme try it again this week but given my workload, I can't promise :(

Got the same issue with only Chrome Canary
Everything seam fine for IE, Edge, Firebase and Chrome.
Every now and then Chrome Canary behave weirdly, so maybe it's not 'Polymerfire' related.


Hide resolved positions by default in the portfolio + add the option to show them in the settings

When Toggle is ON....show user OPEN positions and Claimable Positions
When Toggle is OFF it will show All positions

closing


How to check log file after executing tail2kafka command

How to check log file after executing tail2kafka command

tail2kafka is deprecated now. You should use https://www.elastic.co/products/logstash for achieving what you need.


Switch github action to cargo check

We're currently using cargo build to check if the code compiles. cargo check is faster and sufficient for this

Current dependencies on/for this PR:

main

PR #23

PR #24   👈

This comment was auto-generated by Graphite.

@rdelfin started a stack merge that includes this pull request via Graphite.

Graphite rebased this pull request as part of a merge.

Graphite couldn't merge this PR because it was not satisfying all requirements.

@rdelfin merged this pull request with Graphite.


Update releaser workflows

Similar to https://github.com/jupyterlite/jupyterlite/pull/1356
See https://github.com/jupyter-server/jupyter_releaser/pull/557 for context.

[x] Update the releaser workflows to use the GitHub app instead of the bot
[x] Create a release environment
[x] Remove jupyterlite-bot from the repo

GitHub app installed on the repo:

Yeah, nothing really changes in terms of release process. It's just that we are not using the bot anymore, which simplifies the setup a bit!


Compiler fails to catch invalid case statement that causes sigfault

By accident I typed an invalid case statement while showing Crystal to someone, and i feel the compiler should catch this error since it resulted in invalid memory access (and the example code snippet is one of the most used example snippets). Honestly I cant even understand exactly why it gives an invalid access either, there might be some obvious point I'm missing but the pattern is not that uncommon since using the case in the when statement is allowed in other languages like c# if my memory serves me right:

I'll add it as text as well:
def fib(n)
  case n
  when n < 2; 0
  when 2; 1
  else
    fib(n - 1) + fib(n - 2)
  end
end

p fib(45)

$crystal --version
Using compiled compiler at `.build/crystal'
Crystal 0.26.0 [eeb53c506] (2018-08-10)
LLVM: 6.0.1
Default target: x86_64-apple-macosx
$crystal build fibonacchi.cr --release --no-debug
Using compiled compiler at `.build/crystal'
$./fibonacchi
Invalid memory access (signal 11) at address 0x7ffee5ceaff8
[0x109731f57] *CallStack::print_backtrace:Int32 +39
[0x109731dbe] __crystal_sigfault_handler +46
[0x109732073] sigfault_handler +35
[0x7fff72b39f5a] _sigtramp +26
[0x109731df3] *fib:Int32 +35
[0x109731df7] *fib:Int32 +39 (262051 times)
[0x1097176ec] __crystal_main +4316
[0x10971a3aa] main +202
$

I'll check it out, but I think the main cause of error is in both using "n" in the "case" statement AND referring to it in the "when" statement, let me explain the reasoning with some examples (watch the "n" in the case statement):
This works as espected
def fib(n)
  case n
  when 0; 0
  when 1; 0
  when 2; 1
  else
    fib(n - 1) + fib(n - 2)
  end
end

p fib(45)

This also works as expected
def fib(n)

  case
  when n == 0; 0
  when n == 1; 0
  when n == 2; 1
  else
    fib(n - 1) + fib(n - 2)
  end
end

p fib(45)

This ends up with sigfault
def fib(n)

  case n
  when n == 0; 0
  when n == 1; 0
  when n == 2; 1
  else
    fib(n - 1) + fib(n - 2)
  end
end

p fib(45)

There is probably a reason for this, but if having "n" both in the case statement and in the when statement gives unexpected behavior I think the compiler should catch it or it shouldn't work differently like above...

The reason is case doesn't work as you expect it to. Curiously I explained it yesterday in another iasue: https://github.com/crystal-lang/crystal/issues/6519#issuecomment-412136752

Basically, (n == 0) === n, which is what the case is rewritten to, is always false.

Aha, ok, ok, I understand now. This makes sense now, it's just that I expected a compiler error.
When I do the same in C# the compiler says: Cannot implicitly convert type 'bool' to 'int' , but I guess Crystal case statement gives a bit more freedom in what to match so I like that, just not used to it 👍

I'll close this then .


Toml configuration examples in docs underlines spaces

It's barely visible but could lead to confusion. We could either try to set code block parser to toml or change theme settings.

After some testing I think the best option would be.. migrating to another theme. It can be easily done in the one we're using (alabaster) but I've noticed that docs looks better in the other theme (furo). Several other minor issues will be also fixed in the furo theme. The additional benefit is that we're already using furo for robocop docs. The documentation will be more consistent across our tools (and it will be easier to maintain the docs).

underscores are very visible if a browser plugin such as Dark Reader is used.
they confused me at first reading of docs and made comment in RF users group.  Finally discovered it was plugin that made them visible.


FIX: Tableau Server Import Exception

tableau_server function call being in function signature was causing Exception at import time. Move function calls out of parameter declaration.
Also move HyperJob creation into function to avoid creation of jobs at import.

LGTM 🍰


change the way iconography scss is generated

mixin based icon approach
renamed all the svgs like this s/icon-(.*)/$1/ so
the mixin could be called like @include icon(something) instead of @include icon(icon-something)

LGTM


NO-ISSUE: only execute docker (get_endpoint.sh) for local env

This should fix the problem of broken integration test in CI

/cc @eliorerz

/test integration-test

/test integration-test


Help with BSC trade

I am trying to make a trade through Pancake Swap.
I added constants as described here
And this is my code:
`from uniswap import Uniswap
from web3 import Web3
address = xxx
private_key = xxx
version = 2
bsc = "https://bsc-dataseed.binance.org/"
web3 = Web3(Web3.HTTPProvider(bsc))
print(web3.isConnected())
uniswap = Uniswap(address=address, private_key=private_key, version=version, web3=web3, default_slippage=0.01)
wbnb = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"
token = "0xacd7b3d9c10e97d0efa418903c0c7669e702e4c0"
wbnb_w = Web3.toChecksumAddress(wbnb)
token_w = Web3.toChecksumAddress(token)
qty = int(.001 * 10**18)
uniswap.make_trade(wbnb_w, token_w, qty)
`
And this is transaction
https://bscscan.com/tx/0x893559bb3e3e8c83fbb2fa66c8944d6ec6aafd807842fbcbaf9ffa3e4270ac44
Please help me to get it working.

Everything seems to be OK regarding  code but i suppose that slippage is too low. Try to set default_slippage=0.05 or even more because BSC prices are highly volatile AFAIK.

I am trying to do it, but now get an error

Insufficient balance. Had 0, needed<PHONE_NUMBER>000000

If I am trying to get BNB balance from my wallet:
qty_token = uniswap.get_token_balance(wbnb)
print(qty_token)

output is 0, but I have positive balance of BNB
What am I doing wrong?

Please tell me If the following code is equivalent to previous?
address = ***
private_key ***
version = 2                       # specify which version of Uniswap to use
provider = "https://mainnet.infura.io/v3/c4de25213bd342ed97074ea3415175e8"    # can also be set through the environment variable PROVIDER
provider = "wss://bsc-ws-node.nariox.org:443"
bsc = "https://bsc-dataseed.binance.org/"
uniswap = Uniswap(address=address, private_key=private_key, version=version, provider=provider, default_slippage=0.01)
uniswap = Uniswap(address=address, private_key=private_key, version=version, provider=bsc, default_slippage=0.05)
Some token addresses we'll be using later in this guide
eth = "0x0000000000000000000000000000000000000000"
bnb = "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"
bat = "0x0D8775F648430679A709E98d2b0Cb6250d2887EF"
dai = "0x6B175474E89094C44Da98b954EedeAC495271d0F"
ftm = "0x4E15361FD6b4BB609Fa63C81A2be19d873717870"
gala_eth = "0x15D4c048F83bd7e37d49eA4C83a07267Ec4203dA"
gala_bsc = "0x7ddee176f665cd201f93eede625770e2fd911990"
ele = "0xacd7b3d9c10e97d0efa418903c0c7669e702e4c0"
woo = "0x4691937a7508860f876c9c0a2a617e7d9e945d4b"
qty =  int(0.001*10**18)
uniswap.make_trade(bnb, gala_bsc, qty)

I can't get it working.
I tried slippage 0.05, but result was the same.
After all now I have an error:

uniswap.exceptions.InsufficientBalance: Insufficient balance. Had 0, needed<PHONE_NUMBER>000000

But I have BNB balance in my wallet.
Also can you please advice Is code below is equivalent to the code which i posted before?:
from uniswap import Uniswap

address = xxx
private_key = xxx
version = 2

provider = "https://bsc-dataseed.binance.org/"

uniswap = Uniswap(address=address, private_key=private_key, version=version, provider=provider, default_slippage=0.05)

wbnb = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"
token = "0xacd7b3d9c10e97d0efa418903c0c7669e702e4c0"

qty = int(0.001*10**18)
uniswap.make_trade(wbnb, token, qty)

Thank you for helping. I really appreciate it.

Is code below is equivalent to the code which i posted before?

Yes, it is. Btw you don't have to add constants manually bc that issue had been fixed:
https://github.com/uniswap-python/uniswap-python/issues/126
Actually, I'd rather recommend to remove this code.
Regarding your question: try ETH_ADDRESS constant instead of BNB's contract OR you might wrap some BNB before swap via pancakeswap web-app/whatever you like if you need to use BNB contract exactly.

Thank you!! It worked.
But changing ETH_ADDRESS in package code will result that i can't make trades on both networks.
Is there any easy way to have two parameters depending on the provider?
Thanks again!

Wrapping BNB before swap and making trade (without changing ETH_ADDRESS) resulted IDENTICAL_ADDRESSES error.

changing ETH_ADDRESS
Can't understand. What contract exactly did you put there?

First i tried to wrap bnb so that i have WBNB balance and run the previous code. Transaction failed with error: IDENTICAL_ADDRESSES
Second i tried to change constant ETH_ADDRESS to WBNB contract and it worked.
But with this parameter set to WBNB i can't make UNISWAP trades? I'd like to make both trades - Pancake and Uniswap.

no, just put old value there and then try
uniswap.make_trade(ETH_ADDRESS, token, qty)

Not working ;(
Transaction - https://bscscan.com/tx/0x7ad680a35352b67e2214426db7fe11b1bd5eef7e7faa47555cbdc597f677443e
constants.py:
ETH_ADDRESS = "0x0000000000000000000000000000000000000000"
code:
uniswap = Uniswap(address=address, private_key=private_key, version=version, provider=provider, default_slippage=0.05)

eth = "0x0000000000000000000000000000000000000000"
bnb = Web3.toChecksumAddress("0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c")
ele = Web3.toChecksumAddress("0xacd7b3d9c10e97d0efa418903c0c7669e702e4c0")

qty = int(0.001*10**18)
uniswap.make_trade(bnb, ele, qty)

last line shoud be

uniswap.make_trade(ETH_ADDRESS, ele, qty)

or

uniswap.make_trade(eth, ele, qty)
if you like

grats!

Thank you!!!
Everything is working!

Pragmatic Play adalah salah satu penyedia game online terbaik yang sangat populer di Asia, terutama di Indonesia. Dengan berbagai pilihan permainan menarik seperti Wild Wild West, Zeus Game, Sweet Bonanza, FAFA, Aztec Gems, dan Gate of Olympus, Pragmatic Play menawarkan pengalaman bermain yang seru dan menghibur. Selain itu, mereka juga menyediakan demo gratis untuk mencoba permainan sebelum menggunakan uang asli. Hal ini menjadikan Pragmatic Play sebagai pilihan utama bagi para penggemar game online, terutama dengan hadiah jackpot besar hingga ratusan juta rupiah.
[url=https://https://<IP_ADDRESS>]king338[/url]
[url=https://casinoworlds.net]king338[/url]
[url=https://beritaterbaru.net]king338[/url]


[DRAFT] Scaffolding into Blazor Server apps

Fixes #15651
Fixes #13316
Decent start imo! ...... but it's ⚔ security stuff 🔐, so I generated several :ear::ear::ear::ear::ear: along the way that we need to get answers on ...........

In https://docs.microsoft.com/aspnet/core/security/blazor/, <CascadingAuthenticationState> was only wrapping <LayoutView>. I've moved that to wrap the entire Router component per some sample guidance that I saw. If correct, we're good. :ear:

For a RedirectToLogin component, note that ...

I had to use the force flag set to true to make it redirect to the Login Identity page.
It breaks the browser's Back button.

@inject NavigationManager Navigation
@code {
    protected override void OnInitialized()
    {
        Navigation.NavigateTo("Identity/Account/Login?returnUrl=" +
            Navigation.ToBaseRelativePath(Navigation.Uri), true);
    }
}

AFAIK from @bdnts, we don't have a componitized login flow outside of using an API endpoint in the app to do it. I don't discuss that here, but should we say something in the Blazor Server security topic? :ear: We probably only need to discuss that if we have a componitized Identity pages section with a cross-link to sample Identity components.

Logout flow: @alfkonee and @VR-Architect asked about it. I assume you're trying to tie into the Identity way of doing it. You have to POST to that logout endpoint (Identity/Account/Logout) from the component. To POST from an HTML form, you need an XSRF token. This PR covers the scenario now. We had existing content for passing the id and access tokens anyway, so it was a simple matter to roll in passing an XSRF token. We'll need engineering to vet it :ear: and make sure that I didn't make a 💩 Rex Code Smell!:tm: 💩, but it seems to work well.

cc: @bdnts – Would you be willing to supply your set of componitized versions of the Identity pages? I'd review/update, place into a folder in Blazor common samples, and cross-link them from the Blazor Server security topic in a new section .... and invite you to appear on the author byline of that topic with a link to whatever you like (your blog, your company). :ear:
cc: @blowdart – You've yielded to engineering :cat2: before on Blazor security PRs. Do you want me to just cc: you on Blazor security PRs, or do you want me to formally ping you for a GH review on these? :ear:

@guardrex mi código es tu código.  Whatever I can do to help.  ( I do enough complaining, time to be part of the solution) Any publicly listed code on GitHub is free for the using (I've taken enough myself 😄 )
NOTE: SignInManager and UserManager are not supported in Blazor (https://docs.microsoft.com/en-us/aspnet/core/security/blazor/?view=aspnetcore-3.1) The solution / work arounds are a rat's nest of If Then Else logic.   (see https://docs.microsoft.com/en-us/samples/azure-samples/active-directory-aspnetcore-webapp-openidconnect-v2/enable-webapp-signin/ for a map of the possibilities.)  I'm just an Applications programmer 😃 so if there is someone who REALLY knows Blazor IAM to lay down guidance, I'm happy to build it.  This is IAM/Security, and there are a million ways that "work" but are wrong, so just want to make sure anything I provide is "right."

I've called out that UserManager and SignInManager ...

Aren't supported in the NOTE of the opening remarks at :point_right: https://docs.microsoft.com/aspnet/core/security/blazor/
Can be used in the Server project (ASP.NET Core code) in the "Hosted" series of WASM topics. For example :point_right: https://docs.microsoft.com/aspnet/core/security/blazor/webassembly/hosted-with-identity-server#usermanager-and-signinmanager ... there are three of those "Hosted" topics, and they all use the same section. I'm listening :ear: for feedback now from readers on any :boom: that they hit. So far, no feedback on that from the community.

mi código es tu código

Thanks! ... would you want to put them up in a GH repo, or would you rather ZIP them up and try to email them to me at llatham at aquent.com? GH repo might be better ... mail servers may kill your attachment if you try to email them to me. Also, would you like to be on the author byline of the Blazor Server security topic? If so, what name should I use and where would you like the link to point (blog URL, company URL, or something else ... or don't put a link, just add your name)?

@Rick-Anderson Should this ...
services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(
        Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
    .AddEntityFrameworkStores<ApplicationDbContext>();

... in the StartupMVC.cs and StartupMVC.cs files only be shown for <3.0 because if that's there with the latest scaffolding it leads to that Scheme already exists: Identity.Application error? The latest scaffolding puts that code into Areas/Identity/IdentityHostingStartup.cs auto-magically. Not sure tho if that was a 3.0 or 3.1 change.

@guardrex I only work with GA products, not Preview, so I technically don't do WASM, only Server.  Technically. 😉 This constraint is part of my difficulty.
UserManager works in all use cases I've tried on the Server.  SignInManager works EXCEPT on SignInAsync(), or PasswordSignInAsync() 💥  methods on the server (ergo the guidance).  When called from an API (per the example cited, btw which is WASM) it works.  If API is called from Server, it works, but do a screen refresh, a new websocket is created, and the identity is lost.   I have not been 100% successful on Blazor Server A&A except using Azure AD B2C.  But, those pages are not Blazor either.  This is my continual "you can't get there from here" complaint.  😭 However, I do believe that a Server API + WASM client is successful, as shown by GH projects BlazorWithIdentity and BlazorBoilerPlate.  I have not found a 100% Blazor Server, 100% Blazor pages solution.  WASM GA might be the eventual solution.
I'm happy with GH.  It's my company, I make the decisions (don't tell my lawyer), no issues with sharing.  A byline is always cool.  Whatever you recommend as a safe and sane link.  (www.nowtimesystems.com, which is blank.  Too busy working!) I need this solution for my project, but I don't believe in paying for real estate twice.  So solve once, share often.
Cheers

@bdnts

except using Azure AD B2C. But, those pages are not Blazor

That coverage will be later on another issue/PR that deals with beefing up the Blazor Server security topic for any gotchas and extra bits we need that apply specifically to Blazor with B2C. On this PR, I'm just focusing on the scaffolding experience.

You can rewrite all of these into Blazor pages, except Login

I don't see the component versions of the Identity pages in your repo ... did I misunderstand that you created a bunch of Identity page components from the Identity pages that the scaffolder provides?

Which repo are you looking at?  BlazorADB2C, BlazorAAD, or BlazorIdentity?  Or I can create something new.    I have the pages in a private test project.  That's how I learned SignInManager.SignIn didn't work.

I thought you had them in this one :point_right: https://github.com/bdnts/BlazorIdentity/tree/master/BlazorIdentity

That one is a mess.  I tried everything, and then finally abandoned it, but left the notes of journey behind.  I've started a new one called BlazorServerIdentity.  It will be a straight forward experience.

@guardrex Morning.  Well, my BlazorServerIdentity repo is at the point of actually converting the Identity razor pages (*.cshtml and .cs) to Blazor components (.razor).  I decided to tackle Authentication straight off, because we know SignInManager.SignInAsync() won't work.  I've tried to figure out what are the alternatives, and which ones work in order of complexity.  After a night of experimenting, here is what I found out.

Scaffolded Razor Pages They work.  The downside is the UX.  It is disjointed going from Blazor to Razor pages and back again.  No consistent look and feel.  For developers using third party libraries, cohabitation between Blazor UI Components and Asp.Net Core UI is not recommended.  I was unsuccessful in my tests on this also.  My current search axis is to find a way to leverage the Razor pages logic, with Blazor as the front end.

NavigationManager A suggested solution is to use NavigationManager.NavigateTo() to call a Login/Logout (L/L) page, and then have it return from where it left off.  This actually works. However, there are downsides.

I read some notes from Steve Sanderson saying there were some quirky bugs associated with this approach, so instead point readers to the BlazorAwesome solutions. (e.g. BlazorWithIdentity and BlazorBoilerPlate.)  I assume that is still the case.
NM can only do a GET on the destination.  The existing *.cs classes perform their functionality on a POST.  ❓ Is there anyway to have NM do a post?  if GET is all there is, then modifying the Razor pages to OnGetAsync would not be to onerous.
NM works because of the the forceload=true flag.  I've read this forces the request through the browser instead of over the Blazor circuit.  Alternatively I've read this forces the Server to do the routing instead of the browser.  Either way, forceload=true creates the correct behavior for successful L/L.
NM forwards to a new page, it is not request/response.  Extra work.

HTTP calls  Using HttpClient avoids the GET only problem of NM.  However, there is no forceload flag.  Consequently, calls are executed by the razor page, but the Authentication never passes back.  It is as if the HttpClient and OnGetAsync() are on two different systems.

To explore this deeper, I created a SignIn Razor page, with a minimal SignIn.cshtml.  In SignIn.cs I created OnGetAsync and OnPostAsync that called SignInManager.SignInAsync().  I could see that SignIn was successful, but once back in Blazor space, the L/L never carried forward.
After making a call, the the "Sorry nothing at that address" responses would appear.  But the browser Url bar would be pointing at SignIn.  If I just pressed return, I got successful authentication.  Neither GET or POST Http calls worked, because their is no forceload equivalent.  ❓ Is there a forceload equivalent for HttpClient?

API calls Working examples like BlazorWithIdentity and BlazorBoilerPlate call APIs to perform the L/L.  However, the client is a WASM.  When it makes Http calls, I suspect it is bypassing the Blazor circuit just like NM with forceload=true.  But that's a guess.

In my test with BlazorWithIdentity, I found that it uses the 3.2 preview of the Http client, and this makes all the difference.  Without it, Blazor Server calling an API will successfully authenticate, but if you refresh the browser, a new circuit is created, and the authentication is lost.  With the 3.2 Http client for WASM, then it works.
This is an order of magnitude of additional work over the scaffolded identity pages.

But it does work, just not Blazor Server only.
People have been struggling with Blazor Server only Authentication for 6 months or more.  May is just 2 weeks away.  Maybe the whole idea of Blazor Server only Authentication should be punted ❓

Third Party, Azure AD, Azure B2C, IdentityServer, etc.   -- All great solutions, but now 2 orders of magnitude of work vs Identity scaffold template.  Plus, the UI look and feel, plus SUSI flow.  It's a lot of work to get these going.

Form Post I just thought of this while writing, and so have not experimented with this.  Maybe there is a way to have an EditForm do a POST into a razor pagemodel?  Crazy huh?  Blazor front end, consistent UI experience, POSTing into the scaffolded L/L page, standard return.  👍 👎

I welcome any advice.
Cheers

Thanks @bdnts ... I'll get back to you on that by EOD.
One quick note tho ... I did find out that the redirect to Login page (Razor Pages page) approach was a bit funky. I had to pass the force switch (true) to the Navigation Manager to get the browser to redirect in a RedirectToLogin component for the Identity/Account/Login?redirectUri=XXX endpoint. Otherwise without that set to true, the browser shows the link but it doesn't actually redirect. That's on the PR now ... see the last commit. Idk if Javier has a better way.
I also know that they don't do anything for URL encoding the return URL there. That was asked and answered on the engineering repo (dotnet/aspnetcore #14366). I might call that out on a future commit here. The PR right now is using the relative URL approach ...
Navigation.ToBaseRelativePath(Navigation.Uri)

... but I could also show how to go absolute by encoding the returnUri with System.Net.WebUtility.
I'll digest and respond to your comment this evening. I have an important Preview 4 PR to set up this afternoon before I can look :eyes: at it.

Ok ... I'm caught up ... for a minute 🏃 ...

NM can only do a GET on the destination. The existing *.cs classes perform their functionality on a POST.

Yes, you have to POST with an XSRF token. This approach is on the PR and it works. The token is obtained and passed to the app using The Javier Approach:tm:. He gets a nickel for every app that uses it. ... Well ... he WISHES 💰 he did! 😁

forceload=true creates the correct behavior for successful L/L.

Yes, the PR shows that now.

Maybe the whole idea of Blazor Server only Authentication should be punted

What we'll do is cover what works now and call anything out that readers need to know. The only thing I haven't addressed thus far are (still just focusing on scaffolding at the moment):

URL encoding the returnUri for the forced redirection to Razor Pages page-based Identity endpoints. I'll do this on a commit soon ... perhaps this evening.
Razor components versions of the Razor Pages page-based Identity. This is going to be challenging given the number of them. Even if we build them, would it end up being a duplicated effort with the product unit engineers because they're already planning to do it? I'll get back to you on this point after I have an offline discussion with the team about it.
Can one style (CSS) the Razor Pages page-based Identity using the Blazor stylesheet without going bonkers 😵? It's an option, and I listed it on the PR. I don't say how to do it tho. If it can work and if guidance can be provided, it would make sense for readers to have it. I'll investigate this tomorrow (Thursday) morning ... probably 🏃😅 ... time permitting ... otherwise, I'll look into it over the weekend or Monday.

Hope your PR went well?
Do you have a link to the The Javier Approach™  I remember the "Javier is God." appraisal, but that was in relation to Azure Active Directory (AAD) 👍
What is a PR in your world?  Press Release in mine.
Conversion to all Razor Components will be time consuming, but I think the community will help IF we get past L/L (externals too).  My experience, and I think it was typical, was I started with the Sign Up flow, went well, got to Sign In and 💥.  So I stopped.  Get over this crux, and others will follow.
CSS styling is fine, but I'm using Telerik Blazor UI component for my commercial project.  Great UX.
Their Asp.Net Core UI product doesn't even do some of the things the Blazor UI does, so there is a capability gap.  Libraries are incompatible and won't cohabitate.  I don't think having 2 different UI techs is going to work, especially with Blazor as the principal UI.     (But you can call components for Asp.Net Core.... Hmmn.)
EditForm was a bad idea born of sleep deprivation.  But logically, it is the right pattern.  The physical steps are as you described.  Just got that last chasm to cross that is 10 feet across, 500 feet deep, and 500 miles wide.  😄 But how to force the POST to mimic forceload=true ❓ Get past that obstacle, and this approach could be a real winner.
I've tried using httpClient with a Post, [IgnoreAntiForgeryToken], and then hardcoded a user and password into OnPostAsync to test the LogOut mechanics without data encumbrance.  Everything works, but the authentication state (a cookie if I understand correctly) never makes it back to Blazor.    (When manually logging in and then testing SignOut Post call, I never get logged out.  But clearing the browser of cookies and history does the trick.)  The next step up in effort is to convert the Razor pages to APIs inside a Controller.  This works, but I've been having issues when refreshing the browser manually, the authentication state is lost.  But a Blazor Client with the 3.2 HttpClient lib seems to fix this.  Oy vey, this thing is a Gordian knot.
BlazorServerIdentityComponents is a great idea.  I agree with everything you wrote.  The components I'm targeting are the Sign Up, Sign In, Sign Out (SUSISO) flows.  That is 80% of the use cases in 5 components.  I'm happy to have the company, but once past SI, the rest is pretty mechanical and should only be a few hours work.  You know your priorities best.  For me, I HAVE to get this working and make it pretty.  No other options.  I'm here for the duration.
Cheers

Do you have a link

https://docs.microsoft.com/aspnet/core/security/blazor/server#pass-tokens-to-a-blazor-server-app
This PR updates that approach to include the XSRF token ...

https://github.com/dotnet/AspNetCore.Docs/pull/17780/files#diff-c84ac8de444898b748860f452e19412bR167
https://github.com/dotnet/AspNetCore.Docs/pull/17780/files#diff-f01b8457cf305424723b3283cd1fe2caR105

What is a PR in your world?

"Pull Request" ... and ur look'in at it. :smile:

Telerik ... 2 different UI techs is going to work

Correct ... we don't want to document their stuff.

[IgnoreAntiForgeryToken]

That defeats an important security precaution. The best approach is to use the XSRF token to submit the form.
I'll work on this PR a bit more soon ... certainly this weekend/Monday morning. I hope to wrap it up on Monday.
I'm especially interested in figuring out the CSS approach for the Identity pages to make them match Blazor's styles. We can't have Identity components from MS (and there's no plan to ever offer them), so devs are always going to be stuck with pages in the OOB experience with scaffolded Identity. Eventually, I'll add some text here to explain that, but I think using the Blazor theme (CSS) would at least not be so jarring to the visitor. I'll take a look at that shortly.

Hi guys, first of all, thank you both @bdnts, @guardrex. You provided a lot of informations here regarding this Identity/SSB issue. I'm having a hard time with it too 😅.
Not sure i'm qualified enough to, but if i can help, i'll try too. I'm sub to this PR to keep in touch.
Cheers

Hi @Khaderik Would you be interested in chasing down the CSS approach, making the MVC pages generated by the Identity Scaffold look like the Blazor pages?  It is a good approach, but not trivial.  I had a look it yesterday, by comparing the Hello World page against the scaffold generated Login page with browser Devtools.  The HelloWord screen layout is encapsulated inside  <body><app>  elements, while in Login, it is encapsulated by <body><header><nav>  If these pages could be given the same look and feel as HelloWorld, it would be very elegant solution.

Morning/Afternoon @guardrex
Okay, I started looking at Javier's Passing Tokens last week, and again last night.  It works great for
Individual User Accounts --> Connect to an existing user store in the cloud (Azure AD and Azure AD B2C, etc. or other bearer token systems.)  Not having much luck with Store user accounts in-app  But, you've given me some new info try.  Will update later today.
Regarding 3rd party libs for Asp.Net Core and Blazor, just saying I've tried it with one company's products, discussed with their Tech Support, gave it a whirl, and it is definitely not a recommended or probably even workable approach.
Applying [IgnoreAntiForgeryToken] is just a temporary state to reduce complexity, and see if doing an http call to Login.cshtml properly does authentication.  So far, the answer is no.  It executes, but the cookie never makes it back to Blazor.  Back to the forceload=true behavior of NavigationManager.  XSRF has to be dealt with, but it is not the principal show stopper.
Regarding CSS, see my note to @Khaderik
Cheers

Hi @Khaderik Would you be interested in chasing down the CSS approach, making the MVC pages generated by the Identity Scaffold look like the Blazor pages? It is a good approach, but not trivial. I had a look it yesterday, by comparing the Hello World page against the scaffold generated Login page with browser Devtools. The HelloWord screen layout is encapsulated inside <body><app> elements, while in Login, it is encapsulated by <body><header><nav> If these pages could be given the same look and feel as HelloWorld, it would be very elegant solution.

Hi, i'll see what i can do. right now i'm taking a look to your BlazorServerIdentity repo to gather more info about the scaffolding of Identity.

Morning @guardrex
I completed SignUp, SignIn, and SignOut flows.  Using the NavigationManager, it worked like a charm calling SignInManager inside Login and Logout.  I was very specific that this should be used for Education, Prototyping and other non-Production Quality efforts.  But by golly it works 🎆 🎆 🎆 It brings to Blazor Server a similar experience as Asp.Net Core Identity Scaffolding.  Obviously more work, but a lot less than the alternatives.  @Khaderik I'm interested to 👂  your experience.
Obviously there is more work to be done, next would be ProfileManagement.  But I feel like we've crested the mountain and are headed downhill.  Oh, right, no mountains where you live.  We've climbed out of the pothole and are solid ground again.  😆
I'm especially happy that this solves the problem for my project--I'm doing a spec prototype to demonstrate feasibility.  I was able to drag a lot of my existing work across to get to this stage, and make it kinda purtty while I was at it (like the southern twang?).
The Readme.md is just full throttle writing scrabble.  I wouldn't even call it first draft.  As the thoughts come, I write them out.   Always better to overwrite and then cut back then under write ("What many another writer would be content to leave in massive proportions, I polish into a tiny gem" Hemmingway.  BUT WHO HAS THE TIME?)  I'll let this rest for the weekend, concentrate on my project, then revisit next week with a clear head.  Of course I'll be checking in for any questions, concerns, comments, critiques, criticisms, caterwauls etc.  🐱 😆  I need 🛌
Cheers

@bdnts Glad to see that the force worked for logout ... no token needed. I'll update the PR after I repro your findings.
The XSRF token-passing scenario would be (in theory) how one would pass such a token for other purposes. I'll keep that code in my back pocket for the future in case someone asks for it. The current live guidance for passing a token to Blazor Server app can stay exactly the way that it is now.
Although I think I've burned my hours this week, I'm sure that I'll want to try your approaches this weekend ... 🎁 ... can't wait until Monday to open that.

Hi @bdnts, i was working on something else past few days, i didn't invest more times in the CSS analysis. Maybe next week.

Morning.  I have SISO working using XSRF Token + POST, and No changes to the scaffolded Razor pages.  I got the idea and borrowed the code from Shaun Walker at Oqtane. (https://www.oqtane.org/Resources/Blog/PostId/527/exploring-authentication-in-blazor)

Add

<body>
    @(Html.AntiForgeryToken())
    <app>

to _Host.cshtml  While still in "Razor" space, and HttpContext exists, this fetches the XSRF token and attaches it to the DOM.
2.  Borrowed Interop.js and Interop.cs from Oqtane.  They contain code to query the DOM and extract the XSRF token.  There is also a SubmitForm function that reads a list of elements, dynamically builds a form.  attaches the XSRF token, and then submits it (POST) to the targetted URI.
3. Added the following block of code to dynamically build the form.
        var fields = new
        {
            __RequestVerificationToken = AntiForgeryToken
            , username = input.UserName,
            password = input.Password,
            remember = input.RememberMe,
            returnurl = "/"
        };
        var interop = new Interop(_jsruntime);
        await interop.SubmitForm("Identity/Account/Login", fields);

Simple, clean, effective.  I've no time to do a bigger write up at the moment.
Cheers

IMO, that's rather hackish. I think passing the token the way that Javier suggested is cleaner.

I'll review Javier's again later today, but this was a substantial improvement over the NavigationManager solution.  But where I struggle is all the variations of settings in Startup.cs  It seems there are at least 3 different ways of accomplishing the same thing, like setting token retention, and the subtleties between the options is the difference between success and failure.  Very little explanation of why  one option versus another.
Is there a comprehensive guide to Startup.cs and all the various options?

@bdnts
I can't get force to work on Logout due to the problem with not being able to POST to the logout endpoint. Since SignInManager isn't supported for use in components and since this PR won't have any Identity components anyway, I'll leave the HTML form with XSRF token approach on the PR.
I'm going to look at the CSS situation now. If I come up with something, I'll put it on the PR shortly. If not, I'll leave the current guidance on the PR as it is, which basically just tells the reader that it's possible to do it without saying how to do it. That might be the best that we can do right now.
I'll walk the steps one more time and make a final round of nit updates. Then, I'll call for final review on this.

This PR will be rebuilt. GitHub's little hiccup this morning broke it a bit. The commit on my branch didn't make it here. Besides, it's best if I open a new PR to cut our discussion out leaving the main points for review.

Moved to https://github.com/dotnet/AspNetCore.Docs/pull/17940.

I published BlazorServerIdentityInterop (https://github.com/bdnts/BlazorServerIdentity)  demonstrating how to use JS interop to get the XSRF token, and post forms from Blazor to Razor pages for SignIn flow.  This may well be a hack, but it is an elegant one.  It comes down to adding interop.js (2 methods of interest), and interop.cs (wrapper), and modifying _Host.cshtml--2 lines.    Everything else is creating the new Blazor components.  It took 2.5 hours to get SignIn working while building ReadMe.md.  I made no modifications to Login.cshtml/.cs
Anatomically, this is similar to Javier's solution: 1) get the XSRF token, 2) create a message with XSRF attached 3) post it to Login. 4) Make sure Authentication Token gets posted to Browser.  Some parts might be interchangeable between the solutions.
Give it a whirl when you have a chance and let me know what you think.
Cheers

I'm going to go with Javier's approach on the first draft. That's what he said they want for passing tokens to components. It dovetails well with what a dev will already need to do if they need id+access tokens. We'll see on review what they think.


CommonJs for micro-curve-definitions

The micro-curve-definitions module is published with only esm files. It would be beneficial to also include cjs builds so both formats can be supported the same way it is done for @noble/curves.

It includes both
Just need to publish new version

0.2.1 is out, try it

The new version works. Thank you!
Just to mention two smaller things I noticed:

Now that both builds are included for micro-curve-definitions it might be worthwhile to add exports definitions to package.json so the cjs and esm differentiation can be done automatically by module resolution
The file curve-definitions/src/ed448.ts has a dependency ../../lib/montgomery.js which I'm guessing should be for @noble/curves/montgomery

If these changes make sense to you I can also create a PR if you'd like.


Reorganise aggregation by deciding how initial document is fetched

Description
Closes #2423.

This PR demonstrates intended design for aggregation pipeline to handle special stage like $collStats.
$collStats created a bit of special case in aggregation. It's because it wants to decide if it wants to query DB or not, and if it queries DB, it uses query specific to its need.
In this PR, I'm intending to remove special handling for $collStats by allowing stage to decide how it's initial document iterator should be fetched. This would be useful for stages that haven't been added such as $documents stage which does not query DB at all.
Do not merge, as this PR is not intended to be merged. It demonstrates the design and that's the purpose. Some tests failing, that's okay.
Readiness checklist

[ ] I added/updated unit tests (and they pass).
[ ] I added/updated integration/compatibility tests (and they pass).
[ ] I added/updated comments and checked rendering.
[ ] I made spot refactorings.
[ ] I updated user documentation.
[ ] I ran task all, and it passed.
[ ] I ensured that PR title is good enough for the changelog.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core), Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

Pausing work on this PR for now

Close for now