README.md Troubleshooting: "Nothing is happening and ksync get says that it is waiting." doesn't make sense.

https://github.com/vapor-ware/ksync/blob/master/README.md

Troubleshooting

Nothing is happening and ksync get says that it is waiting.
This is the state where the cluster is being monitored and it doesn't look like there is anything to do. Make sure you're

This doesn't make sense. Make sure you're what?

😱 @grampelberg

@dsutphin Are running ksync behind proxy?
In my case it turned out it was a proxy issue.

To further clarify, the waiting status is the default state. It changes only when matching events are emitted, so we'd probably need more info if you're having a problem.

@ashahba thank you for the advice but for now I've given up. I just wanted to report the issue with the README.md.

@dsutphin If you wanted to get started again, feel free to file another issue and we can work through it. Thanks for the headsup!

Hi,
I just installed ksync following the README and I'm experiencing the same problem, the ksync get return:
      NAME       LOCAL   REMOTE   STATUS    POD   CONTAINER
+--------------+-------+--------+---------+-----+-----------+
  clever-mouse   ksync   /code    waiting

I'm running k8s 1.10.7-gke.1 into GKE env.
ksync is correctly installed:
 $ kubectl get pod -n kube-system -l app=ksync
 NAME          READY     STATUS    RESTARTS   AGE
 ksync-c5jmh   2/2       Running   0          32m
 ksync-l49kg   2/2       Running   0          32m
 ksync-pzblv   2/2       Running   0          32m

Let's me know if you need more info.
Kind regards

I discovered the cause.
ksync by default search pods on default namespace only.
so, even if kubectl is configured to use by default another namespace (test in my case) via the command
kubectl config set-context $(kubectl config current-context) --namespace=test, ksync use always the default namespace if not specified.
So I workaround this problem with:
ksync create -n test --selector=app=app $(pwd)/ksync /code
With kind regards

That's a great catch @ugoviti, would you mind filing an issue that is separate for that? I didn't know that was even possible!

@grampelberg You closed this without fixing the README.md. The reason I created this issue. Just a heads up.

@dsutphin argh, you're totally right. Sorry about that!

Someone should update the readme, the missing part is still missing


Responsive Sizing as Default

Corresponds to #1024
One thing I was quite unsure of was the defaultPropertyValues() method in Form.java. Specifically, the line Sizing("Fixing"). For now, I have changed that to Sizing("Responsive"), but would that not break previous versions/other AppInventor repos?

Can one of the admins verify this patch?

@AppInventorWorkerBee ok to test


Compression Algorithm ??

Is QuickLZ really the best choice as compression algorithm ??
as there is TWO more algorithms do a good job with compression
after i searched for sometime i found that there is Snappy (fastest between them) Algorithm and LZ4 (latest is very fast)
both of them do a great job and they faster (a bit) than QiuckLZ
you can find a comparison between them here :
http://encode.ru/threads/1266-In-memory-benchmark-with-fastest-LZSS-(QuickLZ-Snappy)-compressors

Yes you are right. LZ4 is pretty good yet there is not yet a pure c# algorithm. there are only bindings.
Please see #96 #95 #94 #90 #85

as for LZ4 i found a library for .net projects
http://lz4net.codeplex.com/
@OpenSourceCS

It is a binding project. It requires VC++ 2010 Redist. Moreover the native dll(whatever) of LZ4 (which is written in C) cannot be binded with Client.exe.

QuickLZ implemented in xRAT is just a single file written in pure c#. It makes things simple.

Hmmm... I can port an algorithm if it is much better than what we currently use. Please know that the article mentioned is 4 years old. If possible, please show me a more recent bench mark and I will certainly convert it to C#.   :)

as for snappy it hasn't changed a lot and you can see here
https://github.com/google/snappy/commit/eeead8dc38ea359f027fb6e89f345448e8e9d723
i might help you :)
and i am trying to find newer benchmark for LZ4

GOOD News
Snappy (the extremely fast algorithm) is available in c# .net (4 years ago)
so you don't need to convert it ... here is the project
https://github.com/Kintaro/SnappySharp

need to benchmark snappy and quickLZ before implementing

i found more benchmarks i hope you find it useful
i want to mention that they are in different Implementation (java)
but it shows the difference between them and there performance
LZ4 shows to be the fastest :+1:
reference :
http://java-performance.info/performance-general-compression/
https://sites.google.com/site/powturbo/home/benchmark
https://code.google.com/p/lz4/
http://catchchallenger.first-world.info//wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

does anyone find lags in network transmission?. I think QuickLZ is sufficient for now. But after implementing other features, we can come back to this. @MaxXor please start assigning people for specific issues. Thanks!

I have no issues with network transmission. ProtoBuf is actually very fast and efficient.

DragonHunter recommended that we should use QuickLZ instead of LZ4. I also think we should stick with it.

By that, you mean we should continue using what we currently use? I would just like to clarify.

Yes, correct. We'll change it when the current compression algorithm is not fast enough for our needs. But currently it is.

Okay, thank you for the clarification. I agree.

useless lz4 | the quicklz is superee.


Create tutorials walking through metadata upgrade options

Tutorial 1: Jupyter Notebook & pandas to convert GBL-1.0 JSONs into Aardvark
I updated this Jupyter Notebook to handle more complex transformations: https://github.com/geobtaa/harvesting-guide/tree/main/recipes/R-07_OpenGeoMetadata

[ ] Create a repo with sample records
[ ] Update the Jupyter Notebook to function as a tutorial
[ ] Add a section that transforms the CSV into JSON Aardvarks

Other tutorial ideas:

Using GeoCombine for the same process

no longer priority


Slack bot returning source documents in different order from backend/website/LangSmith

Describe the bug
The Ask Astro Slack bot is returning related documents in a different order from that of backend or on the ask astro website or the one on LangSmith. This is occuring on the dev server.
To Reproduce
Steps to reproduce the behavior:

Redeploy cloud build ask-astro-dev-00289-s58 and serve 100% traffic there for the dev server

Go to the dev server's front end website, in my case https://hybrid-search-reword-and-rer.ask-astro.pages.dev/requests/097dca16-ab93-11ee-82fc-42004e494300, then send a question "What is the Astro SDK?"

See results and related documents returned

Go to Ask Astro's slack bot channel and ask the same question "What is the Astro SDK?"

See the the related documents returned are ordered differently. The first document on the website is https://docs.astronomer.io/learn/astro-python-sdk-etl, but the first document returned from the slack bot is https://astro-sdk-python.readthedocs.io/en/stable/aep/README.html.

Checking on LangSmith, the ordering of documents on the website/backend is correct, but the ordering from slack is different. See link here https://smith.langchain.com/public/66cee2ee-507c-480b-bd8f-3098ea93833a/r.

Expected behavior
The slack bot's related documents returned should be the exact same ordering as the ones from backend/website and on LangSmith.

@sunank200 I have other assignments as per Sprint planning. Assigned it to you


Fix hmac test case 6

In test/hmactest.c test case 6, data "My test data again" was miscounted as 12 characters instead of 18 and the digest was also miscalculated due to this error. This PR fixes it.

or we could chop off the last six chars :)

Yup.

pushed at commit 8a3c000  Thanks!


Bookmark should limit the length of the description containing message.content

Description
When attempting to bookmark a message whose character count approaches Discord's character limit, the characters added by the bookmark command for its DM to the user may put the character count above Discord's field limit (2048 characters). This causes the bot to (silently) fail.
Steps to Reproduce

Attempt to bookmark a message whose length is near Discord's character limit (e.g. this message has -2000 characters)

Expected Behavior
DM feedback should be provided to the user & a reaction added to the command invocation
Actual Behavior
The command silently fails. Local testing reveals an error message along these lines:

To solve this, messages to be bookmarked should have their contents truncated in the bot's DM to the user so the field character limit is never exceeded.

Seems fine. I've updated the OP to better explain the problem.
Rather than arbitrarily lasering in on a 256 character limit, this PR should provide samples of a few different truncation lengths to see which provides the best level of context.

Hmm, shouldn't an embed's description be able to handle it, seeing that it also share the 2048 character limit? Do we hold extra info in the description? If so, should we move all of those to a single, new field instead of previewing / truncating?
It can be hard to remember what a bookmark is and clicking the jump link to check every time is not exactly convenient.

Do we hold extra info in the description?

The code can be found here: https://github.com/python-discord/seasonalbot/blob/master/bot/seasons/evergreen/bookmark.py#L31
The jump link and some additional text is added to the embed description.

It can be hard to remember what a bookmark is

Sure, but does one really need 2000 characters to do so?

I think 256 is the sweetest spot. it doesn't clutter the embed itself. looks clean .
One can easily see the original message whenever he wants to

You haven't provided any examples from which to judge whether or not 256 characters is a "sweet spot"

The problem is the whenever - you will need to click on the jump url every time.
Since you only add one extra thing to the original message's content, it can be moved to another field, and thus retain the current format of the embed and that way we do not have to truncate anything at all, getting rid of the length checking logic.

https://user-images.githubusercontent.com/45149585/71840481-677a5000-30e3-11ea-9e5b-8f07e4625cef.png
yeah i think we should add a external field tho

After testings , embed name have a limit of 256 and description 1024
There is no way we can fit whole content in the message
So we have to truncate the message.

The proposal is to add the jump link to a separate field and leave the message content in the description of the embed.
Per the developer documentation, the description field has a character limit of 2048 characters, and normal messages have a limit of 2000 so there should be no conflict if this information is accurate.

Ok done!


Small problem in wc output

Since we want these tools to be as compatible as possible with their GNU counterparts, issue like this need to be opened.  The reason is that many other tools try to parse the output of the coreutils programs, and will fail if the differences are large.
I just attempted cat README.md |bin/wc -l and saw extra whitespace at the beginning of the line, and extra whitespace and a dash (-) after.  Here is the output from running first the V coreutils version, the the GNU version:
jamie@5950x coreutils]$ cat README.md |bin/wc -l
  144 -
[jamie@5950x coreutils]$ cat README.md |wc -l
144
[jamie@5950x coreutils]$

Please make the outputs match, and test the output of the other options against GNU version of wc.

@dundee ^^

I will fix it.


