President Trump has moved up the exit of his outgoing defense secretary Jim Mattis, and named Patrick Shanahan as the acting defense secretary.