argus-alm 0.15.3__py3-none-any.whl → 0.15.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- argus/_version.py +2 -2
- argus/client/base.py +14 -8
- argus/client/generic/cli.py +3 -2
- argus/client/generic/client.py +2 -1
- argus/client/sct/client.py +2 -1
- argus/common/enums.py +16 -0
- {argus_alm-0.15.3.dist-info → argus_alm-0.15.5.dist-info}/METADATA +4 -4
- {argus_alm-0.15.3.dist-info → argus_alm-0.15.5.dist-info}/RECORD +12 -12
- {argus_alm-0.15.3.dist-info → argus_alm-0.15.5.dist-info}/WHEEL +0 -0
- {argus_alm-0.15.3.dist-info → argus_alm-0.15.5.dist-info}/entry_points.txt +0 -0
- {argus_alm-0.15.3.dist-info → argus_alm-0.15.5.dist-info}/licenses/LICENSE +0 -0
- {argus_alm-0.15.3.dist-info → argus_alm-0.15.5.dist-info}/top_level.txt +0 -0
argus/_version.py
CHANGED
argus/client/base.py
CHANGED
|
@@ -96,14 +96,17 @@ class ArgusClient:
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
def get(self, endpoint: str, location_params: dict[str, str] = None, params: dict = None) -> requests.Response:
|
|
99
|
+
url = self.get_url_for_endpoint(
|
|
100
|
+
endpoint=endpoint,
|
|
101
|
+
location_params=location_params
|
|
102
|
+
)
|
|
103
|
+
LOGGER.debug("GET Request: %s, params: %s", url, params)
|
|
99
104
|
response = requests.get(
|
|
100
|
-
url=
|
|
101
|
-
endpoint=endpoint,
|
|
102
|
-
location_params=location_params
|
|
103
|
-
),
|
|
105
|
+
url=url,
|
|
104
106
|
params=params,
|
|
105
107
|
headers=self.request_headers
|
|
106
108
|
)
|
|
109
|
+
LOGGER.debug("GET Response: %s %s", response.status_code, response.url)
|
|
107
110
|
|
|
108
111
|
return response
|
|
109
112
|
|
|
@@ -114,15 +117,18 @@ class ArgusClient:
|
|
|
114
117
|
params: dict = None,
|
|
115
118
|
body: dict = None,
|
|
116
119
|
) -> requests.Response:
|
|
120
|
+
url = self.get_url_for_endpoint(
|
|
121
|
+
endpoint=endpoint,
|
|
122
|
+
location_params=location_params
|
|
123
|
+
)
|
|
124
|
+
LOGGER.debug("POST Request: %s, params: %s, body: %s", url, params, body)
|
|
117
125
|
response = requests.post(
|
|
118
|
-
url=
|
|
119
|
-
endpoint=endpoint,
|
|
120
|
-
location_params=location_params
|
|
121
|
-
),
|
|
126
|
+
url=url,
|
|
122
127
|
params=params,
|
|
123
128
|
json=body,
|
|
124
129
|
headers=self.request_headers,
|
|
125
130
|
)
|
|
131
|
+
LOGGER.debug("POST Response: %s %s", response.status_code, response.url)
|
|
126
132
|
|
|
127
133
|
return response
|
|
128
134
|
|
argus/client/generic/cli.py
CHANGED
|
@@ -32,13 +32,14 @@ def cli():
|
|
|
32
32
|
@click.option("--build-id", required=True, help="Unique job identifier in the build system, e.g. scylla-master/group/job for jenkins (The full path)")
|
|
33
33
|
@click.option("--build-url", required=True, help="Job URL in the build system")
|
|
34
34
|
@click.option("--started-by", required=True, help="Username of the user who started the job")
|
|
35
|
+
@click.option("--sub-type", required=False, help="Sub-type of the generic test: pytest, dtest")
|
|
35
36
|
@click.option("--scylla-version", required=False, default=None, help="Version of Scylla used for this job")
|
|
36
37
|
@click.option("--extra-headers", default={}, type=click.UNPROCESSED, callback=validate_extra_headers, help="extra headers to pass to argus, should be in json format", envvar='ARGUS_EXTRA_HEADERS')
|
|
37
|
-
def submit_run(api_key: str, base_url: str, id: str, build_id: str, build_url: str, started_by: str, scylla_version: str = None, extra_headers: dict | None = None):
|
|
38
|
+
def submit_run(api_key: str, base_url: str, id: str, build_id: str, build_url: str, started_by: str, sub_type: str = None, scylla_version: str = None, extra_headers: dict | None = None):
|
|
38
39
|
LOGGER.info("Submitting %s (%s) to Argus...", build_id, id)
|
|
39
40
|
client = ArgusGenericClient(auth_token=api_key, base_url=base_url, extra_headers=extra_headers)
|
|
40
41
|
client.submit_generic_run(build_id=build_id, run_id=id, started_by=started_by,
|
|
41
|
-
build_url=build_url, scylla_version=scylla_version)
|
|
42
|
+
build_url=build_url, scylla_version=scylla_version, sub_type=sub_type)
|
|
42
43
|
LOGGER.info("Done.")
|
|
43
44
|
|
|
44
45
|
|
argus/client/generic/client.py
CHANGED
|
@@ -15,12 +15,13 @@ class ArgusGenericClient(ArgusClient):
|
|
|
15
15
|
def __init__(self, auth_token: str, base_url: str, api_version="v1", extra_headers: dict | None = None) -> None:
|
|
16
16
|
super().__init__(auth_token, base_url, api_version, extra_headers=extra_headers)
|
|
17
17
|
|
|
18
|
-
def submit_generic_run(self, build_id: str, run_id: str, started_by: str, build_url: str, scylla_version: str | None = None):
|
|
18
|
+
def submit_generic_run(self, build_id: str, run_id: str, started_by: str, build_url: str, sub_type: str = None, scylla_version: str | None = None):
|
|
19
19
|
request_body = {
|
|
20
20
|
"build_id": build_id,
|
|
21
21
|
"run_id": run_id,
|
|
22
22
|
"started_by": started_by,
|
|
23
23
|
"build_url": build_url,
|
|
24
|
+
"sub_type": sub_type,
|
|
24
25
|
"scylla_version": scylla_version
|
|
25
26
|
}
|
|
26
27
|
|
argus/client/sct/client.py
CHANGED
|
@@ -152,7 +152,7 @@ class ArgusSCTClient(ArgusClient):
|
|
|
152
152
|
)
|
|
153
153
|
self.check_response(response)
|
|
154
154
|
|
|
155
|
-
def create_resource(self, name: str, resource_type: str, public_ip: str, private_ip: str,
|
|
155
|
+
def create_resource(self, name: str, resource_type: str, public_ip: str, private_ip: str, instance_type: str,
|
|
156
156
|
region: str, provider: str, dc_name: str, rack_name: str, shards_amount: int, state=ResourceState.RUNNING) -> None:
|
|
157
157
|
"""
|
|
158
158
|
Creates a cloud resource record in argus.
|
|
@@ -167,6 +167,7 @@ class ArgusSCTClient(ArgusClient):
|
|
|
167
167
|
"state": state,
|
|
168
168
|
"resource_type": resource_type,
|
|
169
169
|
"instance_details": {
|
|
170
|
+
"instance_type": instance_type,
|
|
170
171
|
"provider": provider,
|
|
171
172
|
"region": region,
|
|
172
173
|
"dc_name": dc_name,
|
argus/common/enums.py
CHANGED
|
@@ -22,6 +22,22 @@ class TestStatus(str, Enum):
|
|
|
22
22
|
NOT_RUN = "not_run"
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
class PytestStatus(str, Enum):
|
|
26
|
+
ERROR = "error"
|
|
27
|
+
PASSED = "passed"
|
|
28
|
+
FAILURE = "failure"
|
|
29
|
+
SKIPPED = "skipped"
|
|
30
|
+
XFAILED = "xfailed"
|
|
31
|
+
XPASS = "xpass"
|
|
32
|
+
# Following statuses reflect test & teardown state
|
|
33
|
+
# Example: passed & error means the test passed
|
|
34
|
+
# but the tearDown stage errored
|
|
35
|
+
PASSED_ERROR = "passed & error"
|
|
36
|
+
FAILURE_ERROR = "failure & error"
|
|
37
|
+
SKIPPED_ERROR = "skipped & error"
|
|
38
|
+
ERROR_ERROR = "error & error"
|
|
39
|
+
|
|
40
|
+
|
|
25
41
|
class TestInvestigationStatus(str, Enum):
|
|
26
42
|
NOT_INVESTIGATED = "not_investigated"
|
|
27
43
|
IN_PROGRESS = "in_progress"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: argus-alm
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.5
|
|
4
4
|
Summary: Argus
|
|
5
5
|
Author-email: Alexey Kartashov <alexey.kartashov@scylladb.com>, Łukasz Sójka <lukasz.sojka@scylladb.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -13,16 +13,16 @@ Requires-Dist: requests>=2.26.0
|
|
|
13
13
|
Requires-Dist: click>=8.1.3
|
|
14
14
|
Provides-Extra: web-backend
|
|
15
15
|
Requires-Dist: PyYAML~=6.0.0; extra == "web-backend"
|
|
16
|
-
Requires-Dist: scylla-driver
|
|
16
|
+
Requires-Dist: scylla-driver>=3.26.8; extra == "web-backend"
|
|
17
17
|
Requires-Dist: Flask~=3.0.0; extra == "web-backend"
|
|
18
18
|
Requires-Dist: Flask-WTF~=1.0.0; extra == "web-backend"
|
|
19
19
|
Requires-Dist: Flask-Login~=0.5.0; extra == "web-backend"
|
|
20
20
|
Requires-Dist: humanize~=3.13.1; extra == "web-backend"
|
|
21
21
|
Requires-Dist: python-magic~=0.4.24; extra == "web-backend"
|
|
22
22
|
Requires-Dist: uwsgi~=2.0.20; extra == "web-backend"
|
|
23
|
-
Requires-Dist: python-jenkins
|
|
23
|
+
Requires-Dist: python-jenkins>=1.7.0; extra == "web-backend"
|
|
24
24
|
Requires-Dist: python-slugify~=6.1.1; extra == "web-backend"
|
|
25
|
-
Requires-Dist: pygithub
|
|
25
|
+
Requires-Dist: pygithub>=2.6.1; extra == "web-backend"
|
|
26
26
|
Requires-Dist: boto3~=1.38.9; extra == "web-backend"
|
|
27
27
|
Provides-Extra: docker-image
|
|
28
28
|
Requires-Dist: supervisor~=4.2.4; extra == "docker-image"
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
argus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
argus/_version.py,sha256=
|
|
2
|
+
argus/_version.py,sha256=jQuZKhl-YcplxyXgfpbbOOVRFLWdzyF8mpyWtCtN7BI,513
|
|
3
3
|
argus/client/__init__.py,sha256=bO9_j5_jK5kvTHR46KEZ0Y-p0li7CBW8QSd-K5Ez4vA,42
|
|
4
|
-
argus/client/base.py,sha256=
|
|
4
|
+
argus/client/base.py,sha256=XwqshXFkb6h_QJH3wlFmWjSYV3p66y7B2lufShSkWAs,8463
|
|
5
5
|
argus/client/generic_result.py,sha256=9D0zrpfEDiIL7PjL12TZnqk5Mi_1T1UvesF5wWeMfz0,6264
|
|
6
6
|
argus/client/driver_matrix_tests/cli.py,sha256=JpI0v1hzRQr9KkrxO7D4hEbkzumexFFC_iRM8558zHU,8375
|
|
7
7
|
argus/client/driver_matrix_tests/client.py,sha256=fFucqwog6WnDnje1xB-4ERfwHXblXP4upmtt9RtOkls,2806
|
|
8
|
-
argus/client/generic/cli.py,sha256=
|
|
9
|
-
argus/client/generic/client.py,sha256=
|
|
10
|
-
argus/client/sct/client.py,sha256=
|
|
8
|
+
argus/client/generic/cli.py,sha256=jsdSwzwzefX1POyrZ4lFTRcjWPmTauuXBGjceM54Zk4,4707
|
|
9
|
+
argus/client/generic/client.py,sha256=3MONtLIcF7rZ5x5OaAQKi4YGHCHb3-9ooCUhWtKs4C4,1971
|
|
10
|
+
argus/client/sct/client.py,sha256=SWFPg2pe8m5mg5bERrqFbCPZeFWbc7tgmrHIHhxHMvo,11512
|
|
11
11
|
argus/client/sct/types.py,sha256=VLgVe7qPmJtCLqtPnuX8N8kMKZq-iY3SKz68nvU6nJ4,371
|
|
12
12
|
argus/client/sirenada/client.py,sha256=lzhmBFAUnvPSAJfCjeQ0L5nbp50Q0YLHwIondO9rvt4,6321
|
|
13
13
|
argus/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
argus/common/enums.py,sha256=
|
|
14
|
+
argus/common/enums.py,sha256=2ASF_NMUU_inJCHnrjkvZ1jXWL2zAWzVgmtjCUwSUjA,1206
|
|
15
15
|
argus/common/sct_types.py,sha256=csRkFdYkjLw1qaJhikW2NKvzdA1DQ1a93nwtKUB1gRs,1329
|
|
16
16
|
argus/common/sirenada_types.py,sha256=CZH2JXA1KYUj29eXYe8rIAAWdN1XPqOsDPAXvM25bVQ,698
|
|
17
|
-
argus_alm-0.15.
|
|
18
|
-
argus_alm-0.15.
|
|
19
|
-
argus_alm-0.15.
|
|
20
|
-
argus_alm-0.15.
|
|
21
|
-
argus_alm-0.15.
|
|
22
|
-
argus_alm-0.15.
|
|
17
|
+
argus_alm-0.15.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
18
|
+
argus_alm-0.15.5.dist-info/METADATA,sha256=A3F6vz5jCyU4mZlAA8qs92PbcMFqfeyKqTwZZPqKnrY,4860
|
|
19
|
+
argus_alm-0.15.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
20
|
+
argus_alm-0.15.5.dist-info/entry_points.txt,sha256=5mSBLLPndhFHKY5M9SCF8WhDBAArrj-S2IL-uoiaJiE,140
|
|
21
|
+
argus_alm-0.15.5.dist-info/top_level.txt,sha256=Pea173vTU-Et8xmNCctS34REW4cH0Xmjyiztu0HuM0c,6
|
|
22
|
+
argus_alm-0.15.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|