Skip to content

Commit

Permalink
Merge pull request #388 from gboutry/fix/scale-down-local
Browse files Browse the repository at this point in the history
Report scale down improvements to local mode
  • Loading branch information
javacruft authored Dec 13, 2024
2 parents 7376e74 + 73392b8 commit e0d2c37
Showing 1 changed file with 58 additions and 22 deletions.
80 changes: 58 additions & 22 deletions sunbeam-python/sunbeam/provider/local/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,20 @@
AddK8SCloudStep,
AddK8SCredentialStep,
AddK8SUnitsStep,
CheckMysqlK8SDistributionStep,
CheckOvnK8SDistributionStep,
CheckRabbitmqK8SDistributionStep,
CordonK8SUnitStep,
DeployK8SApplicationStep,
DrainK8SUnitStep,
MigrateK8SKubeconfigStep,
RemoveK8SUnitsStep,
StoreK8SKubeConfigStep,
UpdateK8SCloudStep,
)
from sunbeam.steps.microceph import (
AddMicrocephUnitsStep,
CheckMicrocephDistributionStep,
ConfigureMicrocephOSDStep,
DeployMicrocephApplicationStep,
RemoveMicrocephUnitsStep,
Expand Down Expand Up @@ -962,42 +970,70 @@ def remove(ctx: click.Context, name: str, force: bool, show_hints: bool) -> None

plan = [
JujuLoginStep(deployment.juju_account),
CheckMicrocephDistributionStep(
client,
name,
jhelper,
deployment.openstack_machines_model,
force=force,
),
CheckMysqlK8SDistributionStep(
client,
name,
jhelper,
deployment.openstack_machines_model,
force=force,
),
CheckOvnK8SDistributionStep(
client,
name,
jhelper,
deployment.openstack_machines_model,
force=force,
),
CheckRabbitmqK8SDistributionStep(
client,
name,
jhelper,
deployment.openstack_machines_model,
force=force,
),
MigrateK8SKubeconfigStep(
client, name, jhelper, deployment.openstack_machines_model
),
UpdateK8SCloudStep(deployment, jhelper),
RemoveHypervisorUnitStep(
client, name, jhelper, deployment.openstack_machines_model, force
),
RemoveMicrocephUnitsStep(
client, name, jhelper, deployment.openstack_machines_model
),
CordonK8SUnitStep(client, name, jhelper, deployment.openstack_machines_model),
DrainK8SUnitStep(client, name, jhelper, deployment.openstack_machines_model),
RemoveK8SUnitsStep(client, name, jhelper, deployment.openstack_machines_model),
RemoveSunbeamMachineUnitsStep(
client, name, jhelper, deployment.openstack_machines_model
),
RemoveJujuMachineStep(
client, name, jhelper, deployment.openstack_machines_model
),
# Cannot remove user as the same user name cannot be resued,
# so commenting the RemoveJujuUserStep
# RemoveJujuUserStep(name),
ClusterRemoveNodeStep(client, name),
]

plan.append(
RemoveK8SUnitsStep(client, name, jhelper, deployment.openstack_machines_model)
)

plan.extend(
[
RemoveMicrocephUnitsStep(
client, name, jhelper, deployment.openstack_machines_model
),
RemoveHypervisorUnitStep(
client, name, jhelper, deployment.openstack_machines_model, force
),
RemoveJujuMachineStep(
client, name, jhelper, deployment.openstack_machines_model
),
# Cannot remove user as the same user name cannot be resued,
# so commenting the RemoveJujuUserStep
# RemoveJujuUserStep(name),
ClusterRemoveNodeStep(client, name),
]
)
run_plan(plan, console, show_hints)
click.echo(f"Removed node {name} from the cluster")
# Removing machine does not clean up all deployed juju components. This is
# deliberate, see https://bugs.launchpad.net/juju/+bug/1851489.
# Without the workaround mentioned in LP#1851489, it is not possible to
# reprovision the machine back.
click.echo(
f"Run command 'sudo /sbin/remove-juju-services' on node {name} "
f"Run command `sudo /sbin/remove-juju-services` on node {name} "
"to reuse the machine."
)
click.echo("Run `sunbeam cluster resize` to scale down the cluster")


@click.command("deployment")
Expand Down

0 comments on commit e0d2c37

Please sign in to comment.