Cogniac / cogniac-sdk-py

Python SDK for Cogniac Public API
Apache License 2.0
5 stars 6 forks source link

Edgeflow Object -> get_version() hangs until timeout #135

Open shiloh-cog opened 6 months ago

shiloh-cog commented 6 months ago

Summary: If I use the SDK to get an Edgeflow object, and then attempt to use the get_version() method, I expect to receive a response within a second or so. The expected response is the same as the output of '/1/version/' on the EdgeFlow local api.

ex.

In [11]: ef2 = cc.get_edgeflow('0ui1w7uk')

In [12]: ef2.get_version()
Out[12]: 
{'serial_number': '2864859276',
 'version': 'EF-24-02-28',
 'current_time': 1710885301.749457}

For most EFs that I tested today, the process hung for a while and showed a max retries/timeout error. The only success I saw was for an IPC-M20 on the Cogniac EdgeFlow tenant (0ui1w7uk), running EF-24-02-28.

I also tested on an RM-M20, RM-M40, RM-M80X, and DR740. I don't know if the EdgeFlow model-type is relevant. The EF software releases on the tested-machines were varied from older GA releases to newer non-GA releases.

If I ssh into the machine and curl '/1/version' on the local api , then I get the expected output, so it doesn't seem like an issue with the EF's local api.

Expected Result: Output should be EF software version, serial, and current time, as seen with calling ''/1/version" on the EF's local api.

Environment: Production. I tested on about 5 machines. I saw the issue with EF-21-10-15, EF-22-06-30, EF-23-08-18, EF-24-02-28, and EF-24-03-15. I tested on several different tenants.

Steps To Reproduce: Choose an EF on a tenant and try:

cc = CogniacConnection(tenant_id=<tenant ID>)
ef = cc.get_edgeflow(<EF ID>)
ef.get_version()
shiloh-cog commented 6 months ago

sdk_135_error.txt

^ Full error output