Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Create a JIRA of type "Epic" for the new feature in Apache Ambari JIRA
  • Add the feature to the Features + Roadmap wiki and link it to the Epic created
  • The Epic should contain a high-level description that is easy to understand
  • The Epic should also contain the initial, detailed design (this can be in the form of a shared Google Doc for ease of collaboration, Word doc, pdf, etc)
  • Once the initial design is posted, announce to the dev mailing list to elicit feedback (Subject: [DISCUSS] Epic Name.  Be sure include a link to the Epic JIRA in the body).  It is recommended to ask for review feedback to be given by a certain date so that the review process does not drag on. 
  • Iterate on the design based on community feedback.  Incorporate multiple review cycles as needed.
  • Once the design is finalized, break it down into Tasks that are linked to the Epic
  • (Nice to have) Once the Tasks are defined, schedule them into sprints using the Agile Board so that it's easy to see who is working on what/when, what tasks remain but unassigned so the community can pick up work from the backlog, etc.

Feature Flags

  • Sometimes, we want to have the ability for the users to experiment with a new feature, but not make expose it as a general feature since it has not gone through rigorous testing.  In other cases, we want to provide an escape hatch for certain edge-case scenarios that we may not want to expose in general because using the escape hatch is potentially dangerous and should only be reserved special occasions.  For these purposes, Ambari has a notion of feature flags.
  • Feature flags can be created as an attribute of App.supports map under https://github.com/apache/ambari/blob/trunk/ambari-web/app/config.js
  • Those boolean flags are exposed in the Ambari Web UI via <ambari-server-protocol>://<ambari-server-host>:<ambari-server-port>/#/experimental
    • The end user can go to the above URL to turn certain experimental features on.
      Image Added

Contribution Flow

https://docs.google.com/document/d/1hz7qjGKkNeckMibEs67ZmAa2kxjie0zkG6H_IiC2RgA/edit?pli=1