114
122
// PerformUpgrade runs the business logic needed to upgrade the current "from" version to this
115
123
// version of Juju on the "target" type of machine.
117
125
// If from is not known, it is 1.16.
118
126
if from == version.Zero {
119
127
from = version.MustParse("1.16.0")
121
129
for _, upgradeOps := range upgradeOperations() {
122
131
// Do not run steps for versions of Juju earlier or same as we are upgrading from.
126
139
if err := runUpgradeSteps(context, target, upgradeOps); err != nil {