A method comprising: setting up a network with a virtualized Offline Charging System, OFCS, that includes a pool of virtualized Charging Collection Functions, vCCFs, wherein the pool includes a skeletal vCCF that is pre-provisioned to communicate with Charging Trigger Functions, CTFs, and pre-provisioned in a Domain Name System, DNS, server with a DNS resource record having a priority set so that the skeletal vCCF is selected last among the vCCFs in the pool by the CTFs for accounting sessions, wherein the skeletal vCCF is a vCCF that is not enabled to process or handle Accounting Request commands from the CTFs; identifying a software upgrade for the virtualized OFCS; and initiating an upgrade process to install the software upgrade, wherein the upgrade process includes the iterative steps of: identifying the skeletal vCCF; installing the software upgrade in the skeletal vCCF; communicating with the DNS server to modify the priority in the DNS resource record for the skeletal vCCF to equal at least one of the other vCCFs in the pool; designating an antiquated vCCF in the pool as the skeletal vCCF, wherein the antiquated vCCF is a vCCF having an old version of the software; draining the accounting sessions from the skeletal vCCF such that the skeletal vCCF processes the accounting sessions that it is currently handling to completion and does not accept new accounting sessions; and communicating with the DNS server to set a priority in the DNS resource record for the skeletal vCCF so that the skeletal vCCF is selected last among the vCCFs in the pool by the CTFs for accounting sessions; and repeating the upgrade process if antiquated vCCF(s) remain in the pool. setting up a network with a virtualized Offline Charging System, OFCS, that includes a pool of virtualized Charging Collection Functions, vCCFs, wherein the pool includes a skeletal vCCF that is pre-provisioned to communicate with Charging Trigger Functions, CTFs, and pre-provisioned in a Domain Name System, DNS, server with a DNS resource record having a priority set so that the skeletal vCCF is selected last among the vCCFs in the pool by the CTFs for accounting sessions, wherein the skeletal vCCF is a vCCF that is not enabled to process or handle Accounting Request commands from the CTFs; identifying a software upgrade for the virtualized OFCS; and initiating an upgrade process to install the software upgrade, wherein the upgrade process includes the iterative steps of: identifying the skeletal vCCF; installing the software upgrade in the skeletal vCCF; communicating with the DNS server to modify the priority in the DNS resource record for the skeletal vCCF to equal at least one of the other vCCFs in the pool; designating an antiquated vCCF in the pool as the skeletal vCCF, identifying the skeletal vCCF; installing the software upgrade in the skeletal vCCF; communicating with the DNS server to modify the priority in the DNS resource record for the skeletal vCCF to equal at least one of the other vCCFs in the pool; designating an antiquated vCCF in the pool as the skeletal vCCF, wherein the antiquated vCCF is a vCCF having an old version of the software; draining the accounting sessions from the skeletal vCCF such that the skeletal vCCF processes the accounting sessions that it is currently handling to completion and does not accept new accounting sessions; and communicating with the DNS server to set a priority in the DNS resource record for the skeletal vCCF so that the skeletal vCCF is selected last among the vCCFs in the pool by the CTFs for accounting sessions; and repeating the upgrade process if antiquated vCCF(s) remain in the pool. draining the accounting sessions from the skeletal vCCF such that the skeletal vCCF processes the accounting sessions that it is currently handling to completion and does not accept new accounting sessions; and communicating with the DNS server to set a priority in the DNS resource record for the skeletal vCCF so that the skeletal vCCF is selected last among the vCCFs in the pool by the CTFs for accounting sessions; and repeating the upgrade process if antiquated vCCF(s) remain in the pool.