Revert "df: remove trailing spaces in rightmost column"

Reverts uutils/coreutils#3423
to see if it fixes the GNU tests

That worked?! It looks like such an innocent change. I wonder how it caused the problem...

Yeah, it seems, let's land it to confirm!!

Maybe it triggered a bug in the GNU impl


CRA Docker example gone

Hi! I have noticed that with the release of v3.0.0, the example file for running a production Docker is gone as well as the Dockerfile that's probably used for the use-of-use nginx container is gone.
I think what would be good is if the README.md of the CRA example could be updated to add in an example on what to insert into a Dockerfile to make react-env work with a production container. This at least would make it not get obsolete fast but still give a good kick-start for people to make their own Dockerfile with the extra steps needed like apk add, etc.

Yes, we removed the example Dockerfile and Nginx Dockerfile as we deemed these out-of-scope for this library.
We will add an example Dockerfile to the readme.

We have updated the readme to explain this use-case :-)
https://github.com/andrewmclagan/react-env/blob/master/README.md#using-with-docker-entrypoint
thanks for your input!

Perfect, thanks! That's exactly what I suggested 😄


[CdkDrag] Dragging the last item will break the structure of the list.

Bug, feature request, or proposal: Bug
What is the expected behavior?
List structure remains identical after drag/drop
What is the current behavior?
List structure breaks when dragging the last item in a list where the
drop container is not the direct father (and when not using NGFOR)
What are the steps to reproduce?
https://stackblitz.com/edit/angular-9xpwbj
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
7.0.4
Is there anything else we should know?
This bug is in the cleanup routine of the CdkDrag compoment, if there is no "nextSibling", i.e. last item in drag container, and the drop container is not the father (direct parent) of the list it will append the dragged item to the container which is not the direct list owner.
This will not happend when using *ngFor because *ngFor will add a comment element after each list item which causes CdkDrag to think it's not the last sibling.

I also think that the fact it doesn't happen in*ngFor is a bug, the nextSibling should reflect the next draggable item but the code queries for any node... instead of element.nextSibling it should probably be element.nextElementSibling

