Uploaded image for project: 'Apache Trafodion (Retired)'
  1. Apache Trafodion (Retired)
  2. TRAFODION-1839

Trafodion Installer Evolution

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.0-incubating
    • None
    • documentation, installer
    • None

    Description

      Umbrella for evolution of the Trafodion Installer.

      Overall motivation is:

      • Position Trafodion as a pure Hadoop add-on: the Hadoop environment must
        be installed and fully functional before installing Trafodion.
      • Use as much of the existing function as possible.
      • Define distinct phases that fit into common IT practices.
      • Enhanced user experience.

      Consideration:

      IT departments often separate responsibilities such as security administration,
      configuration changes, etc. These type of activities need to be planned and
      executed during specific maintenance windows. All acivities are audited in
      order to be compliant with local regulations; for examle, the
      Sarbanes-Oxley Act.

      In contrast, the current behavior of the Trafodion Installer, which
      assumes that it can obtain configuration information, change Hadoop configuration,
      install software packages, set up user IDs, and install/deploy Trafodion in one
      session.

      The following distinct install phases are defined.

      1. Environment validation: Ensure that the environment is suited for Trafodion.
      Identify required changes.

      The Trafodion Scanner should be able to fulfill this need. The current Scanner
      Configuration file is out-of-date so it generates false positives such as
      flagging hyper threading, which is now OK.

      NOTE: Need to spend more time on the Scanner. The design and implementation
      looks quite elegant and robust.

      2. Configuration builder: Automated Mode (aka expert mode) uses a documented
      configuration file with environmental information to drive the installation.
      Guided Mode prompts the user for information creating a comment-free
      configuration file.

      Change the Guided Mode to be a configuration builder that builds a
      fully-commented configuration file. Enhance Guided Mode to do more
      discovery using the REST APIs/Hadoop configuration files to obtain
      information that the user have to provide today.

      The goal here is to reduce user-supplied information to the
      absolute minimum: Trafodion user password, target install directory,
      tar file, and distribution-manager user and password.

      From past experiences, it's possible to automatically detect what type
      of Hadoop installation is used, URL to distribution manager or location
      of configuration files, and then rely on REST APIs/configuration files
      to discover nodes, current settings, and so forth.

      All prompts are done in a loop to allow for review/approval of the
      input. When completed, the user is shown the overall settings in
      a numbered menu thereby allowing for new edits, if needed. Once approved,
      the commented configuration file is created thereby allowing the
      user to directly edit the file in later upgrades. As today, new
      runs of the Installer reads the configuration file for prompt
      default values.

      It's probably best to implement discovery functions in Python because it
      has good handling of REST APIs, reading XML files, and parsing
      JSON responses.

      3. Configuration changer: Trafodion requires specific system, HDFS,
      and HBase settings. These should be implemented BEFORE installing
      Trafodion so that the user can a) time the required changes
      b) choose to make the changes using an alternative means
      c) validate that the changes did not break their Hadoop environment.

      Keep today's capability of restarting Hadoop services but don't invoke
      configuration change unless required. (Don't do it blindly like today; restarting
      Hadoop services is a big deal and should be avoided as much as possible.)

      4. User Setup: Create/validate mode to allow for cases where
      security administrators must perform user creation.

      5. Package Download: Validate/download mode for required packages.

      6. Trafodion Install: As today.

      7. Activation: As today

      trafodion_install adds a set of new arguments to invoke the different
      steps per the list above:

      No argument displays help text

      -a, --automated Run installer in automated mode. Cannot be combined with -b.
      -c, --config_file Location of configuration file
      -v, --validate Validatation mode. Applies to -s and -p.
      -s, --scan Checks the current Hadoop and system environment for Trafodion usage.
      -b, --build Guided Mode. Builds --config_file.
      -u, --user Creates/validates Trafodion user. -v defines validate mode.
      -p, --package Installs/validates required software packages. -v defines validate mode.
      -i, --install Installs the Trafodion software.
      -a, --activate Starts Trafodion.

      Other changes:

      • Move installer settings to a separate file that's sourced in. Today, most installer files
        defines the settings (in variables) within the file itself.
      • Support sudo alternates (such as pbrun) via edit of installer-settings file.
      • Handle multiple clusters in discovery. Today's code assumes one cluster only when interacting with REST APIs.

      Attachments

        Issue Links

          Activity

            People

              hfutmkby Yi (Eason) Zhang
              gtapper Gunnar Tapper
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: