1. A method comprising: initiating a supervisor on at least one node among a cluster of nodes, wherein the cluster of nodes operate to provide a distributed file system; initiating an agent on each node in the cluster of nodes, wherein the agent is responsive to commands issued by the supervisor; establishing a set of hooks, wherein hooks in the set of hooks are node class hooks or cluster class hooks; executing a set of hook executables associated with a pre upgrade hook, wherein the pre upgrade hook is a cluster class hook; iteratively instructing the agent for each node in the cluster of nodes to complete a sequential upgrade process, where the sequential upgrade process includes: marking a tracking state associated with the node as upgrading; installing new operating system software on the node; executing the set of hook executables associated with a pending reboot hook, wherein the pending reboot hook is a node class hook; executing the set of hook executables associated with a data migration upgrade hook, wherein the data migration upgrade hook is a node class hook; rebooting the node; executing the set of hook executables associated with a upgrade post reboot initial hook, wherein the upgrade post reboot initial hook is a node class hook; executing the set of hook executables associated with a upgrade post reboot final hook, wherein the upgrade post reboot final hook is a node class hook; and marking the tracking state associated with the node as upgraded; and in response to each node in the cluster of nodes being marked with the tracking state of upgraded, executing the set of hook executables associated with a last node post upgrade hook, wherein the last node post upgrade hook is a cluster class hook.