May impact: * Install * Admin * Quick Start? +++ This bug was initially created as a clone of Bug #967508 +++ cloned for RHEV-M 3.3 tracking +++ This bug was initially created as a clone of Bug #911191 +++ engine-setup, engine-cleanup, engine-upgrade and the AIO plugin should be migrated to otopi. --- Additional comment from Alon Bar-Lev on 2013-05-09 07:52:32 EDT --- packaging: setup: re-write using otopi OUTLINE We introduce a complete rewrite of ovirt-engine setup, which includes engine-setup, engine-upgrade, engine-cleanup. The new implementation is installed side-by-side, user may have a choice which implementation to use. COMPATIBILITY Implementation are incompatible, once setup using legacy, upgrade and cleanup will not work using the new implementation and vise versa. Answer file is not compatible between implementations. Implementation is not feature complete, setup is is almost complete, cleanup needs more work to clean files that where partially modified, currently, setup is not able to upgrade non-new implementation setup. MAJOR FEATURES Fully support development environment installation. Up until now, developers had maintained parallel environment, manually customized, partial featured. Now, developers may setup product much like production using unprivileged user, custom location and custom database. For more information refer to README.developer file. Platform independent implementation The new implementation can/should be able to run in multiple distributions, setting up valid engine environment. So far tested fedora, rhel, centos, gentoo, ubuntu. Database access Split between host provisioning and database setup. Host provisioning is the part setup can configure the database package on host to be able to serve the application. The provisioning phase is now completely optional and is supported only at legacy distributions. Database setup is the part that a schema is created in existing database. This enables the dba to provide ovirt administration unprivileged database user and database for his use. Implementation Pluggable, mission centric, consistent, modern, customizable implementation. Reuse the otopi infrastructure that is also used for host-deploy, and future reuse of setup for dwh and reports components. Change-Id: Id587977be496f979f692ee5fd06a4e264d3f9197 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=911191 Signed-off-by: Alon Bar-Lev <alonbl> Signed-off-by: Sandro Bonazzola <sbonazzo> Signed-off-by: Alex Lourie <alourie> --- Additional comment from Alon Bar-Lev on 2013-05-10 05:19:35 EDT --- During implementation, the pki configuration were moved from vdc_options to /etc/ovirt-engine/engine.conf[.d/*]. These are determine by setup and should not be changed, so there is no reason to store them in database, and handle setup/upgrade that are database related. Another reason was that the root application (/) should serve some of these resources, and having root access database is undesired. --- vdc_options (removed) CACertificatePath CABaseDirectory CertificateFileName keystoreUrl keystorePass TruststoreUrl TruststorePass SignScriptName CertAlias engine.conf (added) ENIGNE_PKI=/etc/pki/ovirt-engine ENGINE_PKI_CA=${ENGINE_PKI}/ca.pem ENGINE_PKI_ENGINE_CERT=${ENGINE_PKI}/certs/engine.cer ENGINE_PKI_TRUST_STORE=${ENGINE_PKI}/.truststore ENGINE_PKI_TRUST_STORE_PASSWORD= ENGINE_PKI_ENGINE_STORE=${ENGINE_PKI}/keys/engine.p12 ENGINE_PKI_ENGINE_STORE_PASSWORD= ENGINE_PKI_ENGINE_STORE_ALIAS=1
otopi -- oVirt Task Oriented Pluggable Installer/Implementation =============================================================== Standalone plugin based installation framework to be used to setup system components. The plugin nature provides simplicity to add new installation functionality without the complexity of the state and transaction management. At the core of the implementation there is environment dictionary and a flow of stages within plugins. The environment can be modified using command-line parameters, configuration file, or dialog customization. Features: * otopi is a library for component installation. * Modular, task oriented implementation. * Supports pluggable manager dialog protocol, provides human and machine dialogs. * Localization support, gettext enabled. * Local and remote execution modes are supported. * Distribution independent implementation (core). * Compatible with python-2.6, python-2.7, python-3.2 USAGE ----- otopi [variables] variables ::= name=type:value variables | APPEND:name=type:value | '' type ::= none | bool | int | str | multi-str APPEND: prefix appends as collon list string. CUSTOMIZATION ------------- Set the following environment: DIALOG/customization=bool:True This will trigger command-line prompt before validation and before termination. Refer to README.dialog for more information. FILES ----- CONFIGURATION Configuration files used to override the environment. System environment: OTOPI_CONFIG Environment: CORE/configFileName Default: /etc/otopi.conf Config files to be read: @configFileName@ @configFileName@.d/*.conf (sorted) Structure: [environment:default] key=type:value [environment:init] key=type:value [environment:override] key=type:value [environment:enforce] key=type:value default is applied during setup without override. init is applied during setup with override. override is applied before customization with override. enforce is applied after customization with override. type ::= none | bool | int | str | multi-str ENVIRONMENT ----------- Refer to README.environment UNPRIVILEDGE EXECUTION ---------------------- Using sudo it is possible to escelate priviledge. Use the following configuration: /etc/sudoers.d/50-otopi.conf Defaults:user1 !requiretty user1 ALL=(ALL) NOPASSWD: /bin/sh COMPATIBILITY ------------- - Python-2.6 - Python-2.7 - Python-3.2
Documentation Link ------------------------------ http://documentation-devel.engineering.redhat.com/docs/en-US/Red_Hat_Enterprise_Virtualization/3.3/html-single/Administration_Guide/index.html#sect-Upgrading_to_Red_Hat_Enterprise_Virtualization_3.3 documentation-devel.engineering.redhat.com/docs/en-US/Red_Hat_Enterprise_Virtualization/3.3/html-single/Administration_Guide/index.html#Checking_for_Red_Hat_Enterprise_Virtualization_Manager_Updates http://documentation-devel.engineering.redhat.com/docs/en-US/Red_Hat_Enterprise_Virtualization/3.3/html-single/Administration_Guide/index.html#Checking_for_Red_Hat_Enterprise_Virtualization_Manager_Updates What Changed ------------------------------ Edited topic Upgrading to Red Hat Virtualization Manager 3.3 [ 22421-558744 ] and added a note on the migration to otopi. Also changed the commands to 'engine-setup' to reflect the new command syntax. The screen output of step 4. was also updated to that actually seen on screen. Edited topic Updating Red Hat Enterprise Virtualization Manager [ 7524-558768 ] and added a note on the migration to otopi. Also changed the commands to 'engine-setup' to reflect the new command syntax. Edited topic Checking for Red Hat Enterprise Virtualization Manager Updates [ 9941-558748 ] and changed all screen output to that actually seen on screen. Also changed the update command to 'engine-upgrade-check' to reflect the new command syntax. NVR ------------------------------ Red_Hat_Enterprise_Virtualization-Administration_Guide-3.3-en-US-3.3-30 Moving to ON_QA.
looks good