Let $\pi:E \longrightarrow M$ a surjective submersion.
$\pi$ is locally trivial if $\forall p\in M$, $\exists U \ni p$ open neighborhood such that there is a diffeomorphism:
$$ \phi:\pi^{-1}(U)\longrightarrow  U \times \pi^{-1}(p)$$
$$ \text{proj}_2\circ \phi=\pi $$

I read that if $\pi$ is proper then is locally trivial (Ehresmann theorem). But not every locally trivial submersion is proper (vector bundles for example).

Is there any sufficient and necessary condition for a surjective submersion to be locally trivial?