Skip to content

Commit 859863d

Browse files
committed
Also fetch certs on types.SenderStatusCertInvalid
Signed-off-by: eriknordmark <erik@zededa.com> Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
1 parent ad328cb commit 859863d

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

pkg/pillar/cmd/zedagent/handleconfig.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,12 @@ func getLatestConfig(getconfigCtx *getconfigContext, url string,
492492
log.Errorf("getLatestConfig failed: %s", err)
493493
}
494494
switch senderStatus {
495-
case types.SenderStatusUpgrade, types.SenderStatusRefused, types.SenderStatusCertInvalid, types.SenderStatusNotFound:
495+
case types.SenderStatusCertInvalid:
496+
// trigger to acquire new controller certs from cloud
497+
log.Noticef("%s trigger", senderStatus.String())
498+
triggerControllerCertEvent(ctx)
499+
fallthrough
500+
case types.SenderStatusUpgrade, types.SenderStatusRefused, types.SenderStatusNotFound:
496501
newCount = types.LedBlinkConnectedToController // Almost connected to controller!
497502
// Don't treat as upgrade failure
498503
if getconfigCtx.updateInprogress {
@@ -501,7 +506,7 @@ func getLatestConfig(getconfigCtx *getconfigContext, url string,
501506
}
502507
case types.SenderStatusCertMiss:
503508
// trigger to acquire new controller certs from cloud
504-
log.Noticef("SenderStatusCertMiss trigger")
509+
log.Noticef("%s trigger", senderStatus.String())
505510
triggerControllerCertEvent(ctx)
506511
}
507512
if getconfigCtx.ledBlinkCount == types.LedBlinkOnboarded {
@@ -585,9 +590,10 @@ func getLatestConfig(getconfigCtx *getconfigContext, url string,
585590
url, contents, false, senderStatus)
586591
if err != nil {
587592
log.Errorf("RemoveAndVerifyAuthContainer failed: %s", err)
588-
if rv.Status == types.SenderStatusCertMiss {
593+
switch senderStatus {
594+
case types.SenderStatusCertMiss, types.SenderStatusCertInvalid:
589595
// trigger to acquire new controller certs from cloud
590-
log.Noticef("SenderStatusCertMiss trigger")
596+
log.Noticef("%s trigger", senderStatus.String())
591597
triggerControllerCertEvent(ctx)
592598
}
593599
// Inform ledmanager about problem

pkg/pillar/types/global.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,42 @@ const (
3333
SenderStatusDebug // Not a failure
3434
)
3535

36+
// String prints ASCII
37+
func (status SenderResult) String() string {
38+
switch status {
39+
case SenderStatusNone:
40+
return "SenderStatusNone"
41+
case SenderStatusRefused:
42+
return "SenderStatusRefused"
43+
case SenderStatusUpgrade:
44+
return "SenderStatusUpgrade"
45+
case SenderStatusCertInvalid:
46+
return "SenderStatusCertInvalid"
47+
case SenderStatusCertMiss:
48+
return "SenderStatusCertMiss"
49+
case SenderStatusSignVerifyFail:
50+
return "SenderStatusSignVerifyFail"
51+
case SenderStatusAlgoFail:
52+
return "SenderStatusAlgoFail"
53+
case SenderStatusHashSizeError:
54+
return "SenderStatusHashSizeError"
55+
case SenderStatusCertUnknownAuthority:
56+
return "SenderStatusCertUnknownAuthority"
57+
case SenderStatusCertUnknownAuthorityProxy:
58+
return "SenderStatusCertUnknownAuthorityProxy"
59+
case SenderStatusNotFound:
60+
return "SenderStatusNotFound"
61+
case SenderStatusForbidden:
62+
return "SenderStatusForbidden"
63+
case SenderStatusFailed:
64+
return "SenderStatusFailed"
65+
case SenderStatusDebug:
66+
return "SenderStatusDebug"
67+
default:
68+
return fmt.Sprintf("Unknown status %d", status)
69+
}
70+
}
71+
3672
const (
3773
// MinuteInSec is number of seconds in a minute
3874
MinuteInSec = 60

0 commit comments

Comments
 (0)