-
Notifications
You must be signed in to change notification settings - Fork 145
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(node): rename the node.Status.Condition
Rename the node.Status.Condition `NodeConditionTypeRequiredPackages` to be `NodeConditionTypePackagesInstalled` ref: longhorn/longhorn 9017 Signed-off-by: James Lu <james.lu@suse.com>
- Loading branch information
1 parent
f4f37b9
commit 1062709
Showing
5 changed files
with
85 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package v17xto180 | ||
|
||
import ( | ||
"github.com/pkg/errors" | ||
|
||
apierrors "k8s.io/apimachinery/pkg/api/errors" | ||
clientset "k8s.io/client-go/kubernetes" | ||
|
||
lhclientset "github.com/longhorn/longhorn-manager/k8s/pkg/client/clientset/versioned" | ||
upgradeutil "github.com/longhorn/longhorn-manager/upgrade/util" | ||
|
||
longhorn "github.com/longhorn/longhorn-manager/k8s/pkg/apis/longhorn/v1beta2" | ||
) | ||
|
||
const ( | ||
upgradeLogPrefix = "upgrade from v1.7.x to v1.8.0: " | ||
) | ||
|
||
func UpgradeResources(namespace string, lhClient *lhclientset.Clientset, kubeClient *clientset.Clientset, resourceMaps map[string]interface{}) error { | ||
// We will probably need to upgrade other resources as well. See upgradeReplicas or previous Longhorn versions for | ||
// examples. | ||
return nil | ||
} | ||
|
||
func UpgradeResourcesStatus(namespace string, lhClient *lhclientset.Clientset, kubeClient *clientset.Clientset, resourceMaps map[string]interface{}) error { | ||
// We will probably need to upgrade other resource status as well. See upgradeEngineStatus or previous Longhorn | ||
// versions for examples. | ||
return upgradeNodesStatus(namespace, lhClient, resourceMaps) | ||
} | ||
|
||
func upgradeNodesStatus(namespace string, lhClient *lhclientset.Clientset, resourceMaps map[string]interface{}) (err error) { | ||
defer func() { | ||
err = errors.Wrapf(err, upgradeLogPrefix+"upgrade nodes failed") | ||
}() | ||
|
||
nodeMap, err := upgradeutil.ListAndUpdateNodesInProvidedCache(namespace, lhClient, resourceMaps) | ||
if err != nil { | ||
if apierrors.IsNotFound(err) { | ||
return nil | ||
} | ||
return errors.Wrapf(err, "failed to list all existing Longhorn nodes during the node status upgrade") | ||
} | ||
|
||
renameConditionName := "RequiredPackages" | ||
for _, node := range nodeMap { | ||
for i := range node.Status.Conditions { | ||
if node.Status.Conditions[i].Type == renameConditionName { | ||
node.Status.Conditions[i].Type = longhorn.NodeConditionTypePackagesInstalled | ||
break | ||
} | ||
} | ||
} | ||
|
||
return nil | ||
} |