What is this for?
There are some steps that you need to take to make your laptop ready to code for ManageIQ. The developers guide detail those steps and once you follow them you can start coding.
However, some times you don't want to install some software in your OS (as the PostreSQL database or memcached), or you just want to test some code. In those cases, development can get more complicated as you won't be able to test it in your machine.
To simplify the set up, there is a new Vagrant file that will launch a Fedora 24 VM, install and configure all software - including rbenv and database, and copy the code to it so you can safely run it. It will also open port 3000 for UI management (connect to localhost:3000), and port 4000 for API management
Using the code
Code can be found in github.
- Install Vagrant, Ansible and Virtualbox in your development machine
git clone https://github.com/ManageIQ/manageiq-vagrant-dev to get the source code
- cd into the directory
vagrant up will download the image, install and configure the software, and copy the source code.
It won't run bin/setup to download the gems and run the database migration, so you can test them.
It won't execute rake evm:start to start the service that you will find in localhost:3000
Synchronization is only done once because the strategy is rsync (you need to call vagrant rsync to resynchronize)
Adapting the Vagrantfile
- You can add additional folders to be synchronized
- It is possible to use other synchronization strategies. Many of them allow bidirectional synchronization so you can see your changes in real time
- You can change the resources in the VM to give it more resources
- You can run automatically bin/setup
Collaboration is welcome
Please submit your PR, issues and code if you find it useful and you want to improve it