Skip to content

Commit

Permalink
Disable external HTTP request in wp theme list and wp plugin list
Browse files Browse the repository at this point in the history
… command (#193)
  • Loading branch information
weiiwang01 authored Feb 29, 2024
1 parent 49c10ab commit b2d0a97
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 9 deletions.
10 changes: 9 additions & 1 deletion src/charm.py
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,15 @@ def _wp_addon_list(self, addon_type: str):
# FIXME: the feedwordpress plugin causes the `wp theme list` command to fail occasionally
# use retries as a temporary workaround for this issue
for wait in (1, 3, 5, 5, 5):
process = self._run_wp_cli(["wp", addon_type, "list", "--format=json"], timeout=600)
process = self._run_wp_cli(
[
"wp",
addon_type,
"list",
"--exec=define( 'WP_HTTP_BLOCK_EXTERNAL', TRUE );",
"--format=json",
],
)
if process.return_code == 0:
break
time.sleep(wait)
Expand Down
14 changes: 6 additions & 8 deletions tests/integration/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ async def prepare_mysql(ops_test: OpsTest, wordpress: WordpressApp, model: Model
"deploy", "mysql-k8s", "--channel=8.0/candidate", "--revision=75", "--trust"
)
await model.wait_for_idle(status="active", apps=["mysql-k8s"], timeout=30 * 60)
await model.add_relation(f"{wordpress.name}:database", "mysql-k8s:database")
await model.relate(f"{wordpress.name}:database", "mysql-k8s:database")
await model.wait_for_idle(
status="active", apps=["mysql-k8s", wordpress.name], timeout=40 * 60, idle_period=30
)
Expand All @@ -113,7 +113,7 @@ async def prepare_machine_mysql(
await machine_model.deploy("mysql", channel="8.0/edge", trust=True)
await machine_model.create_offer("mysql:database")
await machine_model.wait_for_idle(status="active", apps=["mysql"], timeout=30 * 60)
await model.add_relation(
await model.relate(
f"{wordpress.name}:database",
f"{machine_controller.controller_name}:admin/{machine_model.name}.mysql",
)
Expand Down Expand Up @@ -208,10 +208,8 @@ async def prepare_swift(wordpress: WordpressApp, swift_config: Dict[str, str]):
async def prepare_nginx_ingress(wordpress: WordpressApp, prepare_mysql):
"""Deploy and relate nginx-ingress-integrator charm for integration tests."""
await wordpress.model.deploy("nginx-ingress-integrator", series="focal", trust=True)
await wordpress.model.wait_for_idle(
status="active", apps=["nginx-ingress-integrator"], timeout=30 * 60
)
await wordpress.model.add_relation(f"{wordpress.name}:nginx-route", "nginx-ingress-integrator")
await wordpress.model.wait_for_idle(apps=["nginx-ingress-integrator"], timeout=30 * 60)
await wordpress.model.relate(f"{wordpress.name}:nginx-route", "nginx-ingress-integrator")
await wordpress.model.wait_for_idle(status="active")


Expand All @@ -224,7 +222,7 @@ async def prepare_prometheus(wordpress: WordpressApp, prepare_mysql):
await wordpress.model.wait_for_idle(
status="active", apps=[prometheus.name], raise_on_error=False, timeout=30 * 60
)
await wordpress.model.add_relation(f"{wordpress.name}:metrics-endpoint", prometheus.name)
await wordpress.model.relate(f"{wordpress.name}:metrics-endpoint", prometheus.name)
await wordpress.model.wait_for_idle(
status="active",
apps=[prometheus.name, wordpress.name],
Expand All @@ -238,7 +236,7 @@ async def prepare_loki(wordpress: WordpressApp, prepare_mysql):
"""Deploy and relate loki-k8s charm for integration tests."""
loki = await wordpress.model.deploy("loki-k8s", channel="1.0/stable", trust=True)
await wordpress.model.wait_for_idle(apps=[loki.name], status="active", timeout=20 * 60)
await wordpress.model.add_relation(f"{wordpress.name}:logging", loki.name)
await wordpress.model.relate(f"{wordpress.name}:logging", loki.name)
await wordpress.model.wait_for_idle(
apps=[loki.name, wordpress.name], status="active", timeout=40 * 60
)

0 comments on commit b2d0a97

Please sign in to comment.