dell / csm

Dell Container Storage Modules (CSM)
Apache License 2.0
67 stars 15 forks source link

[BUG]: csi-powerflex has a dependency on goscaleio #1437

Closed donatwork closed 1 month ago

donatwork commented 1 month ago

Bug Description

The go,mod has a direct dependency on goscaleio. The dependency should be investigated and removed. The PowerFlex driver should not depend on goscaleion.

Logs

https://github.com/dell/csi-powerflex/blob/2bee858990f25a4bb10516ed62ad0c2812269d34/go.mod#L19

Screenshots

No response

Additional Environment Information

No response

Steps to Reproduce

Inspect go.mod

Expected Behavior

Should not be depending on gscaleio.

CSM Driver(s)

csi-powerflex

Installation Type

No response

Container Storage Modules Enabled

No response

Container Orchestrator

n/a

Operating System

n/a

csmbot commented 1 month ago

@donatwork: Thank you for submitting this issue!

The issue is currently awaiting triage. Please make sure you have given us as much context as possible.

If the maintainers determine this is a relevant issue, they will remove the needs-triage label and respond appropriately.


We want your feedback! If you have any questions or suggestions regarding our contributing process/workflow, please reach out to us at container.storage.modules@dell.com.

adarsh-dell commented 1 month ago

Hi @donatwork , Thanks for reporting this issue. Can you please let us know little bit more about this issue as below is my understanding about direct and indirect dependency.

Direct Dependency: A direct dependency is a package that your project explicitly imports and uses in its code. When you run a go get or add an import statement for a package, it is considered a direct dependency because your code directly relies on it.

For example, if your Go code imports a package like github.com/gin-gonic/gin, this package is a direct dependency.

Indirect Dependency: An indirect dependency is a package that your project does not directly import but is required by one of your direct dependencies. These are the packages that your direct dependencies depend on.

For example, if github.com/gin-gonic/gin uses another package, say github.com/sirupsen/logrus, then github.com/sirupsen/logrus is an indirect dependency for your project.

As goscaleio (https://github.com/dell/goscaleio) is a go client to invoke the Powerflex Storage REST API for any operation and as we have imported this module (https://github.com/dell/csi-powerflex/blob/2bee858990f25a4bb10516ed62ad0c2812269d34/service/node.go#L28) this will appear as a direct dependency. As we always used to run go mod tidy so that will automatically remove any non required direct dependency if there is no direct import in our project.

Thanks

donatwork commented 1 month ago

Sorry, my mistake. Somehow COSI was on my mind although now I see it is scaleio. I'll close.