diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..76e335d --- /dev/null +++ b/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=review.openstack.org +port=29418 +project=openstack/charm-pacemaker-remote.git diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..dc27661 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,4 @@ +- project: + templates: + - python35-charm-jobs + - openstack-cover-jobs diff --git a/requirements.txt b/requirements.txt index cb6c9d4..6371beb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ # Requirements to build the charm charm-tools simplejson -flake8 \ No newline at end of file diff --git a/src/reactive/pacemaker_remote_handlers.py b/src/reactive/pacemaker_remote_handlers.py index 2770da2..1a053ff 100644 --- a/src/reactive/pacemaker_remote_handlers.py +++ b/src/reactive/pacemaker_remote_handlers.py @@ -13,6 +13,7 @@ # limitations under the License. import shutil +import socket import os import charms.reactive as reactive @@ -20,8 +21,6 @@ import charmhelpers.fetch as fetch import charmhelpers.core.hookenv as hookenv import charmhelpers.core.host as ch_host -import charmhelpers.contrib.network.ip - COROSYNC_DIR = '/etc/corosync' SERVICES = ['pacemaker_remote', 'pcsd'] PACKAGES = ['pacemaker-remote', 'pcs', 'resource-agents', 'corosync'] @@ -65,8 +64,8 @@ def install(): @reactive.when('endpoint.pacemaker-remote.joined') def publish_stonith_info(): """Provide remote hacluster with info for including remote in cluster""" - remote_hostname = charmhelpers.contrib.network.ip.get_hostname( - hookenv.unit_get('private-address')) + remote_ip = hookenv.network_get_primary_address('pacemaker-remote') + remote_hostname = socket.gethostname() if hookenv.config('enable-stonith'): stonith_hostname = remote_hostname else: @@ -75,6 +74,7 @@ def publish_stonith_info(): 'endpoint.pacemaker-remote.joined') remote.publish_info( remote_hostname=remote_hostname, + remote_ip=remote_ip, enable_resources=hookenv.config('enable-resources'), stonith_hostname=stonith_hostname) diff --git a/tox.ini b/tox.ini index 8d28592..758b643 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,7 @@ # within individual charm repos. [tox] skipsdist = True -envlist = pep8,py3 +envlist = pep8,py3.5 [testenv] setenv = VIRTUAL_ENV={envdir} @@ -31,8 +31,8 @@ basepython = python2.7 whitelist_externals = true commands = true -[testenv:py3] -basepython = python3 +[testenv:py3.5] +basepython = python3.5 deps = -r{toxinidir}/test-requirements.txt commands = stestr run {posargs} diff --git a/unit_tests/test_pacemaker_remote_handlers.py b/unit_tests/test_pacemaker_remote_handlers.py index 197d6e8..296f685 100644 --- a/unit_tests/test_pacemaker_remote_handlers.py +++ b/unit_tests/test_pacemaker_remote_handlers.py @@ -142,13 +142,13 @@ class TestPAcemakerRemoteHandlers(unittest.TestCase): self.wipe_corosync_state.assert_called_once_with() def test_publish_stonith_info(self): - self.patch(handlers.charmhelpers.contrib.network.ip, 'get_hostname') + self.patch(handlers.socket, 'gethostname') + self.patch(handlers.hookenv, 'network_get_primary_address') self.patch(handlers.hookenv, 'status_set') self.patch(handlers.hookenv, 'config') - self.patch(handlers.hookenv, 'unit_get') self.patch(handlers.reactive, 'endpoint_from_flag') - self.unit_get.return_value = '10.0.0.10' - self.get_hostname.return_value = 'myhost.maas' + self.gethostname.return_value = 'myhost.maas' + self.network_get_primary_address.return_value = '10.0.0.10' cfg = { 'enable-stonith': True, 'enable-resources': True} @@ -158,17 +158,18 @@ class TestPAcemakerRemoteHandlers(unittest.TestCase): handlers.publish_stonith_info() endpoint_mock.publish_info.assert_called_once_with( enable_resources=True, + remote_ip='10.0.0.10', remote_hostname='myhost.maas', stonith_hostname='myhost.maas') def test_publish_stonith_info_all_off(self): - self.patch(handlers.charmhelpers.contrib.network.ip, 'get_hostname') + self.patch(handlers.socket, 'gethostname') + self.patch(handlers.hookenv, 'network_get_primary_address') self.patch(handlers.hookenv, 'status_set') self.patch(handlers.hookenv, 'config') - self.patch(handlers.hookenv, 'unit_get') self.patch(handlers.reactive, 'endpoint_from_flag') - self.unit_get.return_value = '10.0.0.10' - self.get_hostname.return_value = 'myhost.maas' + self.gethostname.return_value = 'myhost.maas' + self.network_get_primary_address.return_value = '10.0.0.10' cfg = { 'enable-stonith': False, 'enable-resources': False} @@ -178,6 +179,7 @@ class TestPAcemakerRemoteHandlers(unittest.TestCase): handlers.publish_stonith_info() endpoint_mock.publish_info.assert_called_once_with( enable_resources=False, + remote_ip='10.0.0.10', remote_hostname='myhost.maas', stonith_hostname=None)