Skip to content

Commit 2ca6639

Browse files
committed
Fix designate-bind ServiceIPs test wait states
Pass target_deploy_status so blocked nrpe is tolerated. Signed-off-by: Seyeong Kim <seyeong.kim@canonical.com>
1 parent 2f8e44b commit 2ca6639

1 file changed

Lines changed: 26 additions & 6 deletions

File tree

  • zaza/openstack/charm_tests/designate_bind

zaza/openstack/charm_tests/designate_bind/tests.py

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,15 @@
1616
import logging
1717
import os
1818

19+
from tenacity import (
20+
Retrying,
21+
retry_if_exception_type,
22+
stop_after_attempt,
23+
wait_fixed,
24+
)
25+
1926
import zaza.model as zaza_model
27+
import zaza.charm_lifecycle.utils as lifecycle_utils
2028
import zaza.openstack.charm_tests.test_utils as test_utils
2129

2230

@@ -37,20 +45,32 @@ def setUp(self):
3745
def test_configure_ips(self):
3846
"""Configure and un-configure 'service_ips' option."""
3947
config = {"service_ips": self.VIP}
48+
test_config = lifecycle_utils.get_charm_config(fatal=False)
49+
states = test_config.get("target_deploy_status", {})
4050

4151
logging.info("Configuring %s as a Service IP for %s unit.",
4252
self.VIP, self.UNIT)
4353
zaza_model.set_application_config(self.APPLICATION, config)
44-
zaza_model.wait_for_application_states()
54+
zaza_model.wait_for_application_states(states=states)
4555

46-
configured_ips = zaza_model.run_on_unit(self.UNIT, "ip addr")
47-
self.assertIn(self.VIP, configured_ips["Stdout"])
56+
for attempt in Retrying(wait=wait_fixed(2),
57+
retry=retry_if_exception_type(AssertionError),
58+
reraise=True,
59+
stop=stop_after_attempt(10)):
60+
with attempt:
61+
configured_ips = zaza_model.run_on_unit(self.UNIT, "ip addr")
62+
self.assertIn(self.VIP, configured_ips["Stdout"])
4863

4964
logging.info("Removing service IP configuration from %s unit.",
5065
self.UNIT)
5166
config["service_ips"] = ""
5267
zaza_model.set_application_config(self.APPLICATION, config)
53-
zaza_model.wait_for_application_states()
68+
zaza_model.wait_for_application_states(states=states)
5469

55-
configured_ips = zaza_model.run_on_unit(self.UNIT, "ip addr")
56-
self.assertNotIn(self.VIP, configured_ips["Stdout"])
70+
for attempt in Retrying(wait=wait_fixed(2),
71+
retry=retry_if_exception_type(AssertionError),
72+
reraise=True,
73+
stop=stop_after_attempt(10)):
74+
with attempt:
75+
configured_ips = zaza_model.run_on_unit(self.UNIT, "ip addr")
76+
self.assertNotIn(self.VIP, configured_ips["Stdout"])

0 commit comments

Comments
 (0)