2019-06-04 06:30:25 |
Thomas Cuthbert |
bug |
|
|
added bug |
2019-06-04 06:34:46 |
Thomas Cuthbert |
bug task added |
|
charm-kubernetes-worker |
|
2019-06-04 06:38:42 |
Thomas Cuthbert |
description |
The kubernetes master and worker charm both have an import error bug that impacts charm upgrades.
# contents of reactive/kubernetes_master_worker_base.py
@when_any('kubernetes-master.snaps.installed',
'kubernetes-worker.snaps.installed')
@when('snap.refresh.set')
@when('leadership.is_leader')
def process_snapd_timer():
''' Set the snapd refresh timer on the leader so all cluster members
(present and future) will refresh near the same time. '''
# Get the current snapd refresh timer; we know layer-snap has set this
# when the 'snap.refresh.set' flag is present.
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
if not timer:
# The core snap timer is empty. This likely means a subordinate timer
# reset ours. Try to set it back to a previously leader-set value,
# falling back to config if needed. Luckily, this should only happen
# during subordinate install, so this should remain stable afterward.
timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh')
snap.set_refresh_timer(timer)
# Ensure we have the timer known by snapd (it may differ from config).
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
# The first time through, data_changed will be true. Subsequent calls
# should only update leader data if something changed.
if data_changed('snapd_refresh', timer):
hookenv.log('setting leader snapd_refresh timer to: {}'.format(timer))
leadership.leader_set({'snapd_refresh': timer}) |
The kubernetes master and worker charm both have an import error bug that impacts charm upgrades.
# contents of reactive/kubernetes_master_worker_base.py
from charms import leadership
[...]
@when_any('kubernetes-master.snaps.installed',
'kubernetes-worker.snaps.installed')
@when('snap.refresh.set')
@when('leadership.is_leader')
def process_snapd_timer():
''' Set the snapd refresh timer on the leader so all cluster members
(present and future) will refresh near the same time. '''
# Get the current snapd refresh timer; we know layer-snap has set this
# when the 'snap.refresh.set' flag is present.
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
if not timer:
# The core snap timer is empty. This likely means a subordinate timer
# reset ours. Try to set it back to a previously leader-set value,
# falling back to config if needed. Luckily, this should only happen
# during subordinate install, so this should remain stable afterward.
timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh')
snap.set_refresh_timer(timer)
# Ensure we have the timer known by snapd (it may differ from config).
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
# The first time through, data_changed will be true. Subsequent calls
# should only update leader data if something changed.
if data_changed('snapd_refresh', timer):
hookenv.log('setting leader snapd_refresh timer to: {}'.format(timer))
leadership.leader_set({'snapd_refresh': timer}) |
|
2019-06-04 06:58:30 |
Thomas Cuthbert |
description |
The kubernetes master and worker charm both have an import error bug that impacts charm upgrades.
# contents of reactive/kubernetes_master_worker_base.py
from charms import leadership
[...]
@when_any('kubernetes-master.snaps.installed',
'kubernetes-worker.snaps.installed')
@when('snap.refresh.set')
@when('leadership.is_leader')
def process_snapd_timer():
''' Set the snapd refresh timer on the leader so all cluster members
(present and future) will refresh near the same time. '''
# Get the current snapd refresh timer; we know layer-snap has set this
# when the 'snap.refresh.set' flag is present.
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
if not timer:
# The core snap timer is empty. This likely means a subordinate timer
# reset ours. Try to set it back to a previously leader-set value,
# falling back to config if needed. Luckily, this should only happen
# during subordinate install, so this should remain stable afterward.
timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh')
snap.set_refresh_timer(timer)
# Ensure we have the timer known by snapd (it may differ from config).
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
# The first time through, data_changed will be true. Subsequent calls
# should only update leader data if something changed.
if data_changed('snapd_refresh', timer):
hookenv.log('setting leader snapd_refresh timer to: {}'.format(timer))
leadership.leader_set({'snapd_refresh': timer}) |
The kubernetes master and worker charm both have an import error bug that impacts charm upgrades.
# contents of reactive/kubernetes_master_worker_base.py
from charms import leadership
[...]
@when_any('kubernetes-master.snaps.installed',
'kubernetes-worker.snaps.installed')
@when('snap.refresh.set')
@when('leadership.is_leader')
def process_snapd_timer():
''' Set the snapd refresh timer on the leader so all cluster members
(present and future) will refresh near the same time. '''
# Get the current snapd refresh timer; we know layer-snap has set this
# when the 'snap.refresh.set' flag is present.
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
if not timer:
# The core snap timer is empty. This likely means a subordinate timer
# reset ours. Try to set it back to a previously leader-set value,
# falling back to config if needed. Luckily, this should only happen
# during subordinate install, so this should remain stable afterward.
timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh')
snap.set_refresh_timer(timer)
# Ensure we have the timer known by snapd (it may differ from config).
timer = snap.get(
snapname='core', key='refresh.timer').decode('utf-8').strip()
# The first time through, data_changed will be true. Subsequent calls
# should only update leader data if something changed.
if data_changed('snapd_refresh', timer):
hookenv.log('setting leader snapd_refresh timer to: {}'.format(timer))
leadership.leader_set({'snapd_refresh': timer})
# Juju logs
$ grep leader_get /var/log/juju/unit-kubernetes-worker-24.log
timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh')
NameError: name 'leader_get' is not defined
2019-06-03 13:55:47 DEBUG upgrade-charm timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh')
2019-06-03 13:55:47 DEBUG upgrade-charm NameError: name 'leader_get' is not defined
timer = leader_get('snapd_refresh') or hookenv.config('snapd_refresh') |
|
2019-06-04 08:23:18 |
James Troup |
bug |
|
|
added subscriber Canonical Field Critical |
2019-06-04 08:23:33 |
Tom Haddon |
bug |
|
|
added subscriber The Canonical Sysadmins |
2019-06-04 13:42:18 |
George Kraft |
charm-kubernetes-master: assignee |
|
George Kraft (cynerva) |
|
2019-06-04 13:42:39 |
George Kraft |
charm-kubernetes-worker: assignee |
|
George Kraft (cynerva) |
|
2019-06-04 13:42:47 |
George Kraft |
charm-kubernetes-master: importance |
Undecided |
Critical |
|
2019-06-04 13:42:50 |
George Kraft |
charm-kubernetes-worker: importance |
Undecided |
Critical |
|
2019-06-04 13:42:55 |
George Kraft |
charm-kubernetes-master: status |
New |
In Progress |
|
2019-06-04 13:42:58 |
George Kraft |
charm-kubernetes-worker: status |
New |
In Progress |
|
2019-06-04 14:26:39 |
George Kraft |
charm-kubernetes-master: status |
In Progress |
Fix Committed |
|
2019-06-04 14:26:42 |
George Kraft |
charm-kubernetes-worker: status |
In Progress |
Fix Committed |
|
2019-06-06 17:05:24 |
George Kraft |
charm-kubernetes-master: status |
Fix Committed |
Fix Released |
|
2019-06-06 17:05:27 |
George Kraft |
charm-kubernetes-worker: status |
Fix Committed |
Fix Released |
|