The England international picked up a minor injury away to Aston Villa and missed the trip to Sevilla last week.
But he is back and training and available for tomorrow’s game – though Kyle Walker remains side-lined.
“John is training, but Kyle isn’t,” said Pep.
“John is fit and good.”
There was more good news earlier this week with the return of Aymeric Laporte who returned to full training.
The Spain international has missed all pre-season and our first seven games, but his progress has delighted the City boss – though he will most likely wait until after the international break before using Laporte.
Asked if he may make the bench for the Dortmund clash, Guardiola said: “I don’t think so, but we will see.
“It was his first training session (yesterday) but he looked good.
“Yesterday was partial, today was complete and he moved really well.
“I spoke to the doctor and in general he is going really well
“After the international break, he will be ready for us to think about using him.”