The first goal of the cleanup routine is to restore the DOM structure to its state before doing the drag & drop, letting the user handle the dropped event and decide if to move or not to move the item. (in the demo it's through ngFor and CD)
    this._rootElement.style.display = '';

    if (this._nextSibling) {
      this._nextSibling.parentNode!.insertBefore(this._rootElement, this._nextSibling);
    } else {
      this._initialContainer.element.nativeElement.appendChild(this._rootElement);
    }

In a single drop container scenario the solution should be simple, just don't do anything if there is no last sibling. We don't remove the drag element from the DOM anyway, so it should stay as is.
Which means, removing this line of code:
this._initialContainer.element.nativeElement.appendChild(this._rootElement);

In a multi drop-container scenario it's a bit more complex because a DOM element moves between drop containers while dragged and we need to return it to the original position it was in.
With both scenarios in mind,  I think the solution should be adding an additional reference to the initial direct container and using it in the cleanup routine.
When starting the drag sequence (_initializeDragSequence()) we save a reference to the drop container (this._initialContainer = this.dropContainer;) because the container might change, we use that for appending in the cleanup... which is wrong. We need to reference the direct DOM element container as well: this._initialDirectParent =  this._rootElement.parentNode and the cleanup routine:
    this._rootElement.style.display = '';

    if (this._nextSibling) {
      this._nextSibling.parentNode!.insertBefore(this._rootElement, this._nextSibling);
    } else {
      this._initialDirectParent.appendChild(this._rootElement);
    }

@crisbeto I have a PR, would you like me to post it?

Sure.

Delayed a bit, found another issue.
With connected containers, when both containers are not direct parents of the dragged elements, we need to be able to detect the direct element that is the parent of the dragged items.
For example:

Zero

One

Two

Three

Four

Five

Six

Now when moving between containers the enter() method will use:
this.element.nativeElement.appendChild(placeholder);

When this.element is the cdkDropList host, not good.
I will use the same approach taken by cdkDrag using cdkDragRootElement.
  /**
   * Selector that will be used to determine the direct container element, starting from
   * the `cdkDropList` element and going down the DOM. Passing an alternate direct container element
   * is useful when the `cdkDropList` is not the direct parent (i.e. ancestor but not father)
   * of the draggable elements.
   */
  @Input('cdkDropListDirectContainerElement') directContainerElement: string;

It will do the same as cdkDragRootElement but instead of going up it will search down and with querySelector.
      let element = this.element.nativeElement;
      if (this.directContainerElement) {
        element = element.querySelector(this.directContainerElement) || element;
      }
      element.appendChild(placeholder);

Let's take these two issues one at a time. Usually we try to avoid having PRs that span multiple issues since it makes it harder to diagnose presubmit issues.

@crisbeto Sorry, I already posted the PR.
I can remove it, but it's quite a small change in code overall. Most code is in the tests

For anyone facing this issue, until resolved, the following gist contains a workaround for all issues in this PR + the ability to lazy bind a CdkDrag and a CdkDropList (i.e.  out of scope binding between CdkDrag and CdkDropList as described in #14099)


Install as devDependencies

Is it recommended to install the library as devDependencies ?
yarn add windows-build-tools --dev

I wouldn’t recommend that, there are so many ways to install the required tools that this module can’t detect all of them.


Thank microsoft-365

[Enter feedback here]

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: de70c835-f408-83a6-3cc7-885756bd7152
Version Independent ID: 076708dd-80e4-39d7-7e23-42730c106900
Content: How automated investigation and response works in Microsoft Defender for Office 365 - Office 365
Content Source: microsoft-365/security/office-365-security/automated-investigation-response-office.md
Product: m365-security
Technology: mdo
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

@16015299 We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any feedback from you so we are going to close this issue.
Please feel free to re-open this issue if you see an improvement is required in the specific area of this documentation. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


CODE: Autocomplete feature using Local Storage

Made Autocomplete feature without using Local Storage

Made Autocomplete feature using Local Storage in the Issue: "Add the saved in localStorage cities to the autofill feature.
#43". I think this issue is no longer needed.


:art: Add footer

I am not being able to translate the animation, for some reason I am not being able to recognize, the useInView from the "react-cool-inview" its not working. In particular the OnEnter.


Ambassador multiple namespace scope

Please describe your use case / problem.
I have tenants that should have access to just some namespaces and other tenants that should have access to other set of namespaces. These namespaces sets should have a ambassador instance that reads that namespaces for config. Team A should not be able to add a mapping with a ID of Team B, Team B ambassador should not read Team A namespaces
Describe the solution you'd like
When deploying Ambassador there is a env variable AMBASSADOR_NAMESPACES with a list of namespaces that Ambassador will read config form. It will use that list to fetch mappings and other stuff from the API. Single namespace scope variable would be deprecated as you will need just to give one namespace to achieve the same functionality
Describe alternatives you've considered
Having a single namespace scoped ambassador for each namespace is just expensive.

Nope, still need it :D

It's now possible to configure Emissary / Edge Stack to a single namespace.  Let us know if there's any issues here still unresolved.


Update to 9.3.9, include scripts in $CONDA_PREFIX/scripts and include…

… #714
@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Set the website of this GitHub repo to the Atmopshere package

https://atmospherejs.com/meteorhacks/flow-router

I don't find any reason on pointing it to atmosphere. I will leave it
blank.
Why do you think, we should add it to there?
Normally, we don't do that for npm?
On 2015 ජූනි 12, සිකු at ප.ව. 4.36 Dan Dascalescu<EMAIL_ADDRESS>wrote:

https://atmospherejs.com/meteorhacks/flow-router
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/flow-router/issues/160.

If there is a website or github pages - we usually set the top link, if it is only npm/atmosphere/etc - there is usually no link for that.

Atmosphere shows the traction/adoption of a package: number of stars, number of installs, trend
Everyone else I've asked to add Atmosphere as the repo's website did it, unless there was a better site to add (e.g. components.meteor.com)

It's of course optional :)


[bugfix] I/O processing procedure: fixed bug (memory leakage)

Description

This PR is intended to fix a bug (memory leakage) in the I/O processing procedure part of the MONIO package
Recently, debugging/profiling of the application lfricjedi_hofx.x (OOPS class: oops::HofX4D) has been carried out by using the AddressSanitizer (ASan) tool.
During this investigation, a few memory leaks have been identified.
A subset of them are associated with the I/O processing procedure part of the MONIO package.

* debugging/profiling (before)
The output of the debugging/profiling can be found here.

* solution:
The memory leaks occurs because the resources allocated for the data structure dataFile_ are not correctly deallocated at the end.
The bug/issue is related with the call of the destructor of std::unique_ptr, in particular it is related with the difference between the two methods std::unique_ptr::release() and std::unique_ptr::reset().
For details see here, here, and here.

* debugging/profiling (after)
The output of the debugging/profiling carried out after fixing the bug can be found here.

Issue(s) addressed
issue #48

Acceptance Criteria (Definition of Done)
All the tests pass.

"This wouldn't have happened with good old new and delete ..."
Well, I don't know ... I am not sure about that.

P.S. -- C++ ... a such (very) easy, wonderful language ...

@odlomax I think that @mo-lormi's work here is an interesting commentary on the pitfalls of smart pointers. I understand we're using them because of the perception that they prevent memory leaks, but this story shows how they introduce another set of rules and procedures that need to be understood to prevent them.

"This wouldn't have happened with good old new and delete ..."

Well, I don't know ... I am not sure about that.
P.S. -- C++ ... a such (very) easy, wonderful language ...

If I were writing it. I learned new and delete first and felt very comfortable using them. I felt there was a purity and simplicity around needing to pair every new with a corresponding delete. Life was simple back then. When all this was fields. Haha!


Use package extensions to reduce dependencies

For each of the input types it would make sense to create package extensions in order to lighten up dependencies, especially for future additions

addressed in #19


Debugging is broken in windows

Refs https://github.com/badsyntax/vscode-gradle/issues/244
I get the following error when attempting to debug in Windows 10:
Picked up JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:53515
ERROR: transport error 202: unable to create socket: Provider initialization failed (check %SystemRoot%)
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [./src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c:735]

This works fine in windows when run from cmd.exe or powershell:
java '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:9999' -jar .\example-project-all.jar

But fails when run through gradle.
I think the problem is due to hostname resolution.
Other issues to fix:

Check debugger is properly closed when task is stopped
Add context menu to debug & debug with args

I've figure out a fix for this:

check %SystemRoot% implies the SystemRoot environment variable is not set. As I'm setting the JAVA_TOOL_OPTIONS via gradle API setEnvironmentVariables, it's not "forwarding" all the other env vars from the parent process, and thus SystemRoot is not set. The fix is to set all env vars from the host process, with an extra JAVA_TOOL_OPTIONS env var
server=n is wrong and should be server=y. As [stated in the docs]: "If server=n, attempt to attach to debugger application at this address. If server=y, listen for a connection at this address."

I'll send a PR soon with these fixes.


B-17477 Add and update weight fields in MTO Shipment Weight

B-17477
Summary
When viewing the weight details of a MTO, counselors were not able to see all the weight data points. This update fixes that, displaying the estimated weight, initial weight, a reweigh weight (if requested), and the actual shipment weight (the lesser of two values between the initial weight and the reweigh). Because the api returns a value (calculatedBillableWeight) for the actual shipment weight that is calculated more thoroughly than the front end previously did (see: shipment_billable_weight.go > CalculateShipmentBillableWeight), so I removed the front end code to determine that.
Also, the front end had logic for not displaying the Estimated Weight if the shipment was a shipment coming out of NTS, as the prime would not need to estimate that. Per my conversation with DS, we updated that to have an emDash to keep in line with the other UI elements.
Note: naming of data points may be somewhat confusing when viewing the code. The values are mapped as follows:
primeEstimatedWeight => Estimated weight
primeActualWeight => Initial weight
shipmentInfo.reweighWeight => Reweigh weight
calculatedBillableWeight => Actual shipment weight
Verification Steps for the Author
These are to be checked by the author.

[x] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[x] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

How to test

Login as a new or existing customer and create a new HHG shipment
Login as a services counselor, access the newly created HHG, and fill out necessary information, then click Submit move details
Login as a TOO, access the new move; select the move and approve the Move management service item. Confirm that all weight fields in the shipment appear and don't have values
Login in a prime simulator role and access the new move; Update the shipment and include values for estimated weight and actual weight
Login as a TOO, access the move; confirm estimated weight, initial weight, and actual shipment weight are populated with values. Request a reweigh
Login in a prime simulator role and access the move; respond to the reweigh request and enter a number
Login as a TOO, access the move, and confirm that a reweigh value appears, and the Actual shipment weight displays the lower of the two values between Initial weight and Reweigh weight

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 10c8b73cad556890d14095a9f2524c8916341f30


Feat: Broker Auth + Additional Targets

Hey @guiyomh
Thanks for releasing this tool, I remember when you told us about it back in December, I came back to my mind and thought it would be good to get auth based support in place, it looks like you had most of the work done, just needed exposing in user flags.
I also added a load more targets as well, because rustup/cross is awesome :)
Happy to split out the changes.
There are a couple of things that will need removing prior to merging, I set the value manually in the workflow file, as it wasn't picking up the next version, and updated a load of the action tags as they were deprecated.

@YOU54F thank for your contribution.I'll review it today. Sorry for the tartive review.

No rush at all @guiyomh , thanks for taking a look 👍🏾
Changes addressed now and merged main in.
thanks buddy

It's merged! thank for your contrib.


--fix is very slow if there are multiple issues

Bug Report

TSLint version: 5.9.1
TypeScript version: 2.7.2
Running TSLint via: CLI

--fix is very slow if there are hundreds or thousands (957 in my case) of linting issues, which are fixable automatically. For example adding a bunch of new rules or changing your code style can introduce such cases.
This issue seems to be calling createProgram in a loop. Each call may take up to a second or two to finish (at least on Windows) and if it's called a thousand times, the program takes 15 minutes to finish.
This issue was probably introduced by https://github.com/palantir/tslint/pull/2864, which seems to be an important fix though.
The actual linting process is fast though.
I can share you a profiler dump privately, if needed.
TypeScript code being linted
Any project with a thousand linting issues, which are fixable automatically.
Actual behavior
Running the linter takes like 15 minutes to finish.
Expected behavior
The linter should finish very well within a minute.

That's a known issue. If you have many style issues, you can run tslint without --project to fix those failures first. That should be way faster. Afterwards you can fix the remaining failures that require type information.
You can also use my alternative linter runtime to execute TSLint rules. It's optimized for speed. It can probably fix your whole project in a couple of seconds.
You can find all necessary instructions in the description: https://www.npmjs.com/package/@fimbul/valtyr

@ajafff Thanks. I tried searching the issues for it, but didn't find anything. Is there an issue I could subscribe to and close this one?

It turns out there is no other issue tracking this performance problem. I only answered a similar question on Gitter. So this was only a known issue for me.
Unfortunately there's not much that can be done to fix this in the current implementation. There's no separation of concerns so the linter cannot know how to update the program (it already assumes too much implementation details to be 100% correct). Therefore it needs to read (and parse) everything from disk over and over again.
Incremental parsing mutates the original SourceFile object which could/will break API users.

Thanks for the insight. I'll leave the issue open then.
The Fimbullinter project seems interesting, I'll give it a go.

That's a known issue. If you have many style issues, you can run tslint without --project to fix those failures first.

That's somewhat true. However, using this, e.g. w/ tslint -c and globs, there is a bug where tslint running on macOS will miss a ton of things (even after verifying that the files being missed are indeed part of the glob). These errors will then show up, for example, in a Linux CI environment.

@bfricka if you're using globs, make sure to quote the glob strings. that way it uses node glob to expand them. otherwise, without quotes, the glob expansion is done by the shell, which can vary across different environments

Holy smokes. That worked. I had no idea it would use node-glob by forcing a string (instead of glob expansion). All the examples I've seen don't quote. Thanks!

💀 It's time! 💀
TSLint is being deprecated and no longer accepting pull requests for major new changes or features. See #4534. 😱
If you'd like to see this change implemented, you have two choices:

Recommended: Check if this is available in ESLint + typescript-eslint ✅
Not Recommended: Fork TSLint locally 🤷♂

👋 It was a pleasure open sourcing with you!
If you believe this message was posted here in error, please comment so we can re-open the issue!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


test: reenabling acceptance test for archived message

Description
References

Codecov Report
Attention: 497 lines in your changes are missing coverage. Please review.

Comparison is base (21978a1) 83.07% compared to head (08a7dcd) 40.92%.
 Consider uploading reports for the commit cd3eed8 to get more accurate results

Files
Patch %
Lines

source/Api/Program.cs
0.00%
66 Missing :warning:

...ssages.Infrastructure/ArchivedMessageRepository.cs
0.00%
63 Missing :warning:

...rce/Api/Authentication/MarketActorAuthenticator.cs
0.00%
33 Missing :warning:

...essages/RequestAggregatedMeasureMessageReceiver.cs
0.00%
32 Missing :warning:

...uration/Middleware/UnHandledExceptionMiddleware.cs
0.00%
29 Missing :warning:

.../Api/Authentication/DevMarketActorAuthenticator.cs
0.00%
26 Missing :warning:

...thentication/MarketActorAuthenticatorMiddleware.cs
0.00%
25 Missing :warning:

source/Api/EventListeners/InboxEventListener.cs
0.00%
24 Missing :warning:

source/Api/IntegrationEventHandler.cs
0.00%
24 Missing :warning:

.../Authentication/BearerTokenAuthenticationMethod.cs
0.00%
23 Missing :warning:

... and 19 more

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #719       +/-   ##
===========================================
- Coverage   83.07%   40.92%   -42.16%
===========================================
  Files         456      383       -73
  Lines       10418     7463     -2955
===========================================
- Hits         8655     3054     -5601
- Misses       1438     4312     +2874
+ Partials      325       97      -228

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Simulators are not created - snapshot reset_simulators

qqqqq:~ obula$ snapshot reset_simulators
[02:41:01]: #############################################################
[02:41:01]: # xctool is recommended to build the apps
[02:41:01]: # Install it using 'brew install xctool'
[02:41:01]: # Falling back to xcodebuild instead
[02:41:01]: #############################################################
Are you sure? All your simulators will be DELETED and new ones will be created! (y/n)
y
 Removing device iPhone 4s (50B2FD07-01AD-40A3-B833-9954B893FA74)
Removing device iPhone 5 (03536934-B0FA-44E6-843D-9E31DDF6A0A1)
Removing device iPhone 5s (8FA63311-3E2B-4561-B9C1-216F16CFA7E2)
Removing device iPhone 6 (567731B1-5C31-45F7-8EA6-3DB3C630DE2A)
Removing device iPhone 6 Plus (7E310337-38B8-48A8-B55F-5CD6144615B5)
Removing device iPad 2 (6A0BA3F3-DA21-485B-83AC-59F3D7CEB93F)
Removing device iPad Retina (8837DC25-F19F-4E72-AB20-A81845D03CC8)
Removing device iPad Air (78D700B2-E08C-4E1E-AD94-FB9A17FB33CA)
Removing device iPad Air 2 (8FCA614C-EB93-4AA7-9338-EA274F8520F5)
Removing device 38mm (01819EEE-E9E2-46D7-B906-6E09DAF5716D)
Removing device 42mm (BBDB6BE7-0DCA-4C88-BBAB-F75B4B91A18D)
Creating ["iPhone 4s", "com.apple.CoreSimulator.SimDeviceType.iPhone-4s"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPhone 5", "com.apple.CoreSimulator.SimDeviceType.iPhone-5"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPhone 5s", "com.apple.CoreSimulator.SimDeviceType.iPhone-5s"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPhone 6", "com.apple.CoreSimulator.SimDeviceType.iPhone-6"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPhone 6 Plus", "com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPad 2", "com.apple.CoreSimulator.SimDeviceType.iPad-2"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPad Retina", "com.apple.CoreSimulator.SimDeviceType.iPad-Retina"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPad Air", "com.apple.CoreSimulator.SimDeviceType.iPad-Air"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["iPad Air 2", "com.apple.CoreSimulator.SimDeviceType.iPad-Air-2"] for iOS version 2.0
An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=157):
Incompatible device
Creating ["Apple Watch - 38mm", "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm"] for iOS version 2.0
Creating ["Apple Watch - 42mm", "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-42mm"] for iOS version 2.0

I'm having the same problem

I could reproduce the issue, working on a fix right now :+1:

I just pushed https://github.com/KrauseFx/snapshot/releases/tag/0.9.2, let me know if that works for you :+1:

Works perfectly!

Xcode 7.1 cause this issue to reappear.

I'm pushing another fix right now! :+1:

Works great again, thank you! Also have fun @ twitter!

Thanks @carlossless :+1:


can not set dynamic symbols to debug mode using CMakeLists.txt

Describe the problem
I just compiled dynamic symbols with cmake option (-DCMAKE_BUILE_TYPE=Debug), but when I used readelf to check the debug info of dynamic symbols, it got none!
How to set dynamic symbols to debug mode using CMakeLists.txt ?

@peyer Please turn off the MACE_ENABLE_OPT_SIZE switch in mace/CMakeLists.txt, and try again.
option(MACE_ENABLE_OPT_SIZE    "whether to build with optimized binary size" OFF)

@lu229 Yes, it worked, thansk!


Strong Sign the assemblies (in nugets)

For those who have strong signed applications is necessary to have strong signed dependencies, so this is a problem for us.
You could even make a version of strong signed nugets available, and one as it currently exists

Hi, thanks for the feature request. Can you please explain a little bit more what you would expect for the solution?

Hi, it's very simple. Sign the assemblies with SNK in the nuget packages.

@NunoPeixotoPrimavera this request seems to have received more traction #1321

Hi there. Let's track this feature request in #1321, I know this one was opened a bit early, but anyway.
Duplicate of #1321


Fix build for official and supported releases

Fixes build issues with the new apt_auth.conf concept (See: https://manpages.debian.org/testing/apt/apt_auth.conf.5.de.html).
Also fixes the URL for the supported Kopano core repository.

@fbartels Files plugin for Debian 10 is btw also not available. https://download.kopano.io/supported/files:/final/Debian_10/

i don't know why travis build shows lint errors, running make lint on my local pc works without errors...

From what I can see hadolint throws an error. Which version are you using?
In other Dockerfiles I added # hadolint ignore=SC2215 above the run line that mounts the secret.

Looks good now. Thanks for your pr!


Refresh token

Any ideas of how to implement the refresh token?
Seems nobody has written nothing...

http://stackoverflow.com/questions/26739167/jwt-json-web-token-automatic-prolongation-of-expiration

OK thanks.
But some example of how to implement with node-jsonwebtoken?

+1

+1

is there a way to reissue the same token but just change the expiry date?

kinda same as #133 but is there any official support to refresh a token?
Right now I validate the token and user data and then sends a new one to the client if it has expired,
but would rather just update the existing token.
    jwt.updateToken(token, data)

@morgondag I think your implementation is very dangerous since you are not assigning any expiration time to the token. It means that if some hacker gets the token, he/she can access your API indefinitely.

@mateeyow sounds good, so what we are asking for is a way to update a token.
nothing is saying that we are nit doing any form of validation on it beforehand.
So there is no real way to update a token or change it expiry date without generating a new key.
I guess the best way is simply to force to user to login again and again and again :-/

I am also having trouble finding good information on:

How to implement refresh tokens server-side
A sensible strategy to refresh tokens on the client-side

+1

any progress?

you can verify user using previous token, then generate a new one for that user. Like:
jsonwebtoken.verify(token, mySecret, function (err, user) {
if (err) {
return res.json(err);
}
if (user.id)
res.json({
newToken: jwToken.issue({
id: user.id
})
});
    });

This is what I ended up doing on my end.  My token is already verified by the time I hit my refresh function.
static refreshToken = (token): string => {
    let optionKeys = ['iat', 'exp', 'iss', 'sub'];
    let newToken;
    let obj = {};

    let now = Math.floor(Date.now()/1000);
    let timeToExpire = (token['exp'] - now);

    if (timeToExpire < (60 * 60)) { //1h
        for (let key in token) {
            if (optionKeys.indexOf(key) === -1) {
                obj[key] = token[key];
            }
        }

        let options = {
            expiresIn: '7 days',
            issuer: 'moi',
            subject: token.sub,
            algorithm: 'HS256'
        };

        newToken = JWT.sign(obj, Config.get('/jwtSecret'), options);
    }
    else {
        newToken = '';  //no need to refresh, do what you want here.
    }

    return newToken;
}

I don't refresh the token if it still has enough time to live.  This may or may not be necessary, but saving a bit of calculation when not necessary.
Written in TypeScript, but the logic is the same.  Should be generic enough to be used in many different circumstances.

@jppellerin nice! would be nice to have that in the jwt api with a pull request <3

There's an idea... started working on it...

https://github.com/jppellerin/node-jsonwebtoken/tree/refresh-token
Refresh will work for a token that is decoded without the {complete: true} flag.  Going to get that done eventually.  Also only synchronous for the time being.

@jppellerin, Hi, any news on the PR?

@Kiura Nothing yet.  It's under pull request #172 waiting for review.  You could comment on the pull request to help with getting it through in a timely manner.

@jppellerin, thx for quick reply )

And how about refresh token that never expires? Any idea how to implement and how it differs security wise?
Basically what I am trying to understand is whether to use refresh token that never expires, or use token and refresh the token every n minutes, and how it they should be refreshed?
here stackoverflow @jfromaniello says that it depends on the type of application what if I have to support web/mobile/native application?

A token that never expires doesn't need to be refreshed.  From the docs :

If any expiresIn, notBeforeMinutes, audience, subject, issuer are not provided, there is no default. The jwt generated won't include those properties in the payload.

This means that if no expiresIn option is provided, your token will not expire.
As to the strategy that you use - that's a bit up to the design of your application.  For example, we are building a web app and we don't want the token to live forever, nor do we want the user to be logged out mid-action when the token reaches it's expiry.  Therefore, we refresh the token when the user is active.  This means that our web app needs to be constantly updating the token on the front-end to ensure that they're always using the updated/refreshed version.
I've never done mobile, but assuming a similar strategy can be used.
Hope that helps.

Thx again for your help, spent two days trying to figure out the best way. now I got something to start from.

@Kiura My pleasure.  Good luck!

Is there a reason that the PR hasn't been merged yet?

+1

+1

+1

+1  It's seem's like no one has get the best practise?

+1

@mitchellporter @alianrock It seems that the maintainers of the library haven't yet decided if they want this as part of their API (it seems to me that they don't).
Therefore it is pretty much left to the developer to implement it's own flavour of this.  We have been using the code form pull request #172 for over a year in production.

