Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019

Please download to get full document.

View again

of 22
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Similar Documents
Information Report
Category:

Software

Published:

Views: 0 | Pages: 22

Extension: PDF | Download: 0

Share
Description
1. Project Onboarding Session Tom Barron (tbarron) Goutham Pacha Ravi (gouthamr) 2. Think: manila folders Manila provides self-service file shares as a service 3. What…
Transcript
  • 1. Project Onboarding Session Tom Barron (tbarron) Goutham Pacha Ravi (gouthamr)
  • 2. Think: manila folders Manila provides self-service file shares as a service
  • 3. What is Manila?
  • 4. Documentation ● OpenStack Contributor Portal: https://www.openstack.org/community/ ● OpenStack Contributor Guide: https://docs.openstack.org/contributors/ ● Manila Documentation: https://docs.openstack.org/manila/ ● Manila Project Wiki pages: https://en.wikipedia.org/wiki/Manila ● Developer Docs: https://docs.openstack.org/manila/latest/contributor/index.html
  • 5. Get Into the Conversation ● Where we hang out: ○ IRC channel #openstack-manila on Freenode. ○ Don’t know how to use IRC? https://docs.openstack.org/contributors/common/irc.html ○ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss ● Weekly meetings ○ Meeting agenda and details: https://wiki.openstack.org/wiki/Manila/Meetings ■ Want to discuss something? Add it to the agenda (and don’t forget to add your name) ○ Thursdays at 3pm UTC on #openstack-meeting-alt on Freenode
  • 6. Train Release Schedule ● Complete schedule: https://releases.openstack.org/train/schedule.html ● Blueprints: https://blueprints.launchpad.net/manila ● Specs: http://specs.openstack.org/openstack/manila-specs/ ● Bugs: https://bugs.launchpad.net/manila ● Important dates ○ Milestones ○ Specification deadline: what needs a spec? ○ New in-tree driver submission deadline ○ Feature proposal freeze ○ Feature freeze ○ Release candidates and releases
  • 7. Where is the code? ● manila: https://opendev.org/openstack/manila ○ manila itself ● python-manilaclient: https://opendev.org/openstack/python-manilaclient ○ bash CLI utility and python SDK for interacting with Manila. ● manila-ui: https://opendev.org/openstack/manila-ui ○ manila’s OpenStack Dashboard (Horizon) Plugin. ● manila-tempest-plugin: https://opendev.org/openstack/manila-tempest-plugin ○ plugin to the standard tempest integration test framework ● manila-image-elements: https://opendev.org/openstack/manila-image-elements ○ bootable Linux image for use with the “Generic Share Driver”. ● manila-specs: https://opendev.org/openstack/manila-specs ○ design specifications for upcoming work. Published here: http://specs.openstack.org/openstack/manila-specs/
  • 8. Development Environment: Accounts ● Contributor accounts: https://docs.openstack.org/infra/manual/developers.html ○ Here you will set up your: ■ Launchpad ID ■ OpenStack Foundation Profile/Gerrit ID
  • 9. Things to Remember ● Code Review ○ All code/documentation contributions are submitted into Gerrit: review.opendev.org ○ Zuul (OpenInfra CI) must approve the code/doc patch with a +1 ○ Anyone can provide a +/- 1 to any patch ○ One or more core reviewers must +2 the patch, and one of them will +W (workflow) the patch when it is ready to merge ● Conventions: ○ Best practices for Git commit messages: https://wiki.openstack.org/wiki/GitCommitMessages ○ Commit message tags: https://docs.openstack.org/manila/latest/contributor/commit_message_tags.html ○ Release notes (aka renos): https://docs.openstack.org/manila/latest/contributor/adding_release_notes.html
  • 10. How Manila is Consumed ● All major distributions include Manila ○ https://www.openstack.org/marketplace/distros/ ● Backports ○ When a fix can also be applied to previous releases of Manila, we can backport the fix to them ○ All bug fixes are eligible to be backported to stable releases, so long as they do not affect the database (DB migrations) or the Manila API ○ Manila adheres to the OpenStack stable branch policy: https://docs.openstack.org/project-team-guide/stable-branches.html ○ We maintain “EM” branches with best-effort policy
  • 11. Development Environment: DevStack ● General DevStack Documentation: ○ https://docs.openstack.org/devstack/latest/ ● Configuration of Manila with DevStack ○ https://docs.openstack.org/manila/latest/contributor/development-environment-devstack.html ● Default configuration is Manila configured with the “Generic Share Driver” ● Recommended setup: ○ VM (8GB RAM, 50GB virtual disk, 4 CPU cores) with Ubuntu Xenial/Centos 7/OpenSUSE
  • 12. DevStack Configuration - Generic Share Driver (DHSS=True) [[local|localrc]] ADMIN_PASSWORD=secret DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD LIBS_FROM_GIT=python-manilaclient enable_plugin manila https://opendev.org/openstack/manila enable_plugin manila-ui https://opendev.org/openstack/manila-ui
  • 13. DevStack Configuration - CephFS-NFS Driver [[local|localrc]] ADMIN_PASSWORD=secret DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD LIBS_FROM_GIT=python-manilaclient enable_plugin manila https://opendev.org/openstack/manila enable_plugin manila-ui https://opendev.org/openstack/manila-ui enable_plugin devstack-plugin-ceph ghttps://opendev.org/openstack/devstack-plugin-ceph ENABLE_CEPH_CINDER=True # ceph backend for cinder ENABLE_CEPH_GLANCE=True # store images in ceph ENABLE_CEPH_C_BAK=True # backup volumes to ceph ENABLE_CEPH_NOVA=True # allow nova to use ceph resources ENABLE_CEPH_MANILA=True # configure manila to use ceph native # NFS Ganesha GW MANILA_CEPH_DRIVER=cephfsnfs
  • 14. Database and The Message Queue ● Manila maintains its state and objects within a database ○ Similar to other OpenStack projects ● You will occasionally need to update your database schemas due to changes ○ $ manila-manage db sync ○ https://docs.openstack.org/manila/latest/cli/manila-manage.html ● Manila uses a Message Queue service for inter-process communication and RPC ○ Typically RabbitMQ provides this service but there are others ○ https://www.rabbitmq.com/
  • 15. The Manila API ● All APIs are core APIs ● The API is micro-versioned ○ Backwards Compatibility ○ https://docs.openstack.org/manila/latest/contributor/api_microversion_dev.html ● SDK Support: ○ Supported by the Manila community: ■ python-manilaclient ○ Supported by other communities ■ Gophercloud - https://github.com/gophercloud/gophercloud ■ Openstack4j - http://www.openstack4j.com ■ Misty - https://github.com/flystack/misty ■ ...
  • 16. Unit tests ● Simple and fast checks of the smallest units of code to ensure they work properly ● Always run them before submitting any change! ● How do I run the Manila Unit Tests? $ tox -e pep8 # Pep8/Doc8 $ tox -e py27 # Python 2.7 $ tox -e py3 # Python 3.x $ tox -e cover # Code coverage
  • 17. Tempest Tests ● Suite of Integration and Functional Tests ● Manila has its own Tempest plugin ○ https://opendev.org/openstack/manila-tempest-plugin ● Run as part “check” and “gate” CI pipelines before a patch is merged $ tempest run <test_regex>
  • 18. Continuous Integration (CI) ● Every in-tree driver needs a CI System ● If the CI System does not exist, a new driver will not be merged ● If the CI is not maintained (e.g. it fails on all runs) the driver will be marked as “unsupported”
  • 19. Where we Need Help ● New features/bug fixes always welcome ○ New Contributors: look for “low-hanging-fruit” ● SDKs, openstack-client and openstack-sdk integration ● Code Reviewers ● Driver Maintainers ○ HDFS ○ GlusterFS ○ Container driver ● Documentation
  • 20. Need Help? ● Join us in #openstack-manila on Freenode ● Weekly meeting: Thursdays 3pm UTC in #openstack-meeting-alt on Freenode ● Contact: ○ Tom Barron, Project Team Lead (PTL) (tbarron) ○ Core Reviewers: https://review.opendev.org/#/admin/groups/213,members
  • 21. Other manila events here ● Rook and Ceph ○ https://www.openstack.org/summit/denver-2019/summit-schedule/eve nts/23515/storage-101-rook-and-ceph ● Shared storage for container orchestrators with manila ○ https://www.openstack.org/summit/denver-2019/summit-schedule/eve nts/23513/shared-storage-for-container-orchestrators-with-manila ● Project Technical Gathering ○ Hyatt Regency, Denver Convention Center, Room 206 ○ Thursday (May 2nd) - Friday (May 3rd), 2019
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks
    SAVE OUR EARTH

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!

    x