This paper analyses the steady state behavior of an M/G/1 retrial queueing system with Bernoulli and phase type vacations. Customers arrive one by one at the system in a Poisson stream. At the arrival epoch, if the server is busy then the arriving customer joins the orbit. If the server is free, then the arriving customer starts its service immediately. The service time of a customer is assumed to be general. At each service completion epoch, the server may opt to take a phase 1 vacation with probability p or else with probability 1p stay in the system for the next service. After the completion of phase 1 vacation the server may take phase 2 vacation with probability q or return back to the system with probability 1-q. The vacation times are assumed to be general. The service times and vacation times are independent of each other. Generating function technique is applied to obtain the system size and orbit size. Numerical examples are provided to illustrate the sensitivity of the performance measures for changes in the parametric of the system.