A technique for updating elements in a data storage facility, including a
single server or a multi-server system, such as by providing updated
internal code packages to the elements. The update is performed using a
fixed state machine, where the elements are updated in a coordinated
manner within the constraints of the state machine. In a multi-server
device, the code packages are distributed to elements associated with the
different servers in one traversal of the state machine, during
distribute states of the state machine. The distributed code packages are
activated in activate states of the state machine in one traversal of the
state machine, so there is parallel activation. The code packages can be
grouped in a flexible way by configuring an external update bundle used
by the state machine. The distributing of the code is based on the
grouping.