Nobody in power surrendered. Dragon fire was going off because troops entered the city. They entered the city to fight Cersei's army and to kill Cersei. You could re-write the entire series and eliminate all the stupid decisions that lead to this, but those people were dead. Cersei would not surrender and leave the city and its people - she demonstrated that when she killed all those people a few seasons ago. A little over the top? Sure but fake war in fairy land is hell.