Commit Graph
13 Commits
Author SHA1 Message Date
Sai Medhini Reddy MaryadaandGitHub 58e9b1d66c Introduced service time metrics to OpenSearch-Py client. (#716)
* Introduced service time metrics to opensearch-py client

Signed-off-by: saimedhi <[email protected]>

* Introduced service time metrics to opensearch-py client

Signed-off-by: saimedhi <[email protected]>

* Introduced service time metrics to opensearch-py client

Signed-off-by: saimedhi <[email protected]>

* Added service time metrics

Signed-off-by: saimedhi <[email protected]>

---------

Signed-off-by: saimedhi <[email protected]>
Signed-off-by: Sai Medhini Reddy Maryada <[email protected]>
2024-04-15 07:20:46 -04:00
odelmarcelleandGitHub 3eba72c320 Reusable async client (#639)
* set aiohttp.ClientSession to None after close()

Signed-off-by: odlmarce <[email protected]>

* add test

Signed-off-by: odlmarce <[email protected]>

* update changelog

Signed-off-by: odlmarce <[email protected]>

* update changelog + format
Signed-off-by: odlmarce <[email protected]>

* update changelog
Signed-off-by: odlmarce <[email protected]>

* add tests using `with` and synchronous client
Signed-off-by: odlmarce <[email protected]>

* fix `urllib3.exceptions.ClosedPoolError` breaking synchronous client after `close`
Signed-off-by: odlmarce <[email protected]>

* update changelog
Signed-off-by: odlmarce <[email protected]>

* separate tests
Signed-off-by: odlmarce <[email protected]>

* refactor pool factory as lambda
Signed-off-by: odlmarce <[email protected]>

---------

Signed-off-by: odlmarce <[email protected]>
2024-01-02 13:33:24 -05:00
Samuel OrjiandGitHub 6f26eb3e8e remove unnecessary utf-8 header in .py files (#615)
* remove unnecessary utf-8 header in .py files

Signed-off-by: samuel orji <[email protected]>

* review feedback: add link to changelog

Signed-off-by: samuel orji <[email protected]>

---------

Signed-off-by: samuel orji <[email protected]>
2023-11-24 16:19:50 -05:00
Daniel (dB.) DoubrovkineandGitHub dcb79cc322 Merge .pyi type stubs inline (#563)
* Merged types into .py code.

Signed-off-by: dblock <[email protected]>

* Fix: nox -rs generate.

Signed-off-by: dblock <[email protected]>

* Updated CHANGELOG.

Signed-off-by: dblock <[email protected]>

* Use lowest common python version for lint.

Signed-off-by: dblock <[email protected]>

* Fix: don't typeshed.

Signed-off-by: dblock <[email protected]>

* Removed unneeded comment.

Signed-off-by: dblock <[email protected]>

* Simplify OPENSEARCH_URL.

Signed-off-by: dblock <[email protected]>

* Fix: positional ignore_status used as chunk_size.

Signed-off-by: dblock <[email protected]>

* Fix: parse version string.

Signed-off-by: dblock <[email protected]>

* Remove future annotations for Python 3.6.

Signed-off-by: dblock <[email protected]>

* Fix: types in documentation.

Signed-off-by: dblock <[email protected]>

* Improve CHANGELOG text.

Signed-off-by: dblock <[email protected]>

* Re-added missing separator.

Signed-off-by: dblock <[email protected]>

* Remove duplicate licenses.

Signed-off-by: dblock <[email protected]>

* Get rid of Optional[Any].

Signed-off-by: dblock <[email protected]>

* Fix docs with AsyncOpenSearch.

Signed-off-by: dblock <[email protected]>

* Fix: undo comment.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-06 10:08:19 -08:00
Daniel (dB.) DoubrovkineandGitHub 0da60b2623 Added a utf-8 header to all .py files (#557)
Signed-off-by: dblock <[email protected]>
2023-10-26 13:34:34 -04:00
Daniel (dB.) DoubrovkineandGitHub a1f942b6f9 Added support for AWS Sigv4 for UrlLib3. (#547)
* WIP: Added support for AWS Sigv4 for UrlLib3.

Signed-off-by: dblock <[email protected]>

* Refactored common implementation.

Signed-off-by: dblock <[email protected]>

* Added sigv4 samples.

Signed-off-by: dblock <[email protected]>

* Updated CHANGELOG.

Signed-off-by: dblock <[email protected]>

* Add documentation.

Signed-off-by: dblock <[email protected]>

* Use the correct class in tests.

Signed-off-by: dblock <[email protected]>

* Renamed samples.

Signed-off-by: dblock <[email protected]>

* Split up requests and urllib3 unit tests.

Signed-off-by: dblock <[email protected]>

* Rename AWSV4Signer.

Signed-off-by: dblock <[email protected]>

* Clarified documentation of when to use Urllib3AWSV4SignerAuth vs. RequestHttpConnection.

Signed-off-by: dblock <[email protected]>

* Move fetch_url inside the signer class.

Signed-off-by: dblock <[email protected]>

* Added unit test for Urllib3AWSV4SignerAuth adding headers.

Signed-off-by: dblock <[email protected]>

* Added unit test for signing to include query string.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-23 19:46:19 -04:00
Daniel (dB.) DoubrovkineandGitHub 7a638cdafc Align pool_maxsize for different connection pool implementations. (#535)
* Align pool_maxsize for different connection pool implementations.

Signed-off-by: dblock <[email protected]>

* Document connection classes and settings.

Signed-off-by: dblock <[email protected]>

* Undo change in async for backwards compatibility.

Signed-off-by: dblock <[email protected]>

* Fix: typo.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-12 18:55:31 -04:00
Jeppe Fihl-PearsonandGitHub 4c4091b12c Fix DeprecationWarning raised by urllib3 1.26.13 (#246)
* Fix DeprecationWarning raised by urllib3 1.26.13

urllib3 has started to emit a DeprecationWarning whenever
HTTPResponse.getheaders() is called since version 1.26.13.

This changes the one place where this is done to instead use
HTTPResponse.headers instead, which is the recommend way of retrieving
the headers going forwards.

Signed-off-by: Jeppe Fihl-Pearson <[email protected]>

* Add CHANGELOG entry

Signed-off-by: Jeppe Fihl-Pearson <[email protected]>

Signed-off-by: Jeppe Fihl-Pearson <[email protected]>
2022-12-01 11:26:24 -08:00
2672f3f572 Check OpenSSL environment variables before defaulting to certifi (#196)
* Check OpenSSL environment variables before defaulting to certifi

Signed-off-by: Roger Aiudi <[email protected]>

* Fix formatting

Signed-off-by: Roger Aiudi <[email protected]>

* Moved CA_CERTS to the base Connection module

Signed-off-by: Roger Aiudi <[email protected]>

* Updated requests Connection to use common CA_CERTS by default

Signed-off-by: Roger Aiudi <[email protected]>

* Pass nox linting

Signed-off-by: Roger Aiudi <[email protected]>

* Update CHANGELOG.md and USER_GUIDE.md

Signed-off-by: Roger Aiudi <[email protected]>

* Updated AIOHttpConnection to only load CA_CERTS if verify_certs is True

Signed-off-by: Roger Aiudi <[email protected]>

* Added test cases for CA_CERTS handling in each Connection implementation

Signed-off-by: Roger Aiudi <[email protected]>

* Move CA cert handling to Connection.default_ca_certs()
Add test cases for the different CA cert configurations

Signed-off-by: Roger Aiudi <[email protected]>

* Update actions to test unsupported Python versions on ubuntu-20.04

Signed-off-by: Roger Aiudi <[email protected]>

* Fix Python versions being interpreted as floats

Signed-off-by: Roger Aiudi <[email protected]>

* Workaround Monkeypatch not available on old pytest versions

Signed-off-by: Roger Aiudi <[email protected]>

Signed-off-by: Roger Aiudi <[email protected]>
Co-authored-by: Harsha Vamsi Kalluri <[email protected]>
2022-11-22 11:33:45 -05:00
2d03dc773b Alerting Plugins (#93)
* Alert Plugin

Signed-off-by: Arnav Das <[email protected]>

* lint file header license

Signed-off-by: Arnav Das <[email protected]>

* Tests For Alerting[Monitors]

Signed-off-by: Arnav Das <[email protected]>

* Tests For Alerting[Destinations]

Signed-off-by: Arnav Das <[email protected]>

* dynamic lookup 90#issuecomment-1003396742

Signed-off-by: Arnav Das <[email protected]>

* Alerting Async

Signed-off-by: Arnav Das <[email protected]>

* Lint Changes

Signed-off-by: Arnav Das <[email protected]>

* alerting plugins integration tests

Signed-off-by: Arnav Das <[email protected]>

* Integ UnitTests Skip on OPENSEARCH_VERSION >= 2.0.0

Signed-off-by: Arnav Das <[email protected]>

* Unit Test Skip Complete

Signed-off-by: Arnav Das <[email protected]>

* License Headers fixed

Signed-off-by: Arnav Das <[email protected]>

* test_urllib3_connection timeout

Signed-off-by: Arnav Das <[email protected]>

* lint

Signed-off-by: Arnav Das <[email protected]>

* Fix licenses in all files

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Remove elastic search licenses on new files

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix formatting

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Arnav Das <[email protected]>
Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
Co-authored-by: Harsha Vamsi Kalluri <[email protected]>
2022-10-03 14:45:18 -04:00
Shivam DharandShivam Dhar cfe1190a22 removes elastic support from opensearch-py library
Signed-off-by: Shivam Dhar <[email protected]>
2022-01-05 22:22:43 +05:30
Trevor McCullochandGitHub 1cd15b0845 Parse raw_data on error only if the Content-Type is application/json. (#91)
Some OpenSearch REST APIs will return a Content-Type of text/plain for certain
status codes which will trigger logging when the response is not parsable as
JSON. Checking the content-type first avoids this error.

This frequently happens with 401s, which occurs when we rotate user keys.
The input that triggers this behaviour can be triggered with `curl`:

```
$  curl -k -u"admin:wrong" -w"\n%{http_code}\n%{content_type}\n" https://localhost:9200/_cluster/health
Unauthorized
401
text/plain; charset=UTF-8
```

Signed-off-by: Trevor McCulloch <[email protected]>
2021-12-22 21:52:49 +02:00
Rushi Agrawal ef0c23c0e4 Rename module to opensearchpy
To avoid conflict with an existing package by name 'opensearch' being
present

Signed-off-by: Rushi Agrawal <[email protected]>
2021-09-16 21:23:38 +05:30