[
https://issues.apache.org/jira/browse/TRAFODION-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15624904#comment-15624904
]
ASF GitHub Bot commented on TRAFODION-1839:
-------------------------------------------
GitHub user mkby opened a pull request:
https://github.com/apache/incubator-trafodion/pull/807
[TRAFODION-1839] Trafodion Installer Evolution
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mkby/incubator-trafodion master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-trafodion/pull/807.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #807
----
commit 904b53df5c75f0dd5b0bd84e483c7d060023a7d6
Author: Eason <[email protected]>
Date: 2016-11-01T08:53:27Z
[TRAFODION-1839] Trafodion Installer Evolution
----
> 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
>
> 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)