c-h sync - restore proxy env vars for add-apt-repository

Change-Id: Ia878f5cce4117f1d7e22e75bfa8988e4602518dc
Co-authored-by: Aurelien Lourot <aurelien.lourot@canonical.com>
This commit is contained in:
Corey Bryant 2021-07-02 13:03:57 -04:00 committed by Aurelien Lourot
parent 23637ab0f3
commit cf110e5837
4 changed files with 30 additions and 14 deletions

View File

@ -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

View File

@ -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)))

View File

@ -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):

View File

@ -1,4 +1,15 @@
- project:
templates:
- charm-unit-jobs
- charm-functional-jobs
check:
# NOTE(lourot): overriding zOSCI's default list because Wallaby+ bundles
# don't exist yet in this branch of the charm.
jobs:
- xenial-mitaka
- bionic-queens
- bionic-stein
- bionic-train
- bionic-ussuri
- focal-ussuri
- focal-victoria
- groovy-victoria