An Afghan soldier opened fire on NATO troops at a military academy on the outskirts of Kabul on Tuesday, officials said, though they were unable to immediately confirm casualty details.