Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Day in the Life of a Trove Contributor - OpenStackSummitVancouver

vkmc
May 18, 2015

A Day in the Life of a Trove Contributor - OpenStackSummitVancouver

vkmc

May 18, 2015
Tweet

More Decks by vkmc

Other Decks in Technology

Transcript

  1. A Day in the Life of a Trove Contributor Victoria

    Martinez de la Cruz Red Hat Ashleigh Farnham HP
  2. Who we are... Victoria Martinez de la Cruz - Former

    GNOME Outreachy OpenStack intern and GSOC OpenStack intern - Current Software Engineer at Red Hat - Trove and Zaqar core developer - Loves to help newcomers! Meet me at #openstack-101
  3. Who we are... Ashleigh Farnham - Former Software Engineer at

    Microsoft - Currently Software Engineer at HP - Working with Trove and OpenStack for 3 months
  4. We will cover... - Trove concept - Trove features -

    Trove architecture - Example: Instance lifecycle - Setup contributor accounts - Deploy Trove for devs - Bug fixing, fix reviews and feature proposals - Getting involved with the community - Tips and tricks
  5. Why Trove? - Provisioning a database has a really high

    complexity and it can take months - Making sure the best practices are enforced is not trivial - Access to new technologies is often out of reach
  6. Trove Allows users to use the features of relational and

    non-relational databases without the added complexity of handling administrative tasks
  7. Trove Highlights - Support for multiple SQL and NoSQL databases.

    MySQL, PostgreSQL, MongoDB, Redis, Cassandra, Couchbase and more! - Designed to run entirely on OpenStack. Relies of several other components: Nova, Neutron, Cinder, Swift, Glance, Keystone
  8. Trove Main features - Provisioning and deprovisioning - Administration -

    Configuration - Backup and restore - Clustering and replication
  9. Setting up accounts - Launchpad - Join the OpenStack Foundation

    - Sign the Individual Contributor License Agreement (ICLA) - Create and upload your SSH key to Gerrit NOTE: Make sure the email you use in every account is the same! More in http://docs.openstack.org/infra/manual/developers.html
  10. Redstack Minimal requirements: - Quad core processor - 8 GB

    RAM - 80GB HD - Virtualization software (virt, VirtualBox, Vagrant)
  11. Redstack - Spin up a VM with Ubuntu 14.04 LTS

    - Install git $ sudo apt-get install git - Clone trove-integration project $ git clone https://github.com/openstack/trove- integration/
  12. Redstack - Install Redstack. Code will be located under /opt/stack

    by default $ cd trove-integration/scripts $ ./redstack install - Create and load a Trove MySQL image $ ./redstack kick-start mysql
  13. Find a bug to fix - Go to launchpad and

    find a bug https://bugs. launchpad.net/trove/ - Try to reproduce the issue - Is it a bug? Assign it to yourself - Is it not a bug? Ask the reporter for more information and/or leave your feedback TIP: The low-hanging-fruit tagged bugs should be easier to fix
  14. Fix your first bug - Go to your local repository

    $ cd /opt/stack/trove - Create a new branch $ git checkout -b bug/<bug-number> - Hack, hack, hack - Run the tests $ tox -e py27,pep8
  15. Configure Git for Reviews ‐ Test your SSH key works:

    ◦ git review -s ‐ Configure gerrit username: ◦ git config --global gitreview.username yourGerritUsername Note: The developer guide has a lot of info around setup http://docs.openstack.org/infra/manual/developers.html
  16. Submit your fix for review - Make a commit $

    git commit -a - Push for review $ git review - Wait for the reviewers to submit their feedback - To update your commit $ git commit -a --amend
  17. Reviews - Login into Gerrit (review.openstack.org) - Filter fixes by

    project and status - Read fixes > Do they look ok? Submit a +1 > Is there something you don’t understand? Submit a comment without rating > Would you like to suggest a change? Submit a -1 and add your feedback in the comment form or inline the code
  18. Feature proposal - Add the feature proposal idea in the

    weekly meetings agenda. Join the meeting and discuss with the community about it - Send the feature proposal to the developers mailing list. Follow the thread!
  19. How to get involved - IRC channels on Freenode >

    #openstack-trove > #openstack-meeting-alt > #openstack-dev > #openstack-101 - Mailing list > openstack > openstack-dev
  20. How to get (more) involved ‐ Ask OpenStack > ask.openstack.org

    ‐ OpenStack Summits ‐ OpenStack MidCycle Meetups ‐ OpenStack usergroups
  21. Tips and tricks ‐ Don’t ask if you can ask

    in IRC, just ask. People will come back to you. ‐ Don’t send private messages to members of the community directly. Asking things publicly allow more people to jump in and learn from your experience.
  22. Tips and tricks ‐ Don’t know how to review? Read

    other developers reviews. You will learn a lot! ‐ Don’t know how to fix something? Get help from the community. Try to think on a possible solution, bring it up in IRC and discuss with the rest of the team. Developers are happy to provide feedback.
  23. Tips and tricks ‐ Are you blocked with something? Take

    another task and get your mind away of it. The moment of inspiration will come. ‐ Still blocked? Ask someone in the community. Make sure to make concise questions. E.g. I’m getting this output <paste> when I launch a Trove instance. I deployed Trove with X on Y.
  24. Tips and tricks ‐ Paste OpenStack. Useful for pasting the

    traces you are getting in the logs - paste.openstack.org ‐ Etherpad OpenStack. Useful for discussing a feature or fix with others - etherpad.openstack. org
  25. Reach us! - Ping us in IRC > vkmc >

    ashleighfarnham - Find this presentation in https://speakerdeck. com/vkmc/a-day-in-the-life-of-a-trove- contributor-openstacksummitvancouer