Several days after a massive firefight for the Donetsk airport left the structure terminally ruined, and the Ukraine army, which until that moment had held on to its last remaining outpost in the east Ukraine city, promptly abandoned the premises, and two days after at least seven civilians died in a bus which was shelled in the same city by what the separatists claim were the Ukraine forces, the pro-Russian separatists yesterday announced they had launched "a new multipronged offensive against Ukrainian government troops."

As AP reported yesterday, the main separatist leader in the rebellious Donetsk region vowed to push Ukrainian soldiers out of the area and said insurgents would not take part in any more cease-fire talks. Another rebel went even further, saying they would not abide by a peace deal signed in September. Separatist leader Alexander Zakharchenko said rebel fighters went on the offensive to gain more territory and forestall a Ukrainian attack. He declared they would push government troops to the border of the Donetsk region and possibly beyond.

Which, according to the latest news, is precisely what they have done. As AP followed up, indiscriminate rocket fire slammed into a market, schools and homes Saturday in the eastern Ukrainian city of Mariupol, killing at least 21 people, authorities said. Ukraine's top rebel leader announced that an offensive had begun on the strategically important port.

The latest photos from Mariupol confirm the attack:

As a reminder, Mariupol is a critical town, and the last remaining major Ukraine outpost on the Azov Sea, between Russia and the Crimea which Russia took control over last spring.

The Russian RIA Novosti news agency cited eastern Ukrainian rebel leader Alexander Zakharchenko as saying an offensive has begun on Mariupol. He spoke Saturday as he laid a wreath at the site where at least eight civilians died when a bus stop was shelled in Donetsk, the largest rebel-held city in eastern Ukraine.

AP adds that tebel forces have positions within 10 kilometers (six miles) from Mariupol's eastern outskirts.

The Defense Ministry said in a statement there were three separate strikes from Grad multiple rocket launchers on Mariupol and surrounding areas. "The area that came under attack was massive," Mariupol mayor Yuriy Khotlubei said in a video statement. "The shelling was carried out by militants. This is very clearly Russian aggression that has caused terrible losses for the residents of the eastern part of our city." The Donetsk region prosecutor's office said in a mid-afternoon statement that 21 people had been killed. Defense and police officials said rockets struck homes, a kindergarten, a market and shops. There was no immediate report of how many people died in various locations. A Ukrainian military checkpoint on a road leading out of the city toward rebel-held areas was also hit and one serviceman was killed, the Defense Ministry said.

The Mariupol city council denied the report that a separatist incursion was imminent and urged residents not to panic and to ignore rumors that Ukrainian armed forces were planning to withdraw.

"On the contrary, all units are on fully battle-ready. Security measures in the city have been strengthened," the council said in a statement. No armed separatist units have been noted moving toward the city, the statement added. The U.N. human rights agency on Friday raised its estimate of the conflict's overall death toll to nearly 5,100 since April. On Thursday, mortars rained down on the center of the separatist stronghold of Donetsk, hitting a bus and killing several bystanders. Rebel officials said 13 were killed in that attack. Monitors from the Organization for Security and Cooperation in Europe cited city morgue officials as saying they have received eight bodies. The OSCE's special monitoring mission (SMM) in east Ukraine on Saturday expressed concern over the growing number of civilian casualties and called for restraint from all sides. "The SMM strongly condemns the continuation of the fighting in residential areas. Using residential areas as firing positions attracts counter-firing to these areas, further endangering the lives of civilians," the mission said in a statement.

About an hour ago, the European Union was quick to condemn that separatist attack on Mariupol, having said nothing at all for months over the comparable shelling, and arbitrary slaughter of citizens in separatist-controlled Donetsk. The EU's kneejerk assessment: it's Russia's fault - "I call therefore openly upon Russia to use its considerable influence over separatist leaders and to stop any form of military, political or financial support." The full statement below:

Statement by High Representative/Vice-President Federica Mogherini on the attack on Mariupol Residential areas of the city of Mariupol have been fired upon today from separatist held territory, which has cost the lives of at least fifteen civilians, wounding many others and terrorising the innocent population. This comes after a series of indiscriminate attacks in the Donbas in the past few days, accompanied by the announcements of further offensives by Russia-backed separatists, who bluntly refuse to observe the cease fire. This further escalation of the open armed conflict has tragic consequences for a population greatly suffering already for far too long. It would inevitably lead to a further grave deterioration of relations between the EU and Russia. I call therefore openly upon Russia to use its considerable influence over separatist leaders and to stop any form of military, political or financial support. This would prevent disastrous consequences for all. Those responsible for the escalation must stop their hostile actions and live up to their commitments.

Below is a clip of what residents in the Vostochniy district of Mariupol woke up to on Saturday morning after at least least three suspected Grad rockets struck the eastern part of the city. The shelling hit a residential area, with houses and a nearby market struck in the process.

And just like that the Ukraine civil war is right back front and center, and is sure to add a level of volatility to everything else that is already taking place.