A method for upgrading one or more of add-on firmware and disk firmware for a server being connected to a production network for interacting with a DHCP server of the production network, the method characterized by: Generating, by a management node, an isolated network being separated from the production network between the server, a switch, a management node and a PXE boot server by configuring the switch; initiating, by the management node, a docker container for the PXE boot server with a selected server unique NIC MAC registered on the PXE boot server; connecting a port of the server to the isolated network; caching (223 - 226) onto cache memory of the server, an operating system received through the isolated network; booting the operating system on the server from the cache memory by reconfiguring, by the management node, the boot sequence on the server and initiating a reboot to let the server boot up with a customized PXE-LiveOS; collecting, by the management node, a process of collecting hardware information on the server and starting a corresponding add-on cards/disk firmware update process by conducting (227; 228) a Network File System, NFS, mount on the server to determine hardware information associated with the upgrading of the one or more of the add-on firmware and the disk firmware comprising information regarding the type of add-on card in the server, the type of disk drives, the type of servers, the server configuration or the slots in the server, wherein the management node collects the hardware information and determines which version of firmware is to be used for the update; upgrading (229 - 231) the one or more of the add-on firmware and the disk firmware based on the hardware information comprising comparing the hardware information with a previous bundle of the one or more of the add-on firmware and the disk firmware provided by a deployment manager; and upon completion of the upgrading process, rebooting, by the management node, the server with the original boot sequence and restoring the network configuration on associated switch ports of the switch which were configured in the isolated network. Generating, by a management node, an isolated network being separated from the production network between the server, a switch, a management node and a PXE boot server by configuring the switch; initiating, by the management node, a docker container for the PXE boot server with a selected server unique NIC MAC registered on the PXE boot server; connecting a port of the server to the isolated network; caching (223 - 226) onto cache memory of the server, an operating system received through the isolated network; booting the operating system on the server from the cache memory by reconfiguring, by the management node, the boot sequence on the server and initiating a reboot to let the server boot up with a customized PXE-LiveOS; collecting, by the management node, a process of collecting hardware information on the server and starting a corresponding add-on cards/disk firmware update process by conducting (227; 228) a Network File System, NFS, mount on the server to determine hardware information associated with the upgrading of the one or more of the add-on firmware and the disk firmware comprising information regarding the type of add-on card in the server, the type of disk drives, the type of servers, the server configuration or the slots in the server, wherein the management node collects the hardware information and determines which version of firmware is to be used for the update; upgrading (229 - 231) the one or more of the add-on firmware and the disk firmware based on the hardware information comprising comparing the hardware information with a previous bundle of the one or more of the add-on firmware and the disk firmware provided by a deployment manager; and upon completion of the upgrading process, rebooting, by the management node, the server with the original boot sequence and restoring the network configuration on associated switch ports of the switch which were configured in the isolated network.