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

App Upgrade/Reconfig support in Slider

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Slider 0.61
    • Fix Version/s: Slider 0.80
    • Component/s: app-package, appmaster
    • Labels:
      None
    • Sprint:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: