This week I discovered very weird bug in the POWER8 firmware. With this bug it is possible to use entire server capacity without paying processor activation to IBM. On the Enterprise Server models, processors are activated via processor core activation license. For instance, you can buy MME model with 40 CPU installed, but only 8 will be available for use. This was always protected by the server firmware. The firmware didn’t allow to assign/start the Lpar if the entitled capacity exceed the number activated cores. Apparently in the latest POWER8 firmware 860.xx IBM got a bug which allows to assign any number of the processor to the processor pool. In another words, a server may have activated 8 cores only but it is possible to run a workload with the physical instaledl capacity. The firmware does not check what is licensed. Pretty big, right ? For the first time I see a bug which affects IBM charges more than users.
This bug is fixed in the latest firmware release from March 2017 with following description.
On systems using PowerVM firmware, a problem was fixed for a group of shared processor partitions being able to exceed the designated capacity placed on a shared processor pool. This error can be triggered by using the DLPAR move function for the shared processor partitions, if the pool has already reached its maximum specified capacity. To prevent this problem from occurring when making DLPAR changes when the pool is at the maximum capacity, do not use the DLPAR move operation but instead break it into two steps: DLPAR remove followed by DLPAR add. This gives enough time for the DLPAR remove to be fully completed prior to starting the DLPAR add request.
I’m pretty sure that IBM tracks how many CPU being actively use by a customer. So, if someone assigned more CPUs to his workload what is eligible for, it can be very expensive mistake.