Fixed by documentation: #371

@jppellerin Hi, if I understand correctly, is this PR applicable only to tokens that have not yet expired?


Add WebSocket server

🚀 Feature Request
would be good to have optional websocket server in the semux-core. Blocks and maybe transactions for the list of watched addresses.
Motivation
consumer apps and exchanges need to receive realtime notifications on new blocks and transactions

Doesn't web3j support this?


Add correlation IDs to be able to trace "business transactions" across the micro services

Add correlations IDs to all the calls between the micro services so we can trace user interaction across micro services.
Then we will be able to use the ELK tile to display nice dashboards with relevant information

The correlation branch is being used to do this work.

this is now in the development branch but waiting for Spring Cloud Brixton.M2 to merge into main


Downloading multiple files based on LIST

Hi,
I'm creating a flow where I need to download one or more files based on the information returned by LIST. For this I've added a split node and planned to use GET to download the individual files. For some reason it downloads only the first file from the list. When I debug msg.filename before the GET node the paths of the various files are shown as expected. Adding a debug node after the GET it shows the name of the first file for each file in the list.
What would be the best approach to download multiple files?
Hope you can assist,
Erik

Hi Erik,
currently the client doesn't have an internal buffer, so if more files are requested from it in a very short period of time the function is recreated with the first message because the file download has not yet been completed.
Here, I created a small buffer that waits for a file to download before sending a new one. You can add as many to the queue as you want. Also add all protections to avoid unexpected loops or false downloads.
If you plan to download large files, increase the Watchdog node time to prevent the queue from resuming.
I hope I have been helpful,
Andrea Verardi
CODE:
[{"id":"ca3a1161.b5a26","type":"inject","z":"be397ec1.70dd","name":"Request","topic":"Request","payload":"{\"filename\":\"Test.txt\",\"localFilename\":\"localText.txt\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":228.5,"y":246,"wires":[["ad277ad4.3479d8"]]},{"id":"2322bbc5.55c6c4","type":"function","z":"be397ec1.70dd","name":"FTP Buffer","func":"var contextName = \"file_buffer\";                                                //Context Buffer Name\nvar fb = context.get(contextName) || [];                                        //Get the context files names array, if it doesn't exist, create it.\n\nif(msg.topic === \"Flush\"){                                                      //Flush Requested, recreate the buffer\n    fb = [];\n    context.set(contextName, fb);\n    return null;\n}\n\nif(!msg.hasOwnProperty(\"filename\") || !msg.hasOwnProperty(\"localFilename\")){    //Check if msg contains the ftp properties.  \n    node.warn(\"msg does not contain filename or localFilename property\");\n    return null;    \n}\n\nvar ftpMessage = {                                                              //Create the ftp msg object\n    filename : msg.filename,\n    localFilename : msg.localFilename,\n}\n\nif(msg.topic === \"Request\"){                                                    //Request Command, add the new request to the buffer\n    \n    let firstRequest = fb.length > 0 ? false : true;                            //If the buffer is empty, send the first element of the array\n    fb.push(ftpMessage);\n    \n    if(firstRequest){\n        ftpMessage = fb[0];\n        node.send(ftpMessage);\n    }\n}\n\nif(msg.topic === \"Completed\" && fb.length > 0){                                 //Completed Command, a file download is complete\n\n    let index = -1;\n    \n    for(let file in fb){\n\n        if(fb[file].filename == ftpMessage.filename && \n           fb[file].localFilename == ftpMessage.localFilename){\n               \n            index = file;\n            break;\n        }\n    }\n    \n    if (index > -1) {                                                           //If the index is found, remove the request from the buffer\n        fb.splice(index, 1);\n    }\n    \n    if(fb.length > 0){                                                          //Send the fist element of the array\n        ftpMessage = fb[0];\n        node.send(ftpMessage);\n    }\n}\n\ncontext.set(contextName, fb);                                                   //Update the buffer\n\n","outputs":1,"noerr":0,"x":634,"y":246,"wires":[["101be173.a0321f","802aac54.e48d9","17fdd538.b72f2b"]]},{"id":"ad277ad4.3479d8","type":"function","z":"be397ec1.70dd","name":"Dummy Request","func":"var ftpMessage = {\n    topic : msg.topic,\n    filename : msg.payload.filename,\n    localFilename : msg.payload.localFilename,\n}\n\nreturn ftpMessage;","outputs":1,"noerr":0,"x":417,"y":246,"wires":[["2322bbc5.55c6c4"]]},{"id":"8c84c47c.a92c38","type":"inject","z":"be397ec1.70dd","name":"Manual Flush","topic":"Flush","payload":"a","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":237,"y":295,"wires":[["2322bbc5.55c6c4"]]},{"id":"101be173.a0321f","type":"delay","z":"be397ec1.70dd","name":"Fake GET Node","pauseType":"delay","timeout":"4","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":837,"y":247,"wires":[["7bfa3a61.e19ce4"]]},{"id":"7bfa3a61.e19ce4","type":"change","z":"be397ec1.70dd","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Completed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1055,"y":246,"wires":[["4bacc921.bdb528","c3ed89ed.a75388"]]},{"id":"4bacc921.bdb528","type":"debug","z":"be397ec1.70dd","name":"Download Completed","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1266.5,"y":205,"wires":[]},{"id":"c3ed89ed.a75388","type":"link out","z":"be397ec1.70dd","name":"","links":["ceb7cbdd.3b5618"],"x":1181,"y":245,"wires":[]},{"id":"ceb7cbdd.3b5618","type":"link in","z":"be397ec1.70dd","name":"","links":["c3ed89ed.a75388","7d2196e1.5d0f98"],"x":546,"y":176,"wires":[["2322bbc5.55c6c4"]]},{"id":"802aac54.e48d9","type":"debug","z":"be397ec1.70dd","name":"To GET node","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":827,"y":197,"wires":[]},{"id":"17fdd538.b72f2b","type":"trigger","z":"be397ec1.70dd","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"5","extend":true,"units":"s","reset":"","bytopic":"all","name":"Watchdog","x":625,"y":297,"wires":[["a7df59c7.b1ffb8"]]},{"id":"a7df59c7.b1ffb8","type":"change","z":"be397ec1.70dd","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Flush","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":635,"y":345,"wires":[["7d2196e1.5d0f98","4721f7cb.0a2fe8"]]},{"id":"7d2196e1.5d0f98","type":"link out","z":"be397ec1.70dd","name":"","links":["ceb7cbdd.3b5618"],"x":747,"y":345,"wires":[]},{"id":"4721f7cb.0a2fe8","type":"debug","z":"be397ec1.70dd","name":"Flush if the Completed msg doesn't arrive","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":727,"y":387,"wires":[]}]

Excellent, got it working! Thanks for your quick reply, much appreciated.


Creator Trait

Allows refactoring in all models that extend this support package to remove common creator methods.

This was implemented in the package code and all of the packages were refactored to include this Creator trait.


HrDecoder: invalid R/M offset decoding

This is https://github.com/adimetrius/Herschel/commit/e0301dc20bbe201b0e6476709fafeb45e0d6de0b.
HrDecoder output:
0001414D	48|8D 48 10 	lea  RCX, 82273[RAX]

Correct output:
.text:000000000001414D                 lea     rcx, [rax+10h]

This feature is correctly implemented in my WorkDecX86.


Allow clippy::suspicious_else_formatting in generated valence_entity source file

Objective

Remove all of the useless clippy warnings fromvalence_entity build.rs generated file.

Solution

#[allow(clippy::suspicious_else_formatting)]

Guessing this only happens when the rustfmt invocation from the build script fails to run.


Update SPNEGO-Authentication.md

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

Thank you very much for the pull; However the snippet you have provided is incorrect because repositories do not just apply to gradle. They can be relevant for any build tool, including Maven.

I do not really know why, but maven does not need it.
I guess the http://developer.jasig.org/repo/content/groups/m2-legacy/ repository may come from http://central.maven.org/maven2/org/apereo/cas/cas-server-webapp/<IP_ADDRESS>/cas-server-webapp-<IP_ADDRESS>.pom, or something like this?
Anyway, not important!

I am not quite sure. I have had to deal with both situations!


Feature Request: Cannot merge array inputs

At the moment, we can only merge inputs from multiple parties if it is a dedicated named input. If a circuit has inputs like:
signal input in[2];
it is not possible to provide the array from different parties

[ ] Implementation
[ ] Docs example

Use "?" as placeholder for other parties.

@fabian1409 is this done?

will implement this next week


Supporting retina (@2x, @3x) images

I'd be cool to have a retina support option in export dialog so that each layer would also be exported with @2x and @3x postfix with 200% and 300% of the original size, respectively.

Same as #22


upgrade to support dbt-core v1.7.0

Background
Minor version v1.7 is targeted for final release on Ocotber 26, 2023. As a maintainer of a dbt adapter, we strongly encourage you to release a corresponding minor version increment to ensure users of your adapter can make use of this new minor version.
How to upgrade
https://github.com/dbt-labs/dbt-core/discussions/8307 is an open discussion with more detailed information. If you have questions, please put them there!
### Tasks

@dataders  can DBT maintain support of ClickHouse by default as for Redshift of Postgres ?

Basic support is now available in 1.7.0.  Additional tests and potential support for date_spine macro have not yet been implemented.  Materialized view refactor and catalog changes are not relevant to the ClickHouse adapter.


MountVolume.MountDevice failed for volume The file /dev/disk/by-id/wwn-[hex] does not exist and no size was specified

Bug Report
I'm trying to volume_mount on a pod, and it's giving this error:
  Warning  FailedMount             1s (x7 over 33s)  kubelet                  MountVolume.MountDevice failed for volume "pvc-c0f894e9-576b-404d-a270-86d20767d37d" : rpc error: code = Internal desc = format of disk "/dev/disk/by-id/wwn-0x5056432d49443033" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/c58612b0a78f02c0fca6aa37f64ad7c7a45d6155add0c6dff22a898d428fc0a9/globalmount") options:("noatime,defaults") errcode:(exit status 1) output:(mke2fs 1.46.2 (28-Feb-2021)
The file /dev/disk/by-id/wwn-0x5056432d49443033 does not exist and no size was specified.

Description
What's strange is that on proxmox the wwn is one:
scsi3: local-zfs:vm-9999-pvc-c0f894e9-576b-404d-a270-86d20767d37d,backup=0,iothread=1,size=1G,wwn=0x5056432d49443033
But if I use talosctl to list /dev, wwn doesn't match. This volume disk is mounting on the vm as sde, I saw that because before starting the pod sde wasn't there:
❯ talosctl -n [REDACTED] list -l /dev | grep sd
[REDACTED]   Drw-------    0     0     0         Oct 24 01:59:54   sda
[REDACTED]   Drw-------    0     0     0         Oct 24 02:08:42   sdb
[REDACTED]   Drw-------    0     0     0         Oct 24 02:00:07   sdc
[REDACTED]   Drw-------    0     0     0         Oct 25 00:19:28   sde

❯ talosctl -n [REDACTED] list -l /dev/disk/by-id | grep sd
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 24 02:00:07   scsi-33000000024585f0a -> ../../sdc
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 25 00:19:28   scsi-330000000c5fb5a6d -> ../../sde <- not matching id
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 24 01:59:54   scsi-35056432d49443031 -> ../../sda
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 24 02:08:42   scsi-35056432d49443032 -> ../../sdb
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 24 02:00:07   wwn-0x3000000024585f0a -> ../../sdc
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 25 00:19:28   wwn-0x30000000c5fb5a6d -> ../../sde <- not matching id
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 24 01:59:54   wwn-0x5056432d49443031 -> ../../sda
[REDACTED]   Lrwxrwxrwx   0     0     9         Oct 24 02:08:42   wwn-0x5056432d49443032 -> ../../sdb

As you can see, wwn doesn't match for some reason, should end with 3033.
Logs
Environment

Plugin version: ghcr.io/sergelogvinov/proxmox-csi-controller:v0.3.0
Kubernetes version:

Client Version: v1.28.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.3

Proxmox version: 8.0.4

If I reboot talos VM, it works fine again.

I saw you released 0.4.0, I just upgraded. I started getting lots of this on my console:
[REDACTED]: daemon:     err: [2023-10-24T23:11:49.504815104Z]: udevd[41877]: timeout 'scsi_id --export --whitelisted -d /dev/sde'
[REDACTED]: daemon: warning: [2023-10-24T23:11:49.508018104Z]: udevd[41877]: slow: 'scsi_id --export --whitelisted -d /dev/sde' [41880]
[REDACTED]: daemon:     err: [2023-10-24T23:11:50.512340104Z]: udevd[41877]: timeout: killing 'scsi_id --export --whitelisted -d /dev/sde' [41880]
[REDACTED]: daemon: warning: [2023-10-24T23:11:50.516132104Z]: udevd[41877]: slow: 'scsi_id --export --whitelisted -d /dev/sde' [41880]
[REDACTED]: daemon:     err: [2023-10-24T23:11:51.520329104Z]: udevd[41877]: timeout: killing 'scsi_id --export --whitelisted -d /dev/sde' [41880]
[REDACTED]: daemon: warning: [2023-10-24T23:11:51.524067104Z]: udevd[41877]: slow: 'scsi_id --export --whitelisted -d /dev/sde' [41880]

Hello, i think you have performance issue with zfs pool. It requires a lot fo free memory depend on zpool size. (2GB or more free mem)
udevd[41877]: timeout 'scsi_id --export --whitelisted -d /dev/sde'

this record telling you that you have IO issue with disk. It cannot receive block disk information. udevd system service, it runs when block device appears in the system.
CSI plugin cannot find the disk, because in does not exist on the system yet. Probably the system so slow, that cannot appears in proper time.
So, zpool requires a lot of optimization and CPU/RAM resources. If you server so small - use LVM.

It's an intel avoton 8-core 2.4Ghz with 16GB RAM, I allocated 14GB and 6 cores to my talos instance (it's sole tenant for this hardware). It's not that slow, the I/O can be slow due to spinning disk.
In any case, I used cstor on this before and ran fine. I wanted to simplify and reduce the storage resources on my cluster by migrating to this CSI, which is a great idea.
Having said that, I agree it's not the best hardware, but the CSI should still behave even if it's slow, shouldn't just hang or throw an irrecoverable error which a restart fix it. The "proper time" is whatever the software wait for, it should wait for something and not assume that it's there if it's still not. A state machine or something in these lines could make it nicer with slower hardware.

I am using this project for my homelab which is a 22 core Xeon E5-2699V4 build with 512GB of DDR-4-2400 ECC SDRAM and two ZFS Pools. One is a 6x6TB 7200RPM HDD pool presented as 16TB RAID 10 and the other is a 2x1TB Samsung 970 pro NVMe SSD pool presented as 1TB RAID1.
Happy to run any benchmarks or answer any feasibility questions about ZFS that anyone has. I do think I have pretty production-grade hardware despite shoving it all in a small Node 804 chassis :)
Since I got this CSI plugin running, I'm so far using it with 7 separate ZVols without any problems. It's awesome!

