[MCOL-522] support pre-installed software in postConfigure and addModule - phase I Created: 2017-01-18 Updated: 2017-12-01 Resolved: 2017-06-30 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | installation |
| Affects Version/s: | None |
| Fix Version/s: | 1.1.0 |
| Type: | New Feature | Priority: | Major |
| Reporter: | David Thompson (Inactive) | Assignee: | David Hill (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Sprint: | 2017-9, 2017-10, 2017-11, 2017-12, 2017-13 | ||||||||
| Description |
|
PostConfigure and addModule (etc) should support a mode of operation where they do not perform the actual software install and instead assume / verify that the user has already done this (either rpm, deb, or binary + post-install) and purely do the system configuration aspect. This likely will also help reduce the number of sudo use cases for non root in addition. It will also make it more straightforward to use third party orchestration software such as docker for multi node. Phase I - user is required to preinstall the software. postConfigure will still communicate with new server for setup. |
| Comments |
| Comment by David Hill (Inactive) [ 2017-05-15 ] |
|
testing here is what gets reported when the remote node doesn't have mariadb columnstore install when running the non-distributed option:
Enter Nic Interface #1 Host Name (pm2-hostname) > ===== System Installation ===== System Configuration is complete, System Installation is the next step. ===== Running the MariaDB ColumnStore MariaDB ColumnStore setup scripts ===== post-mysqld-install Successfully Completed ----- Performing Install Check on 'pm2 / pm2-hostname' ----- Error: MariaDB ColumnStore not installed on pm2 / pm2-hostname |
| Comment by David Hill (Inactive) [ 2017-05-15 ] |
|
nonDistrubuted install when pm2 had package preinstalled - this is root user and level installs ----- Performing Install Check on 'pm2 / pm2-hostname' ----- Install log file is located here: /tmp/pm2_binary_install.log MariaDB ColumnStore Package being installed, please wait ... DONE ===== Checking MariaDB ColumnStore System Logging Functionality ===== The MariaDB ColumnStore system logging is setup and working on local server MariaDB ColumnStore System Configuration and Installation is Completed ===== MariaDB ColumnStore System Startup ===== System Installation is complete. If any part of the install failed, Would you like to startup the MariaDB ColumnStore System? [y,n] ----- Starting MariaDB ColumnStore on 'pm2' ----- MariaDB ColumnStore successfully started ----- Starting MariaDB ColumnStore on local server ----- MariaDB ColumnStore successfully started MariaDB ColumnStore Database Platform Starting, please wait ....... DONE System Catalog Successfully Created Run MariaDB ColumnStore Replication Setup.. DONE MariaDB ColumnStore Install Successfully Completed, System is Active Enter the following command to define MariaDB ColumnStore Alias Commands . /usr/local/mariadb/columnstore/bin/columnstoreAlias Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console [root@centos-7-pm1 bin]# ------------------------------------------- centos7 root installs looking good, testing non-root installs next |
| Comment by David Hill (Inactive) [ 2017-05-21 ] |
|
coding is completed pull request is done, so that needs to be reviewed. Ben, please review when you get a chance. let me know if you have any questions Additional info for reviewing and testing: Current multi-node install is considered a Distributed Install Process. What this means is during postConfigure and AddModule, the MCS package is taken from the $HOME directory and scped to the remote nodes and installed. Part of that process is to check if the packages exist in $HOME. Also during the removeModule, the rpm/deb are erase (when they are installed) from the module being removed. New Feature is to support Non-Distrusted Install Process. What this means is the user will install the MCS packages on the remote modules before postConfigure or addModule is run. A new option is added to postConfigure '-n', for non-distrusted install. When this option is selected, then on both postConfigure and addmodule, it will check if MCS is installed on the remote node instead of scping a copy there. An error will be reported if MCS is not already installed on the remote module. If it is, then postConfigure and ProcMgr (addModule) will commincate with it and get it configured. |
| Comment by David Hill (Inactive) [ 2017-05-21 ] |
|
please review pull request |
| Comment by Ben Thompson (Inactive) [ 2017-05-23 ] |
|
Reviewed and merged. |
| Comment by David Hill (Inactive) [ 2017-05-23 ] |
|
has been merged, rebuilding and will retest in offical repo |
| Comment by David Hill (Inactive) [ 2017-05-24 ] |
|
Added logic to verify matching MCS versions on local (pm1) and remote nodes output when MCS package not installed on remote node ----- Performing Install Check on 'pm2 / pm2' ----- Error: MariaDB ColumnStore not installed on pm2 / pm2 output when a different version os MCS is installed on remote node. does this by comparing the contains of mariadb/columnstore/releasenum ----- Performing Install Check on 'pm2 / pm2' ----- Error: Local version of MariaDB ColumnStore doesn't match installed version on pm2 / pm2 |
| Comment by Daniel Lee (Inactive) [ 2017-05-31 ] |
|
Build tested: Github source 1.1.0 commit 349cae544b6bc71910267a3b3b0fa3fb57b0a587 [root@localhost mariadb-columnstore-engine]# git show I did a non-distributed installation for a 1um2pm stack, the tried to add pm3, using a node that did not have ColumnStore files installed. The addmodule command failed expected. But the getprocessstatus command showed pm3 as part of the stack. |
| Comment by David Hill (Inactive) [ 2017-05-31 ] |
|
correct, this is how it currently works... it got added in the module configuration, but then failed to get installed. User would need to do a removeMdoule pm3 and start over. |
| Comment by Daniel Lee (Inactive) [ 2017-05-31 ] |
|
Created |
| Comment by David Hill (Inactive) [ 2017-06-30 ] |
|
phase II has been tested and can be closed |