diff --git a/hooks/charmhelpers/contrib/openstack/deferred_events.py b/hooks/charmhelpers/contrib/openstack/deferred_events.py index fd073a0..8765ee3 100644 --- a/hooks/charmhelpers/contrib/openstack/deferred_events.py +++ b/hooks/charmhelpers/contrib/openstack/deferred_events.py @@ -46,9 +46,13 @@ class ServiceEvent(): self.service = service self.reason = reason self.action = action - if not policy_requestor_name: + if policy_requestor_name: + self.policy_requestor_name = policy_requestor_name + else: self.policy_requestor_name = hookenv.service_name() - if not policy_requestor_type: + if policy_requestor_type: + self.policy_requestor_type = policy_requestor_type + else: self.policy_requestor_type = 'charm' def __eq__(self, other): @@ -99,7 +103,9 @@ def read_event_file(file_name): contents['timestamp'], contents['service'], contents['reason'], - contents['action']) + contents['action'], + policy_requestor_name=contents.get('policy_requestor_name'), + policy_requestor_type=contents.get('policy_requestor_type')) return event diff --git a/hooks/charmhelpers/contrib/openstack/utils.py b/hooks/charmhelpers/contrib/openstack/utils.py index 2ad8ab9..1656bd4 100644 --- a/hooks/charmhelpers/contrib/openstack/utils.py +++ b/hooks/charmhelpers/contrib/openstack/utils.py @@ -56,6 +56,7 @@ from charmhelpers.core.hookenv import ( relation_id, relation_ids, relation_set, + service_name as ch_service_name, status_set, hook_name, application_version_set, @@ -1089,8 +1090,12 @@ def _determine_os_workload_status( try: if config(POLICYD_CONFIG_NAME): message = "{} {}".format(policyd_status_message_prefix(), message) + # Get deferred restarts events that have been triggered by a policy + # written by this charm. deferred_restarts = list(set( - [e.service for e in deferred_events.get_deferred_restarts()])) + [e.service + for e in deferred_events.get_deferred_restarts() + if e.policy_requestor_name == ch_service_name()])) if deferred_restarts: svc_msg = "Services queued for restart: {}".format( ', '.join(sorted(deferred_restarts))) diff --git a/hooks/charmhelpers/fetch/ubuntu.py b/hooks/charmhelpers/fetch/ubuntu.py index b38edcc..812a11a 100644 --- a/hooks/charmhelpers/fetch/ubuntu.py +++ b/hooks/charmhelpers/fetch/ubuntu.py @@ -658,17 +658,11 @@ def _add_apt_repository(spec): :param spec: the parameter to pass to add_apt_repository :type spec: str """ - series = get_distrib_codename() if '{series}' in spec: + series = get_distrib_codename() spec = spec.replace('{series}', series) - # software-properties package for bionic properly reacts to proxy settings - # set via apt.conf (see lp:1433761), however this is not the case for LTS - # and non-LTS releases before bionic. - if series in ('trusty', 'xenial'): - _run_with_retries(['add-apt-repository', '--yes', spec], - cmd_env=env_proxy_settings(['https', 'http'])) - else: - _run_with_retries(['add-apt-repository', '--yes', spec]) + _run_with_retries(['add-apt-repository', '--yes', spec], + cmd_env=env_proxy_settings(['https', 'http'])) def _add_cloud_pocket(pocket):