Very nice setup. Unfortunately I don't have the money for all that.
Another odd thing that happened while I'm trying to manage it: I got my plex mounting the disk belonging to nextcloud. Have no idea how that happened, but it happed.
root@plex-plex-media-server-0:~# ls -lha
total 2.0M
drwxr-xr-x 15 plex users 4.0K Oct 26 03:04 .
drwxr-xr-x  1 root root   115 Oct 26 16:49 ..
-rw-r--r--  1 plex users 3.2K Oct 26 03:04 .htaccess
-rw-r--r--  1 plex users  101 Oct 26 03:04 .user.ini
drwxr-xr-x 45 plex users 4.0K Oct 26 03:04 3rdparty
-rw-r--r--  1 plex users  24K Oct 26 03:04 AUTHORS
-rw-r--r--  1 plex users  34K Oct 26 03:04 COPYING
drwxrwxrwx  3 plex users 4.0K Sep 21 00:57 Library
drwxr-xr-x 51 plex users 4.0K Oct 26 03:04 apps
-rw-r--r--  1 plex users 1.3K Oct 26 03:04 composer.json
-rw-r--r--  1 plex users 3.1K Oct 26 03:04 composer.lock
drwxr-xr-x  2 plex users 4.0K Oct 26 04:04 config
-rw-r--r--  1 plex users 4.0K Oct 26 03:04 console.php
drwxr-xr-x 24 plex users 4.0K Oct 26 03:04 core
-rw-r--r--  1 plex users 6.2K Oct 26 03:04 cron.php
drwxr-xr-x  2 plex users 4.0K Oct 26 03:04 custom_apps
drwxr-xr-x  2 plex users 4.0K Oct 26 03:03 data
drwxr-xr-x  2 plex users  12K Oct 26 03:04 dist
-rw-r--r--  1 plex users  156 Oct 26 03:04 index.html
-rw-r--r--  1 plex users 3.4K Oct 26 03:04 index.php
drwxr-xr-x  6 plex users 4.0K Oct 26 03:04 lib
-rw-r--r--  1 plex users    0 Oct 26 03:58 nextcloud-init-sync.lock
-rwxr-xr-x  1 plex users  283 Oct 26 03:04 occ
drwxr-xr-x  2 plex users 4.0K Oct 26 03:04 ocs
drwxr-xr-x  2 plex users 4.0K Oct 26 03:04 ocs-provider
-rw-r--r--  1 plex users 1.8M Oct 26 03:04 package-lock.json
-rw-r--r--  1 plex users 6.2K Oct 26 03:04 package.json
-rw-r--r--  1 plex users 3.2K Oct 26 03:04 public.php
-rw-r--r--  1 plex users 5.5K Oct 26 03:04 remote.php
drwxr-xr-x  4 plex users 4.0K Oct 26 03:04 resources
-rw-r--r--  1 plex users   26 Oct 26 03:04 robots.txt
-rw-r--r--  1 plex users 2.4K Oct 26 03:04 status.php
drwxr-xr-x  3 plex users 4.0K Oct 26 03:04 themes
-rw-r--r--  1 plex users  403 Oct 26 03:04 version.php

