Skip to content

Commit 73303f9

Browse files
ciyermohammad-alisafaee
authored andcommitted
refactor: rename resource_available to usage_available (#1263)
1 parent 2e30f4b commit 73303f9

7 files changed

Lines changed: 40 additions & 40 deletions

File tree

components/renku_data_services/crc/api.spec.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1229,10 +1229,10 @@ components:
12291229
$ref: "#/components/schemas/K8sLabelList"
12301230
node_affinities:
12311231
$ref: "#/components/schemas/NodeAffinityList"
1232-
resource_available:
1233-
$ref: "#/components/schemas/ResourceAvailable"
1234-
resource_available_percentage:
1235-
$ref: "#/components/schemas/ResourceAvailablePercentage"
1232+
usage_available:
1233+
$ref: "#/components/schemas/UsageAvailable"
1234+
usage_available_percentage:
1235+
$ref: "#/components/schemas/UsageAvailablePercentage"
12361236
required: ["cpu", "memory", "gpu", "max_storage", "name", "id", "default", "default_storage"]
12371237
example:
12381238
name: "resource class"
@@ -1701,13 +1701,13 @@ components:
17011701
minimum: 0
17021702
# Max value for int64 in postgres
17031703
maximum: 9223372036854775807
1704-
ResourceAvailable:
1704+
UsageAvailable:
17051705
type: number
17061706
format: double
17071707
description: Amount of a resource available (in hours)
17081708
example: 3.141
17091709
minimum: 0
1710-
ResourceAvailablePercentage:
1710+
UsageAvailablePercentage:
17111711
type: number
17121712
format: float
17131713
description: Percentage of available resources based on quota

components/renku_data_services/crc/apispec.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -799,13 +799,13 @@ class ResourceClassWithIdFiltered(BaseAPISpec):
799799
examples=[[{"key": "test-label-1", "required_during_scheduling": False}]],
800800
min_length=0,
801801
)
802-
resource_available: Optional[float] = Field(
802+
usage_available: Optional[float] = Field(
803803
None,
804804
description="Amount of a resource available (in hours)",
805805
examples=[3.141],
806806
ge=0.0,
807807
)
808-
resource_available_percentage: Optional[float] = Field(
808+
usage_available_percentage: Optional[float] = Field(
809809
None,
810810
description="Percentage of available resources based on quota",
811811
examples=[75.5],

components/renku_data_services/crc/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ def __validate_runtime_platform(body: apispec.RuntimePlatform | None) -> models.
631631
return models.RuntimePlatform(platform_str)
632632

633633

634-
async def calculate_available_resources(
634+
async def calculate_available_usage(
635635
resource_requests_repo: ResourceRequestsRepo,
636636
resource_pool_id: int,
637637
resource_class_id: int,

components/renku_data_services/crc/db.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from renku_data_services.crc import models
2929
from renku_data_services.crc import orm as schemas
3030
from renku_data_services.crc.core import (
31-
calculate_available_resources,
31+
calculate_available_usage,
3232
validate_resource_class_update,
3333
validate_resource_pool_update,
3434
)
@@ -315,13 +315,13 @@ async def filter_resource_pools(
315315
if self.resource_requests_repo:
316316
updated_classes = []
317317
for resource_class in rp_model.classes:
318-
resource_available, resource_available_percentage = await calculate_available_resources(
318+
usage_available, usage_available_percentage = await calculate_available_usage(
319319
self.resource_requests_repo, rp.id, resource_class.id, resource_usage
320320
)
321321
updated_class = replace(
322322
resource_class,
323-
resource_available=resource_available,
324-
resource_available_percentage=resource_available_percentage,
323+
usage_available=usage_available,
324+
usage_available_percentage=usage_available_percentage,
325325
)
326326
updated_classes.append(updated_class)
327327

components/renku_data_services/crc/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ class ResourceClass(ResourcesCompareMixin):
110110
node_affinities: list[NodeAffinity] = field(default_factory=list)
111111
tolerations: list[str] = field(default_factory=list)
112112
quota: str | None = None
113-
resource_available: float | None = None
114-
resource_available_percentage: float | None = None
113+
usage_available: float | None = None
114+
usage_available_percentage: float | None = None
115115

116116

117117
@dataclass(frozen=True, eq=True, kw_only=True)

components/renku_data_services/crc/orm.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def from_unsaved_model(
145145
def dump(
146146
self,
147147
matching_criteria: models.ResourceClass | models.UnsavedResourceClass | None = None,
148-
resource_available: float | None = None,
148+
usage_available: float | None = None,
149149
) -> models.ResourceClass:
150150
"""Create a resource class model from the ORM object."""
151151
matching: bool | None = None
@@ -169,7 +169,7 @@ def dump(
169169
tolerations=[toleration.key for toleration in self.tolerations],
170170
matching=matching,
171171
quota=self.resource_pool.quota if self.resource_pool else None,
172-
resource_available=resource_available,
172+
usage_available=usage_available,
173173
)
174174

175175

test/bases/renku_data_services/data_api/test_resource_pools.py

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1655,7 +1655,7 @@ async def test_resource_class_empty_patch_noop(
16551655
async def test_resource_pools_quota_with_partial_usage(
16561656
sanic_client, admin_headers, user_headers, regular_user, valid_resource_pool_payload, cluster, app_manager_instance
16571657
) -> None:
1658-
"""Test resource pools endpoint returns correct resource_usage and resource_available."""
1658+
"""Test resource pools endpoint returns correct resource_usage and usage_available."""
16591659
payload = valid_resource_pool_payload.copy()
16601660
payload["classes"] = [
16611661
{
@@ -1722,9 +1722,9 @@ async def test_resource_pools_quota_with_partial_usage(
17221722

17231723
resource_class = resource_pool["classes"][0]
17241724

1725-
# resource_available should be 3 hours which is 75 percent of the total 4 hours available
1726-
assert resource_class["resource_available"] == 3.0
1727-
assert resource_class["resource_available_percentage"] == 75.0
1725+
# usage_available should be 3 hours which is 75 percent of the total 4 hours available
1726+
assert resource_class["usage_available"] == 3.0
1727+
assert resource_class["usage_available_percentage"] == 75.0
17281728

17291729

17301730
@pytest.mark.asyncio
@@ -1738,7 +1738,7 @@ async def test_resource_pools_quota_with_no_usage(
17381738
cluster: KindCluster,
17391739
app_manager_instance,
17401740
) -> None:
1741-
"""Test resource pools endpoint returns correct resource_available when user has no usage."""
1741+
"""Test resource pools endpoint returns correct usage_available when user has no usage."""
17421742
from renku_data_services.resource_usage.db import ResourceRequestsRepo
17431743
from renku_data_services.resource_usage.model import Credit, ResourceClassCost, ResourcePoolLimits
17441744

@@ -1792,10 +1792,10 @@ async def test_resource_pools_quota_with_no_usage(
17921792

17931793
resource_class = resource_pool["classes"][0]
17941794

1795-
# resource_available should be full quota: 200/50 = 4.0 hours
1796-
assert resource_class["resource_available"] == 4.0
1797-
# resource_available_percentage should be 100%
1798-
assert resource_class["resource_available_percentage"] == 100.0
1795+
# usage_available should be full quota: 200/50 = 4.0 hours
1796+
assert resource_class["usage_available"] == 4.0
1797+
# usage_available_percentage should be 100%
1798+
assert resource_class["usage_available_percentage"] == 100.0
17991799

18001800

18011801
@pytest.mark.asyncio
@@ -1875,10 +1875,10 @@ async def test_resource_pools_quota_exceeded(
18751875

18761876
resource_class = resource_pool["classes"][0]
18771877

1878-
# resource_available should be 0 (quota exceeded)
1879-
assert resource_class["resource_available"] == 0.0
1880-
# resource_available_percentage should be 0%
1881-
assert resource_class["resource_available_percentage"] == 0.0
1878+
# usage_available should be 0 (quota exceeded)
1879+
assert resource_class["usage_available"] == 0.0
1880+
# usage_available_percentage should be 0%
1881+
assert resource_class["usage_available_percentage"] == 0.0
18821882

18831883

18841884
@pytest.mark.asyncio
@@ -1892,7 +1892,7 @@ async def test_resource_pools_quota_with_no_limits(
18921892
cluster: KindCluster,
18931893
app_manager_instance,
18941894
) -> None:
1895-
"""Test resource pools endpoint returns null for resource_available when no limits are set."""
1895+
"""Test resource pools endpoint returns null for usage_available when no limits are set."""
18961896
payload = valid_resource_pool_payload.copy()
18971897
payload["classes"] = [
18981898
{
@@ -1950,10 +1950,10 @@ async def test_resource_pools_quota_with_no_limits(
19501950

19511951
resource_class = resource_pool["classes"][0]
19521952

1953-
# resource_available should not exist in the response since it's None
1954-
assert "resource_available" not in resource_class
1955-
# resource_available_percentage should not exist in the response since it's None
1956-
assert "resource_available_percentage" not in resource_class
1953+
# usage_available should not exist in the response since it's None
1954+
assert "usage_available" not in resource_class
1955+
# usage_available_percentage should not exist in the response since it's None
1956+
assert "usage_available_percentage" not in resource_class
19571957

19581958

19591959
@pytest.mark.asyncio
@@ -1967,7 +1967,7 @@ async def test_resource_pools_quota_with_no_costs(
19671967
cluster: KindCluster,
19681968
app_manager_instance,
19691969
) -> None:
1970-
"""Test resource pools endpoint returns null for resource_available when no costs are defined."""
1970+
"""Test resource pools endpoint returns null for usage_available when no costs are defined."""
19711971
payload = valid_resource_pool_payload.copy()
19721972
payload["classes"] = [
19731973
{
@@ -2029,7 +2029,7 @@ async def test_resource_pools_quota_with_no_costs(
20292029

20302030
resource_class = resource_pool["classes"][0]
20312031

2032-
# resource_available should not exist in the response since it's None
2033-
assert "resource_available" not in resource_class
2034-
# resource_available_percentage should not exist in the response since it's None
2035-
assert "resource_available_percentage" not in resource_class
2032+
# usage_available should not exist in the response since it's None
2033+
assert "usage_available" not in resource_class
2034+
# usage_available_percentage should not exist in the response since it's None
2035+
assert "usage_available_percentage" not in resource_class

0 commit comments

Comments
 (0)