Uploaded image for project: 'Slider'
  1. Slider
  2. SLIDER-787

App Upgrade/Reconfig support in Slider

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Slider 0.61
    • Slider 0.80
    • app-package, appmaster
    • None
    • Slider April #1

    Description

      Terminologies:
      Here "App" means the application that is deployed by Slider e.g. HBase, Storm, Accumulo, Memcached, etc.

      Use-case:

      • YARN/HDFS/Zookeeper Upgrade
      • YARN/HDFS/Zookeeper reconfiguration
      • Slider Upgrade
      • App Upgrade
      • App Reconfiguration

      YARN/HDFS Upgrade:
      Upgrade of YARN/HDFS underlying infra, libraries, etc.

      YARN/HDFS reconfiguration:
      Reconfiguration of infrastructure components which Slider relies on.

      Slider Upgrade:
      Today you can do it by stopping the application and use the new version of the Slider to start the application.

      Slider Upgrade translates to the upgrade of:

      • Slider AppMaster
      • Slider Client
      • Slider Agent

      App Upgrade

      • Support manual upgrade of Slider application
      • Provide individual component specific upgrade [ Nice to Have ]
      • Need to allow rollback

      Steps to upgrade:

      • Stop app
      • slider set-app-package app --package <new package>
      • Start app

      Rollback:

      • Stop app
      • slider set-app-package app --package <old package>
      • Start app

      New component instances should be tried at best to be created in same host and port [ strong preference ] including AM. This task should be possible through CLI and new REST API.

      Rolling upgrade:

      • Slider CLI will not provide component upgrade ordering and start/stop - needs to be orchestrated by external scripts

      App Reconfiguration

      • Allow updating application configurations (appConfig.json or resources.json)
      • Allow rolling restart of all containers to have the new configuration take effect

      Slider needs to implement

      • Need specific container stop/start ability
      • Need upgrade package functionality [ required for in-place upgrade too ]
      • Need update capability for configuration
      • Component and AM host port to be preserved in best-effort

      Backward Compatibility

      • New apps "may" have new configuration based on new packaging. So upgrade needs to take care of that.
      • Reconfiguration will NOT require to support new style of configuration metadata.

      Attachments

        Issue Links

          Activity

            People

              gsaha Gour Saha
              gsaha Gour Saha
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Agile

                  Completed Sprint:
                  Slider April #1 ended 02/Sep/15
                  View on Board

                  Slack

                    Issue deployment