I have the same issue.
I1108 15:32:58.323001 1 controller.go:210] Started VA processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:32:58.323023 1 csi_handler.go:224] CSIHandler: processing VA "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:32:58.323030 1 csi_handler.go:251] Attaching "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:32:58.323035 1 csi_handler.go:421] Starting attach operation for "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:32:58.323062 1 csi_handler.go:341] Adding finalizer to PV "pvc-818277ad-43c3-4885-a00d-98e48438d1c1"
I1108 15:32:58.329107 1 csi_handler.go:350] PV finalizer added to "pvc-818277ad-43c3-4885-a00d-98e48438d1c1"
I1108 15:32:58.329129 1 csi_handler.go:740] Found NodeID worker1 in CSINode worker1
I1108 15:32:58.329143 1 csi_handler.go:312] VA finalizer added to "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:32:58.329161 1 csi_handler.go:326] NodeID annotation added to "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:32:58.333913 1 connection.go:193] GRPC call: /csi.v1.Controller/ControllerPublishVolume
I1108 15:32:58.333928 1 connection.go:194] GRPC request: {"node_id":"worker1","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":7}},"volume_context":{"ssd":"true","storage":"local-lvm","storage.kubernetes.io/csiProvisionerIdentity":"1699457083238-1451-csi.proxmox.sinextra.dev"},"volume_id":"pve-cluster/pve/local-lvm/vm-9999-pvc-818277ad-43c3-4885-a00d-98e48438d1c1"}
I1108 15:33:00.845327 1 connection.go:200] GRPC response: {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443031","lun":"1"}}
I1108 15:33:00.845345 1 connection.go:201] GRPC error:
I1108 15:33:00.845353 1 csi_handler.go:264] Attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.845359 1 util.go:38] Marking as attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.852475 1 util.go:52] Marked as attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.852489 1 csi_handler.go:270] Fully attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.852495 1 csi_handler.go:240] CSIHandler: finished processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.852511 1 controller.go:210] Started VA processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.852515 1 csi_handler.go:224] CSIHandler: processing VA "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
I1108 15:33:00.852520 1 csi_handler.go:246] "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" is already attached
I1108 15:33:00.852525 1 csi_handler.go:240] CSIHandler: finished processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
AttachVolume.Attach succeeded for volume "pvc-818277ad-43c3-4885-a00d-98e48438d1c1"
MountVolume.MountDevice failed for volume "pvc-818277ad-43c3-4885-a00d-98e48438d1c1" : rpc error: code = Internal desc = format of disk "/dev/disk/by-id/wwn-0x5056432d49443031" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/c9835a11dc5c332d0f8faf1c92571b17dd00f5612b2ee81c36d5852f6b88f8d4/globalmount") options:("noatime,defaults") errcode:(exit status 1) output:(mke2fs 1.47.0 (5-Feb-2023) The file /dev/disk/by-id/wwn-0x5056432d49443031 does not exist and no size was specified. )
[root@worker1 by-id]# ls -l /var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/
total 0
[root@worker1 by-id]# ls -l /dev/disk/by-id/wwn-0x5056432d49443031
ls: cannot access '/dev/disk/by-id/wwn-0x5056432d49443031': No such file or directory
Any reason why the directory would be empty on my node ?

Unfortunately I stopped using this CSI. I moved to openebs zfs-localpv. It's working flawlessly now, and the only downside is that you need to over provision a disk to be used by your k8s cluster. The plus side is that this CSI creates disks with different IDs than the VM (9999) and it's not replicated if you have replication configured. With a normal attached disk it's.

Yep,  zfs-localpv is good project, I used to use it. ZFS uses node memory instead proxmox host memory, add more reserve memory in kubelet config.
--system-reserved

I have the same issue.
I1108 15:32:58.323001 1 controller.go:210] Started VA processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:32:58.323023 1 csi_handler.go:224] CSIHandler: processing VA "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:32:58.323030 1 csi_handler.go:251] Attaching "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:32:58.323035 1 csi_handler.go:421] Starting attach operation for "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:32:58.323062 1 csi_handler.go:341] Adding finalizer to PV "pvc-818277ad-43c3-4885-a00d-98e48438d1c1" I1108 15:32:58.329107 1 csi_handler.go:350] PV finalizer added to "pvc-818277ad-43c3-4885-a00d-98e48438d1c1" I1108 15:32:58.329129 1 csi_handler.go:740] Found NodeID worker1 in CSINode worker1 I1108 15:32:58.329143 1 csi_handler.go:312] VA finalizer added to "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:32:58.329161 1 csi_handler.go:326] NodeID annotation added to "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:32:58.333913 1 connection.go:193] GRPC call: /csi.v1.Controller/ControllerPublishVolume I1108 15:32:58.333928 1 connection.go:194] GRPC request: {"node_id":"worker1","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":7}},"volume_context":{"ssd":"true","storage":"local-lvm","storage.kubernetes.io/csiProvisionerIdentity":"1699457083238-1451-csi.proxmox.sinextra.dev"},"volume_id":"pve-cluster/pve/local-lvm/vm-9999-pvc-818277ad-43c3-4885-a00d-98e48438d1c1"} I1108 15:33:00.845327 1 connection.go:200] GRPC response: {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443031","lun":"1"}} I1108 15:33:00.845345 1 connection.go:201] GRPC error: I1108 15:33:00.845353 1 csi_handler.go:264] Attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.845359 1 util.go:38] Marking as attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.852475 1 util.go:52] Marked as attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.852489 1 csi_handler.go:270] Fully attached "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.852495 1 csi_handler.go:240] CSIHandler: finished processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.852511 1 controller.go:210] Started VA processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.852515 1 csi_handler.go:224] CSIHandler: processing VA "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" I1108 15:33:00.852520 1 csi_handler.go:246] "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5" is already attached I1108 15:33:00.852525 1 csi_handler.go:240] CSIHandler: finished processing "csi-3ab0047d2d457e8bf2009bc91fc88d63ae4137bc75b4456f2fbb4b5592220de5"
AttachVolume.Attach succeeded for volume "pvc-818277ad-43c3-4885-a00d-98e48438d1c1"
MountVolume.MountDevice failed for volume "pvc-818277ad-43c3-4885-a00d-98e48438d1c1" : rpc error: code = Internal desc = format of disk "/dev/disk/by-id/wwn-0x5056432d49443031" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/c9835a11dc5c332d0f8faf1c92571b17dd00f5612b2ee81c36d5852f6b88f8d4/globalmount") options:("noatime,defaults") errcode:(exit status 1) output:(mke2fs 1.47.0 (5-Feb-2023) The file /dev/disk/by-id/wwn-0x5056432d49443031 does not exist and no size was specified. )
[root@worker1 by-id]# ls -l /var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/ total 0
[root@worker1 by-id]# ls -l /dev/disk/by-id/wwn-0x5056432d49443031 ls: cannot access '/dev/disk/by-id/wwn-0x5056432d49443031': No such file or directory
Any reason why the directory would be empty on my node ?

