Git Product home page Git Product logo

vdsm-jsonrpc-java's Introduction

JSON RPC Java client (vdsm-jsonrpc-java) for oVirt

Copr build status

Welcome to the vdsm-jsonrpc-java source repository.

How to contribute

Submitting patches

Patches are welcome!

Please submit patches to GitHub:vdsm-jsonrpc-java.

Found a bug or documentation issue?

To submit a bug or suggest an enhancement for vdsm-jsonrpc-java please use oVirt Bugzilla for vdsm-jsonrpc-java product or GitHub issues

If you find a documentation issue on the oVirt website please navigate and click "Report an issue on GitHub" in the page footer.

Still need help?

If you have any other questions, please join oVirt Users forum / mailing list and ask there.

vdsm-jsonrpc-java's People

Contributors

ahadas avatar alonbl avatar arso avatar david-caro avatar dfodorrh avatar dupondje avatar ficoos avatar masayag avatar mureinik avatar mwperina avatar mz-pdm avatar pkliczewski avatar rgolangh avatar rollandf avatar sandrobonazzola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vdsm-jsonrpc-java's Issues

Setup unit testing github action

Currently for build workflow unit testing execution is disabled because some of the tests are not stable enough because of for example being highly time dependent. In maven there are some profiles defined that disable unit tests annotated (with junit categories) as Performance or TimeDependent.
This lightweight workflow should be able to prepare basic OS image to run 'mvn' test on Centos Stream 8 or/and 9. As part of the jobs would be to identify other unit tests that can occasionally fail and excluded them until they are fixed.

GitHub action fails on dubious ownership

fatal: detected dubious ownership in repository at '/__w/vdsm-jsonrpc-java/vdsm-jsonrpc-java'

missing: git config --global --add safe.directory $(pwd) in the github job.

SSL session is invalid

We had some connection issue between the ovirt-engine and the hosts.

Now we noticed the hosts didn't got reconnected after resolving the issue.
Checking the logs show the following:

2022-11-06 14:50:36,359+01 INFO  [org.ovirt.vdsm.jsonrpc.client.reactors.ReactorClient] (SSL Stomp Reactor) [] Connecting to /x.243
2022-11-06 14:50:36,359+01 INFO  [org.ovirt.vdsm.jsonrpc.client.reactors.ReactorClient] (SSL Stomp Reactor) [] Connected to /x.243:54321
2022-11-06 14:50:36,816+01 ERROR [org.ovirt.engine.core.vdsbroker.monitoring.HostMonitoring] (EE-ManagedScheduledExecutorService-engineScheduledThreadPool-Thread-82) [] Unable to RefreshCapabilities: ClientConnectionException: SSL session is invalid
2022-11-06 14:50:36,816+01 ERROR [org.ovirt.engine.core.vdsbroker.vdsbroker.GetCapabilitiesAsyncVDSCommand] (EE-ManagedScheduledExecutorService-engineScheduledThreadPool-Thread-82) [] Command 'GetCapabilitiesAsyncVDSCommand(HostName = ovn017, VdsIdAndVdsVDSCommandParametersBase:{hostId='d983da9a-b707-4b87-95c6-5d5ac047421f', vds='Host[ovn017,d983da9a-b707-4b87-95c6-5d5ac047421f]'})' execution failed: org.ovirt.vdsm.jsonrpc.client.ClientConnectionException: SSL session is invalid

It might be related to #17 ?

After restarting the ovirt-engine it started working again. But would be cleaner if it would reconnect by itself :)

Thanks

vdsm-jsonrpc-java Connecting error

bro, help!
version: ovirt 4.3.10, vdsm-jsonrpc-java-client 1.4.18

result error:
2022-10-27 11:15:56.163 INFO 5696 --- [ Stomp Reactor] o.o.v.j.client.reactors.ReactorClient : Connecting to /10.42.200.63
2022-10-27 11:15:56.170 ERROR 5696 --- [ Stomp Reactor] o.o.v.jsonrpc.client.reactors.Reactor : Unable to process messages 远程主机强迫关闭了一个现有的连接。
<JsonRpcResponse id: null error: {"code":5022,"message":"远程主机强迫关闭了一个现有的连接。"}>

test code:
` String hostName = "10.42.200.63";
int port = 54321;
int clientTimeout = 100000;
int connectionRetry = 0;
int heartbeat = 3000;
int parallelism = 30000;
int eventTimeoutInHours = 100000;
int connectionTimeout =300000;
String eventQueue = "queue";
ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1);
StompClientPolicy connectionPolicy =
new StompClientPolicy(connectionTimeout,
connectionRetry,
heartbeat,
IOException.class,
DEFAULT_REQUEST_QUEUE,
DEFAULT_RESPONSE_QUEUE);
connectionPolicy.setEventQueue(eventQueue);
ClientPolicy clientPolicy = new ClientPolicy(clientTimeout, connectionRetry, heartbeat, IOException.class);

    final Reactor reactor = ReactorFactory.getReactor(null, ReactorType.STOMP);
    final ReactorClient client = reactor.createClient(hostName, port);

    client.setClientPolicy(connectionPolicy);
    ResponseWorker worker = ReactorFactory.getWorker(parallelism, eventTimeoutInHours);
    JsonRpcClient jsonClient = worker.register(client);
    jsonClient.setRetryPolicy(clientPolicy);
    jsonClient.setExecutorService(executorService);

    JsonRpcRequest request = new RequestBuilder("Host.getCapabilities").build();
    Future<JsonRpcResponse> call = jsonClient.call(request);
    JsonRpcResponse jsonRpcResponse = call.get();
    System.out.println(jsonRpcResponse);

`

Fails to build on CentOS Stream 8

Current GIT master fails to build on a clean CentOS Stream 8:

Exception in thread "main" com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2212)
	at com.google.common.cache.LocalCache.get(LocalCache.java:4053)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4057)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4986)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4992)
	at com.google.inject.internal.FailableCache.get(FailableCache.java:54)
	at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:49)
	at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:155)
	at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:592)
	at com.google.inject.internal.AbstractBindingProcessor$Processor.initializeBinding(AbstractBindingProcessor.java:173)
	at com.google.inject.internal.AbstractBindingProcessor$Processor.lambda$scheduleInitialization$0(AbstractBindingProcessor.java:160)
	at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:49)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:124)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:481)
	at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:206)
	at org.apache.maven.cli.MavenCli.container(MavenCli.java:651)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
	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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

Seems like the COPR builds use an older/outdated CentOS version?

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.