From 04d6b4a427c9f81517be1e9eee9ae6a8a5117707 Mon Sep 17 00:00:00 2001 From: James Page Date: Mon, 24 Oct 2022 13:15:47 +0100 Subject: [PATCH] Adapt to presentation of IP addresses Not all clients can use hostnames for OVS DB URL's so changes in this area have been reverted/adapted. The OVN relay can so ensure it uses the new context properties for hostname based URL's. Depends-On: Iefe8ad601b305e3fdab7548e1d3357493491d3e9 Change-Id: I5a03590946099b50651570f411f0c6cc3a13f115 --- lib/charms/ovn_central_k8s/v0/ovsdb.py | 9 +++++---- src/charm.py | 2 +- src/templates/ovn-relay-wrapper.sh.j2 | 2 +- tests/unit/test_ovn_relay_charm.py | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/charms/ovn_central_k8s/v0/ovsdb.py b/lib/charms/ovn_central_k8s/v0/ovsdb.py index 08c5db9..732679a 100644 --- a/lib/charms/ovn_central_k8s/v0/ovsdb.py +++ b/lib/charms/ovn_central_k8s/v0/ovsdb.py @@ -37,7 +37,7 @@ LIBAPI = 0 # Increment this PATCH version before using `charmcraft publish-lib` or reset # to 0 if you are raising the major API version -LIBPATCH = 2 +LIBPATCH = 3 # TODO: add your code here! Happy coding! @@ -104,8 +104,11 @@ class OVSDBCMSRequires(Object): def bound_hostnames(self): return self.get_all_unit_values("bound-hostname") + def bound_addresses(self): + return self.get_all_unit_values("bound-address") + def remote_ready(self): - return all(self.bound_hostnames()) + return all(self.bound_hostnames()) or all(self.bound_addresses()) def _on_ovsdb_cms_relation_changed(self, event): """OVSDBCMS relation changed.""" @@ -201,5 +204,3 @@ class OVSDBCMSProvides(Object): for relation in relations: for k, v in settings.items(): relation.data[self.model.unit][k] = v - - diff --git a/src/charm.py b/src/charm.py index 93a231f..de7eae0 100755 --- a/src/charm.py +++ b/src/charm.py @@ -109,7 +109,7 @@ class OVNRelayOperatorCharm(ovn_charm.OSBaseOVNOperatorCharm): @property def southbound_db_url(self) -> str: """Full connection URL for Southbound DB relay.""" - return f"ssl:{self.ingress_address}:6442" + return f"ssl:{self.ingress_address}:6642" def get_pebble_handlers(self): pebble_handlers = [ diff --git a/src/templates/ovn-relay-wrapper.sh.j2 b/src/templates/ovn-relay-wrapper.sh.j2 index a37b8e9..0ddf56e 100644 --- a/src/templates/ovn-relay-wrapper.sh.j2 +++ b/src/templates/ovn-relay-wrapper.sh.j2 @@ -14,7 +14,7 @@ function stop_svc() } log_msg "Starting" -REMOTES={{ ovsdb_cms.db_sb_connection_strs }} +REMOTES={{ ovsdb_cms.db_sb_connection_hostname_strs }} ovsdb-server \ -vconsole:emer \ diff --git a/tests/unit/test_ovn_relay_charm.py b/tests/unit/test_ovn_relay_charm.py index c8c7a74..b81e4ce 100644 --- a/tests/unit/test_ovn_relay_charm.py +++ b/tests/unit/test_ovn_relay_charm.py @@ -66,6 +66,6 @@ class TestOVNRelayXenaOperatorCharm(test_utils.CharmTestCase): def test_southbound_db_url(self): self.assertEqual( - 'ssl:10.0.0.10:6442', + 'ssl:10.0.0.10:6642', self.harness.charm.southbound_db_url )