Can you check

kubernetes node dmesg logs
udev logs - /dev/disk/by-id/wwn-0x5056432d49443031  is a link to the real device, udev creates it.
proxmox vm config

I'm getting the same problem as well.
Here are the logs from the "proxmox-csi-plugin-node" pod
I0305 22:25:36.453373       1 node.go:510] NodeGetCapabilities: called with args {} I0305 22:25:36.462955       1 node.go:510] NodeGetCapabilities: called with args {} I0305 22:25:36.464799       1 node.go:510] NodeGetCapabilities: called with args {} I0305 22:25:36.467061       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/e562097457e98f8f0adab818185529bbd3cc6727b17d34162300db9bfadf6247/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1709676136514-6639-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-fe8bc67c-296a-404b-9ee4-527db00a5a87"} I0305 22:25:36.467178       1 mount_linux.go:577] Attempting to determine if disk "/dev/disk/by-id/wwn-0x5056432d49443032" is formatted using blkid with args: ([-p -s TYPE -s PTTYPE -o export /dev/disk/by-id/wwn-0x5056432d49443032]) I0305 22:25:36.470260       1 mount_linux.go:580] Output: "" I0305 22:25:36.470314       1 mount_linux.go:515] Disk "/dev/disk/by-id/wwn-0x5056432d49443032" appears to be unformatted, attempting to format as type: "ext4" with options: [-F -m0 /dev/disk/by-id/wwn-0x5056432d49443032] E0305 22:25:36.475762       1 mount_linux.go:522] format of disk "/dev/disk/by-id/wwn-0x5056432d49443032" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/e562097457e98f8f0adab818185529bbd3cc6727b17d34162300db9bfadf6247/globalmount") options:("defaults") errcode:(exit status 1) output:(mke2fs 1.47.0 (5-Feb-2023) The file /dev/disk/by-id/wwn-0x5056432d49443032 does not exist and no size was specified. )  E0305 22:25:36.475825       1 node.go:204] NodeStageVolume: failed to mount device /dev/disk/by-id/wwn-0x5056432d49443032 at /var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/e562097457e98f8f0adab818185529bbd3cc6727b17d34162300db9bfadf6247/globalmount (fstype: ext4), error: format of disk "/dev/disk/by-id/wwn-0x5056432d49443032" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/e562097457e98f8f0adab818185529bbd3cc6727b17d34162300db9bfadf6247/globalmount") options:("defaults") errcode:(exit status 1) output:(mke2fs 1.47.0 (5-Feb-2023) The file /dev/disk/by-id/wwn-0x5056432d49443032 does not exist and no size was specified. )  E0305 22:25:36.475902       1 main.go:122] GRPC error: rpc error: code = Internal desc = format of disk "/dev/disk/by-id/wwn-0x5056432d49443032" failed: type:("ext4") target:("/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/e562097457e98f8f0adab818185529bbd3cc6727b17d34162300db9bfadf6247/globalmount") options:("defaults") errcode:(exit status 1) output:(mke2fs 1.47.0 (5-Feb-2023) The file /dev/disk/by-id/wwn-0x5056432d49443032 does not exist and no size was specified.

Yep, based on this logs - it definitely did not find the block device.
Can you check the dmesg logs and block device manualy like ls -laR /dev/disk/ on the host machine.
And what the OS do you use?

`$ ls -laR /dev/disk
/dev/disk:
total 0
drwxr-xr-x  7 root root  140 Feb 29 18:03 .
drwxr-xr-x 19 root root 3440 Mar  4 11:54 ..
drwxr-xr-x  2 root root  260 Feb 29 18:34 by-diskseq
drwxr-xr-x  2 root root  260 Mar  1 10:57 by-id
drwxr-xr-x  2 root root  100 Feb 29 18:03 by-partuuid
drwxr-xr-x  2 root root  180 Feb 29 18:34 by-path
drwxr-xr-x  2 root root  120 Mar  1 10:57 by-uuid
/dev/disk/by-diskseq:
total 0
drwxr-xr-x 2 root root 260 Feb 29 18:34 .
drwxr-xr-x 7 root root 140 Feb 29 18:03 ..
lrwxrwxrwx 1 root root   9 Feb 29 18:03 10 -> ../../sda
lrwxrwxrwx 1 root root   9 Feb 29 18:34 11 -> ../../sdb
lrwxrwxrwx 1 root root   9 Feb 29 18:03 12 -> ../../sr0
lrwxrwxrwx 1 root root  11 Feb 29 18:03 15 -> ../../loop0
lrwxrwxrwx 1 root root  11 Feb 29 18:03 16 -> ../../loop1
lrwxrwxrwx 1 root root  11 Feb 29 18:03 17 -> ../../loop2
lrwxrwxrwx 1 root root  11 Feb 29 18:03 18 -> ../../loop3
lrwxrwxrwx 1 root root  11 Feb 29 18:03 19 -> ../../loop4
lrwxrwxrwx 1 root root  11 Feb 29 18:03 20 -> ../../loop5
lrwxrwxrwx 1 root root  11 Feb 29 18:03 21 -> ../../loop6
lrwxrwxrwx 1 root root  11 Feb 29 18:03 22 -> ../../loop7
/dev/disk/by-id:
total 0
drwxr-xr-x 2 root root 260 Mar  1 10:57 .
drwxr-xr-x 7 root root 140 Feb 29 18:03 ..
lrwxrwxrwx 1 root root   9 Feb 29 18:03 ata-QEMU_DVD-ROM_QM00003 -> ../../sr0
lrwxrwxrwx 1 root root  10 Feb 29 18:03 dm-name-debian--vm--template--vg-root -> ../../dm-0
lrwxrwxrwx 1 root root  10 Mar  1 10:57 dm-name-debian--vm--template--vg-swap_1 -> ../../dm-1
lrwxrwxrwx 1 root root  10 Mar  1 10:57 dm-uuid-LVM-QVfmUMRpVqVcoAhXX0QqqJZ1N6aPKg6qlX1Po5uxXBlREyGRJ2oTKzjQklJFwJtd -> ../../dm-1
lrwxrwxrwx 1 root root  10 Feb 29 18:03 dm-uuid-LVM-QVfmUMRpVqVcoAhXX0QqqJZ1N6aPKg6qwjOf7vAkEqnT7fdHIOW9ObKVIk7tnqeD -> ../../dm-0
lrwxrwxrwx 1 root root  10 Feb 29 18:03 lvm-pv-uuid-yP9xeQ-ahRk-iVUl-WW7z-wClO-hPxe-NEnaLf -> ../../sda5
lrwxrwxrwx 1 root root   9 Feb 29 18:03 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0 -> ../../sda
lrwxrwxrwx 1 root root  10 Feb 29 18:03 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 Feb 29 18:03 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part2 -> ../../sda2
lrwxrwxrwx 1 root root  10 Feb 29 18:03 scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-part5 -> ../../sda5
lrwxrwxrwx 1 root root   9 Feb 29 18:34 scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 -> ../../sdb
/dev/disk/by-partuuid:
total 0
drwxr-xr-x 2 root root 100 Feb 29 18:03 .
drwxr-xr-x 7 root root 140 Feb 29 18:03 ..
lrwxrwxrwx 1 root root  10 Feb 29 18:03 bd7fc6d3-01 -> ../../sda1
lrwxrwxrwx 1 root root  10 Feb 29 18:03 bd7fc6d3-02 -> ../../sda2
lrwxrwxrwx 1 root root  10 Feb 29 18:03 bd7fc6d3-05 -> ../../sda5
/dev/disk/by-path:
total 0
drwxr-xr-x 2 root root 180 Feb 29 18:34 .
drwxr-xr-x 7 root root 140 Feb 29 18:03 ..
lrwxrwxrwx 1 root root   9 Feb 29 18:03 pci-0000:00:01.1-ata-2 -> ../../sr0
lrwxrwxrwx 1 root root   9 Feb 29 18:03 pci-0000:00:01.1-ata-2.0 -> ../../sr0
lrwxrwxrwx 1 root root   9 Feb 29 18:03 pci-0000:00:05.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx 1 root root  10 Feb 29 18:03 pci-0000:00:05.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 Feb 29 18:03 pci-0000:00:05.0-scsi-0:0:0:0-part2 -> ../../sda2
lrwxrwxrwx 1 root root  10 Feb 29 18:03 pci-0000:00:05.0-scsi-0:0:0:0-part5 -> ../../sda5
lrwxrwxrwx 1 root root   9 Feb 29 18:34 pci-0000:00:05.0-scsi-0:0:1:0 -> ../../sdb
/dev/disk/by-uuid:
total 0
drwxr-xr-x 2 root root 120 Mar  1 10:57 .
drwxr-xr-x 7 root root 140 Feb 29 18:03 ..
lrwxrwxrwx 1 root root   9 Feb 29 18:34 3a5a98d7-1087-469c-af22-83886f3a0474 -> ../../sdb
lrwxrwxrwx 1 root root  10 Feb 29 18:03 6daf9271-24dc-4ee4-a2e9-8a90dbd1d614 -> ../../sda1
lrwxrwxrwx 1 root root  10 Mar  1 10:57 8812a609-2661-4eb0-b58c-66b9dab7cd01 -> ../../dm-1
lrwxrwxrwx 1 root root  10 Feb 29 18:03 c21bd2fc-4fd8-4057-b194-4836215dafcf -> ../../dm-0
`
I'm using Debian 12

