Coder Social home page Coder Social logo

jgroups-azure's People

Contributors

belaban avatar dependabot-preview[bot] avatar dependabot[bot] avatar rhusar avatar slaskawi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jgroups-azure's Issues

Feature request: Support for `DefaultAzureCredential`-backed authentication method

Description

I would like to simplify the configuration of jgroups in my current setup where I run my workload on Azure Container Apps. I have assigned my Container App instance all the necessary IAM permissions to interact with the blob storage that I want to utilize and therefore don't want to specify storage_access_key, which is

  1. unnecessary
  2. possibly unsafe, because it's a "shared secret" that I need to distribute and rotate

Suggestion

  • a. Make the parameter storage_access_key optional
  • b. If the parameter has not been set, use DefaultAzureCredential to authenticate/authorize the blob storage client

Side effects

Utilizing the AzureDefaultCredential offers some other benefits as well, because the full chain of posssible mechanisms to obtain credentials (6 steps as of writing this ticket) will be utilized, which is the standard way when working in/with Azure.

mvn test access to my azure bucket not works

Hi everybody,

I have created a storage account in azure with "enabled all networks" in network section.
After I have created a container named "keycloakping" of type "Container" in storage account.

I have tested the acces from my PC to this container with "Azure storage explorer" and I have connected with SAS (shared access signature) and I can access to the container blob and put and get a file.

But when I test the azure ping not works the test from my cmd.

mvn install
ALL OK

but..

C:\misproyectos\jgroups-azure>mvn test -Dazure.account_name="MYACCOUNTSTORAGE" -Dazure.access_key="MYACCESKEY" -Dazure.container="keycloakping" -Djava.net.preferIPv4Stack=true

[INFO] Running org.jgroups.protocols.azure.AZURE_PINGConfigurationTest
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.272 s - in org.jgroups.protocols.azure.AZURE_PINGConfigurationTest
[INFO] Running org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.234 s <<< FAILURE! - in org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest
[ERROR] testDiscoveryObscureClusterName(org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest)  Time elapsed: 1.228 s  <<< ERROR!
java.lang.Exception: JGRP000002: unable to load protocol FD (either with relative - FD - or absolute - org.jgroups.protocols.FD - class name)
        at org.jgroups.util.Util.loadProtocolClass(Util.java:3093)
        at org.jgroups.stack.Configurator.createLayer(Configurator.java:183)
        at org.jgroups.stack.Configurator.createProtocols(Configurator.java:170)
        at org.jgroups.stack.Configurator.createProtocolsAndInitializeAttrs(Configurator.java:104)
        at org.jgroups.stack.Configurator.setupProtocolStack(Configurator.java:65)
        at org.jgroups.stack.Configurator.setupProtocolStack(Configurator.java:55)
        at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:434)
        at org.jgroups.JChannel.init(JChannel.java:899)
        at org.jgroups.JChannel.<init>(JChannel.java:123)
        at org.jgroups.JChannel.<init>(JChannel.java:105)
        at org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest.create(AZURE_PINGDiscoveryTest.java:84)
        at org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest.discover(AZURE_PINGDiscoveryTest.java:63)
        at org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest.testDiscoveryObscureClusterName(AZURE_PINGDiscoveryTest.java:55)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)

[ERROR] testDiscovery(org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest)  Time elapsed: 0.004 s  <<< ERROR!
java.lang.Exception: JGRP000002: unable to load protocol FD (either with relative - FD - or absolute - org.jgroups.protocols.FD - class name)
        at org.jgroups.util.Util.loadProtocolClass(Util.java:3093)
        at org.jgroups.stack.Configurator.createLayer(Configurator.java:183)
        at org.jgroups.stack.Configurator.createProtocols(Configurator.java:170)
        at org.jgroups.stack.Configurator.createProtocolsAndInitializeAttrs(Configurator.java:104)
        at org.jgroups.stack.Configurator.setupProtocolStack(Configurator.java:65)
        at org.jgroups.stack.Configurator.setupProtocolStack(Configurator.java:55)
        at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:434)
        at org.jgroups.JChannel.init(JChannel.java:899)
        at org.jgroups.JChannel.<init>(JChannel.java:123)
        at org.jgroups.JChannel.<init>(JChannel.java:105)
        at org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest.create(AZURE_PINGDiscoveryTest.java:84)
        at org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest.discover(AZURE_PINGDiscoveryTest.java:63)
        at org.jgroups.protocols.azure.AZURE_PINGDiscoveryTest.testDiscovery(AZURE_PINGDiscoveryTest.java:47)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   AZURE_PINGDiscoveryTest.testDiscovery:47->discover:63->create:84 »  JGRP000002...
[ERROR]   AZURE_PINGDiscoveryTest.testDiscoveryObscureClusterName:55->discover:63->create:84 »
[INFO]
[ERROR] Tests run: 5, Failures: 0, Errors: 2, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for JGroups Azure (parent) 2.0.3.Final-SNAPSHOT:
[INFO]
[INFO] JGroups Azure (parent) ............................. SUCCESS [  3.069 s]
[INFO] JGroups Azure: Protocols ........................... FAILURE [  9.429 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  12.785 s
[INFO] Finished at: 2022-10-31T14:11:52+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project jgroups-azure: There are test failures.
[ERROR]
[ERROR] Please refer to C:\misproyectos\jgroups-azure\azure\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :jgroups-azure

C:\misproyectos\jgroups-azure>

Thanks so much in advance.

Xavier.

Add azure to groupId

Currently the group id that is used by Azure PING is org.jgroups. This doesn't scale :)

It would be much better to use org.jgroups.azure or something similar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.