[ https://issues.apache.org/jira/browse/TRAFODION-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eason Zhang reassigned TRAFODION-1839: -------------------------------------- Assignee: Eason Zhang > Trafodion Installer Evolution > ----------------------------- > > Key: TRAFODION-1839 > URL: https://issues.apache.org/jira/browse/TRAFODION-1839 > Project: Apache Trafodion > Issue Type: Improvement > Components: documentation, installer > Affects Versions: 2.0-incubating > Reporter: Gunnar Tapper > Assignee: Eason Zhang > > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)