These are some of the dmesg logs
[   10.854299] systemd[1]: Detected virtualization kvm. [   10.854308] systemd[1]: Detected architecture x86-64. [   10.922523] systemd[1]: Hostname set to <worker-node-1>. [   12.378386] systemd[1]: Queued start job for default target graphical.target. [   12.404137] systemd[1]: Created slice system-getty.slice - Slice /system/getty. [   12.405007] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe. [   12.405823] systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck. [   12.406478] systemd[1]: Created slice user.slice - User and Session Slice. [   12.406653] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch. [   12.407093] systemd[1]: Set up automount proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point. [   12.407154] systemd[1]: Expecting device dev-disk-by\x2duuid-6daf9271\x2d24dc\x2d4ee4\x2da2e9\x2d8a90dbd1d614.device - /dev/disk/by-uuid/6daf9271-24dc-4ee4-a2e9-8a90dbd1d614... [   12.407173] systemd[1]: Expecting device dev-mapper-debian\x2d\x2dvm\x2d\x2dtemplate\x2d\x2dvg\x2dswap_1.device - /dev/mapper/debian--vm--template--vg-swap_1... [   12.407230] systemd[1]: Reached target integritysetup.target - Local Integrity Protected Volumes. [   12.407292] systemd[1]: Reached target nss-user-lookup.target - User and Group Name Lookups. [   12.407323] systemd[1]: Reached target remote-fs.target - Remote File Systems. [   12.407349] systemd[1]: Reached target slices.target - Slice Units. [   12.407413] systemd[1]: Reached target veritysetup.target - Local Verity Protected Volumes. [   12.407610] systemd[1]: Listening on dm-event.socket - Device-mapper event daemon FIFOs. [   12.407943] systemd[1]: Listening on lvm2-lvmpolld.socket - LVM2 poll daemon socket. [   12.408175] systemd[1]: Listening on systemd-fsckd.socket - fsck to fsckd communication Socket. [   12.408314] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe. [   12.409309] systemd[1]: Listening on systemd-journald-audit.socket - Journal Audit Socket. [   12.409627] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log). [   12.409924] systemd[1]: Listening on systemd-journald.socket - Journal Socket. [   12.422477] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket. [   12.422765] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket. [   12.424858] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System... [   12.427297] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System... [   12.429802] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System... [   12.433069] systemd[1]: Mounting sys-kernel-tracing.mount - Kernel Trace File System... [   12.433581] systemd[1]: Finished blk-availability.service - Availability of block devices. [   12.437050] systemd[1]: Starting keyboard-setup.service - Set the console keyboard layout... [   12.439979] systemd[1]: Starting kmod-static-nodes.service - Create List of Static Device Nodes... [   12.443005] systemd[1]: Starting lvm2-monitor.service - Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling... [   12.445762] systemd[1]: Starting<EMAIL_ADDRESS>- Load Kernel Module configfs... [   12.448312] systemd[1]: Starting<EMAIL_ADDRESS>- Load Kernel Module dm_mod... [   12.450983] systemd[1]: Starting<EMAIL_ADDRESS>- Load Kernel Module drm... [   12.453814] systemd[1]: Starting<EMAIL_ADDRESS>- Load Kernel Module efi_pstore... [   12.456206] systemd[1]: Starting<EMAIL_ADDRESS>- Load Kernel Module fuse... [   12.459098] systemd[1]: Starting<EMAIL_ADDRESS>- Load Kernel Module loop... [   12.459391] systemd[1]: systemd-fsck-root.service - File System Check on Root Device was skipped because of an unmet condition check (ConditionPathExists=!/run/initramfs/fsck-root). [   12.463426] systemd[1]: Starting systemd-journald.service - Journal Service... [   12.467440] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules... [   12.470133] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems... [   12.472795] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices... [   12.623066] systemd[1]<EMAIL_ADDRESS>Deactivated successfully. [   12.623447] systemd[1]: Finished<EMAIL_ADDRESS>- Load Kernel Module dm_mod. [   12.624271] systemd[1]<EMAIL_ADDRESS>Deactivated successfully. [   12.624612] systemd[1]: Finished<EMAIL_ADDRESS>- Load Kernel Module drm. [   12.659932] loop: module loaded [   12.661257] systemd[1]<EMAIL_ADDRESS>Deactivated successfully. [   12.661617] systemd[1]: Finished<EMAIL_ADDRESS>- Load Kernel Module loop. [   12.661997] systemd[1]: systemd-repart.service - Repartition Root Disk was skipped because no trigger condition checks were met. [   12.685911] systemd[1]<EMAIL_ADDRESS>Deactivated successfully. [   12.686278] systemd[1]: Finished<EMAIL_ADDRESS>- Load Kernel Module efi_pstore. [   12.706386] systemd[1]: Finished kmod-static-nodes.service - Create List of Static Device Nodes. [   12.823481] systemd[1]<EMAIL_ADDRESS>Deactivated successfully. [   12.823863] systemd[1]: Finished<EMAIL_ADDRESS>- Load Kernel Module configfs. [   12.858349] systemd[1]: Mounting sys-kernel-config.mount - Kernel Configuration File System... [   12.858799] systemd[1]: Started systemd-journald.service - Journal Service. [   12.889701] fuse: init (API version 7.37) [   12.919651] EXT4-fs (dm-0): re-mounted. Quota mode: none. [   13.003347] lp: driver loaded but no devices found [   13.016929] ppdev: user-space parallel port driver [   13.022089] systemd-journald[300]: Received client request to flush runtime journal. [   16.282146] input: PC Speaker as /devices/platform/pcspkr/input/input6 [   16.411167] RAPL PMU: API unit is 2^-32 Joules, 0 fixed counters,<PHONE_NUMBER>0 ms ovfl timer [   16.674557] cryptd: max_cpu_qlen set to 1000

Thank you for the report.
Yep, csi demands the udev rules which creates the /dev/disk/by-id/wwn-XXXX links. (Probably they was removed in debian 12)
We have a plan to break the udev dependency.
We will do it in nearest future.
Thanks.

@Jirom-1 Try to edge version, I hope it will work now.

Thanks @sergelogvinov, how do I do this? I installed the plugin with the helm chart. Did you publish a newer version? I tried redeploying and I'm still getting the same errors.

@Jirom-1
Part of the helm values:
controller:
  plugin:
    image:
      pullPolicy: Always
      tag: edge

node:
  plugin:
    image:
      pullPolicy: Always
      tag: edge

Probably you need to delete all pods after deploy kubectl -n csi-proxmox delete po --all

I get these errors now.
`Defaulted container "proxmox-csi-plugin-node" out of: proxmox-csi-plugin-node, csi-node-driver-registrar, liveness-probe
I0315 14:41:50.094695       1 main.go:54] Driver version 0.4.0, GitVersion edge, GitCommit 41b19bd
I0315 14:41:50.094916       1 main.go:55] Driver CSI Spec version: 1.9.0
I0315 14:41:50.094935       1 main.go:83] Building kube configs for running in cluster...
I0315 14:41:50.284324       1 mount_linux.go:282] Detected umount with safe 'not mounted' behavior
I0315 14:41:50.284546       1 main.go:140] Listening for connection on address: &net.UnixAddr{Name:"/csi/csi.sock", Net:"unix"}
I0315 14:42:03.713784       1 identity.go:38] GetPluginInfo: called
I0315 14:42:03.972621       1 node.go:532] NodeGetInfo: called with args {}
I0315 14:42:12.566062       1 identity.go:38] GetPluginInfo: called
I0315 14:51:39.737034       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:51:39.746649       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:51:39.748586       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:51:39.751580       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:51:49.753861       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:51:49.753962       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:51:50.324758       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:51:50.333370       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:51:50.335298       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:51:50.337513       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:52:00.338923       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:52:00.338968       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:52:01.427134       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:01.436306       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:01.438038       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:01.440148       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:52:11.440984       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:52:11.441110       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:52:13.552609       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:13.560640       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:13.562295       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:13.564125       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:52:23.565390       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:52:23.565697       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:52:27.892389       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:27.901085       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:27.902762       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:27.904735       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:52:37.906001       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:52:37.906078       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:52:46.308251       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:46.317571       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:46.319429       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:52:46.321892       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:52:56.323728       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:52:56.323817       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:53:12.344729       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:53:12.354091       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:53:12.356277       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:53:12.358264       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:53:22.360138       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:53:22.360192       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
I0315 14:53:54.643960       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:53:54.654332       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:53:54.657120       1 node.go:512] NodeGetCapabilities: called with args {}
I0315 14:53:54.660711       1 node.go:89] NodeStageVolume: called with args {"publish_context":{"DevicePath":"/dev/disk/by-id/wwn-0x5056432d49443032","lun":"2"},"staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/csi.proxmox.sinextra.dev/30bcf9339e68058f1af9bcddcf5cd4e7dca1ba774a9024ca68a887dfc0771d16/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4"}},"access_mode":{"mode":1}},"volume_context":{"ssd":"false","storage":"Drives-6","storage.kubernetes.io/csiProvisionerIdentity":"1710514073048-4415-csi.proxmox.sinextra.dev"},"volume_id":"PALITRONICA-PVE/palitronica-6/Drives-6/vm-9999-pvc-a68b1593-72b3-4e90-ac98-bff5f57535a8"}
E0315 14:54:04.662351       1 node.go:113] NodePublishVolume: failed to get device path, error: device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
E0315 14:54:04.662410       1 main.go:122] GRPC error: rpc error: code = InvalidArgument desc = device /dev/disk/by-id/wwn-0x5056432d49443032 is not found
`

Hi, can you show me the proxmox VM config? cat /etc/pve/qemu-server/$ID.conf