def provision(self):
        with self.using(AptitudeRole) as role:
            role.ensure_up_to_date()
            role.ensure_package_installed('rabbitmq-server')

        # Start rabbitmq at startup, TODO: add update-rc.d role
        self.execute('update-rc.d rabbitmq-server defaults', stdout=False,
                     sudo=True)
        self.execute('update-rc.d rabbitmq-server enable', stdout=False, sudo=True)

        # Make sure rabbit is running:
        if not self.is_process_running('rabbitmq-server'):
            self.execute(
                'service rabbitmq-server start', stdout=False, sudo=True,
            )

        if self.user_exists('guest'):
            warn(GUEST_USER_WARNING)
Installs `RabbitMQ <http://www.rabbitmq.com/>`_ and dependencies.
dataset/ETHPy150Open python-provy/provy/provy/more/debian/messaging/rabbitmq.py/RabbitMqRole.provision