To ease developer setup, we have Pulplift which is based on the Forklift project and utilizes Ansible roles and playbooks to provide supported Vagrant boxes that are more consistent with the user experience.
Clone the ‘pulplift’, ‘pulp’, ‘pulpcore-plugin’ and ‘pulp_file’ (or any plugins that you’ll be working on) repos into the same directory so that they are peers.
The parent directory of ‘pulplift’ is going to be mounted into the vagrant box at /home/vagrant/devel. Any plugins that need to be installed should be added to the pulplift/ansible-pulp/source-install.yml playbook. The paths to the source of the plugins should start with /home/vagrant/devel/. For example:
pulp_install_plugins: pulp-python: app_label: "python" source_dir: "/home/vagrant/devel/pulp_python" pulp-file: app_label: "file" source_dir: "/home/vagrant/devel/pulp_file"
Once this is complete, take a look at available boxes with ‘vagrant status’ and then spin up your chosen environment:
vagrant up pulp3-source-fedora28
Activate your virtual environment: