also fix nil panic in lease and add tests for #84729

Kubernetes-commit: 7907b29551c7ef87bbe398ac02836b4c87246d3d
This commit is contained in:
Mike Danese
2019-11-04 10:40:48 -08:00
committed by Kubernetes Publisher
parent 93a8bb4af0
commit d46fe40533
2 changed files with 69 additions and 49 deletions

View File

@@ -96,25 +96,24 @@ func (ll *LeaseLock) Identity() string {
}
func LeaseSpecToLeaderElectionRecord(spec *coordinationv1.LeaseSpec) *LeaderElectionRecord {
holderIdentity := ""
var r LeaderElectionRecord
if spec.HolderIdentity != nil {
holderIdentity = *spec.HolderIdentity
r.HolderIdentity = *spec.HolderIdentity
}
leaseDurationSeconds := 0
if spec.LeaseDurationSeconds != nil {
leaseDurationSeconds = int(*spec.LeaseDurationSeconds)
r.LeaseDurationSeconds = int(*spec.LeaseDurationSeconds)
}
leaseTransitions := 0
if spec.LeaseTransitions != nil {
leaseTransitions = int(*spec.LeaseTransitions)
r.LeaderTransitions = int(*spec.LeaseTransitions)
}
return &LeaderElectionRecord{
HolderIdentity: holderIdentity,
LeaseDurationSeconds: leaseDurationSeconds,
AcquireTime: metav1.Time{spec.AcquireTime.Time},
RenewTime: metav1.Time{spec.RenewTime.Time},
LeaderTransitions: leaseTransitions,
if spec.AcquireTime != nil {
r.AcquireTime = metav1.Time{spec.AcquireTime.Time}
}
if spec.RenewTime != nil {
r.RenewTime = metav1.Time{spec.RenewTime.Time}
}
return &r
}
func LeaderElectionRecordToLeaseSpec(ler *LeaderElectionRecord) coordinationv1.LeaseSpec {