Skip to content

Commit 7f0edd8

Browse files
authored
Merge pull request microsoft#64 from xlab-uiuc/noop-astro
Add noop problem for astronomy shop
2 parents 5e8d648 + 3c32fbf commit 7f0edd8

3 files changed

Lines changed: 21 additions & 10 deletions

File tree

aiopslab/orchestrator/problems/no_op/no_op.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from aiopslab.service.kubectl import KubeCtl
88
from aiopslab.service.apps.hotelres import HotelReservation
99
from aiopslab.service.apps.socialnet import SocialNetwork
10+
from aiopslab.service.apps.astronomy_shop import AstronomyShop
1011
from aiopslab.generators.workload.wrk import Wrk
1112
from aiopslab.generators.fault.inject_noop import NoopFaultInjector
1213
from aiopslab.session import SessionItem
@@ -17,20 +18,25 @@
1718

1819
class NoOpBaseTask:
1920
def __init__(self, app_name: str = "hotel"):
20-
if app_name == "hotel":
21+
self.app_name = app_name
22+
23+
if self.app_name == "hotel":
2124
self.app = HotelReservation()
2225
self.payload_script = (
2326
TARGET_MICROSERVICES
2427
/ "hotelReservation/wrk2/scripts/hotel-reservation/mixed-workload_type_1.lua"
2528
)
2629
self.faulty_service = "PLACEHOLDER"
27-
elif app_name == "social":
30+
elif self.app_name == "social":
2831
self.app = SocialNetwork()
2932
self.payload_script = (
3033
TARGET_MICROSERVICES
3134
/ "socialNetwork/wrk2/scripts/social-network/compose-post.lua"
3235
)
3336
self.faulty_service = "PLACEHOLDER"
37+
elif self.app_name == "astronomy_shop":
38+
self.app = AstronomyShop()
39+
self.faulty_service = "PLACEHOLDER"
3440
else:
3541
raise ValueError(f"Unsupported app_name: {app_name}")
3642

@@ -39,14 +45,18 @@ def __init__(self, app_name: str = "hotel"):
3945
self.injector = NoopFaultInjector(namespace=self.namespace)
4046

4147
def start_workload(self):
42-
print("== Start Workload ==")
43-
frontend_url = get_frontend_url(self.app)
48+
if self.app_name != 'astronomy_shop':
49+
print("== Start Workload ==")
50+
frontend_url = get_frontend_url(self.app)
4451

45-
wrk = Wrk(rate=10, dist="exp", connections=2, duration=10, threads=2)
46-
wrk.start_workload(
47-
payload_script=self.payload_script,
48-
url=f"{frontend_url}",
49-
)
52+
wrk = Wrk(rate=10, dist="exp", connections=2, duration=10, threads=2)
53+
wrk.start_workload(
54+
payload_script=self.payload_script,
55+
url=f"{frontend_url}",
56+
)
57+
else:
58+
# Skip workload since astronomy shop has its own workload generator
59+
print("== Workload Skipped ==")
5060

5161
def inject_fault(self):
5262
print("== Fault Injection ==")

aiopslab/orchestrator/problems/registry.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ def __init__(self):
159159
app_name="hotel"
160160
),
161161
"noop_detection_social_network-1": lambda: NoOpDetection(app_name="social"),
162+
"noop_detection_astronomy_shop-1": lambda: NoOpDetection(app_name="astronomy_shop"),
162163
# NOTE: This should be getting fixed by the great powers of @jinghao-jia
163164
# Kernel fault -> https://github.com/xlab-uiuc/agent-ops/pull/10#issuecomment-2468992285
164165
# There's a bug in chaos mesh regarding this fault, wait for resolution and retest kernel fault

aiopslab/service/apps/astronomy_shop.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def __init__(self):
1818
def load_app_json(self):
1919
super().load_app_json()
2020
metadata = self.get_app_json()
21-
self.frontend_service = "astronomy-shop-frontendproxy"
21+
self.frontend_service = "frontend-proxy"
2222
self.frontend_port = 8080
2323

2424
def deploy(self):

0 commit comments

Comments
 (0)