Bug 1332595 - [RFE]- Be able to split dwh from engine to separate hosts during migration from 3.6 el6 to 4.0 el7.
Summary: [RFE]- Be able to split dwh from engine to separate hosts during migration fr...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: ovirt-engine-dwh
Classification: oVirt
Component: Setup
Version: 4.0.0
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: ---
: ---
Assignee: Yedidyah Bar David
QA Contact: Pavel Stehlik
URL:
Whiteboard:
Depends On:
Blocks: RHEV_from_3_6_to_4_0_Migration_Tracker
TreeView+ depends on / blocked
 
Reported: 2016-05-03 14:34 UTC by Jiri Belka
Modified: 2022-02-25 08:14 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-09 11:34:13 UTC
oVirt Team: Integration
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHV-44892 0 None None None 2022-02-25 08:14:12 UTC

Description Jiri Belka 2016-05-03 14:34:01 UTC
Description of problem:

While testing migration from 3.6 EL6 to 4.0 EL7, we have defined a flow which would consist of decision to split dwh from engine and to install it to separate (remote) host.

Thus originally engine and dwh were running on same host. We would like to have each service running on separate hosts.

(engine itself got disconnected from dwh after 'files' and 'db' scopes restore with use of engine-setup --otopi-environment="OVESETUP_DWH_CORE/enable=bool:'False'".)

After restore via engine-backup of files and dwhdb scope, engine-setup fails with:

~~~
[ INFO  ] Creating/refreshing DWH database schema
[ ERROR ] Failed to execute stage 'Misc configuration': 'NoneType' object has no attribute 'execute'
[ INFO  ] Yum Performing yum transaction rollback
[WARNING] Rollback of DWH database postponed to Stage "Clean up"
~~~

~~~
...
2016-05-03 14:21:28 DEBUG otopi.context context._executeMethod:128 Stage misc METHOD otopi.plugins.ovirt_engine_common.ovirt_engine_dwh.db.engine_connection.Plugin._engine_connection
2016-05-03 14:21:28 DEBUG otopi.context context._executeMethod:134 condition False
2016-05-03 14:21:28 DEBUG otopi.context context._executeMethod:128 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_dwh.db.connection.Plugin._connection
2016-05-03 14:21:28 DEBUG otopi.context context.dumpEnvironment:760 ENVIRONMENT DUMP - BEGIN
2016-05-03 14:21:28 DEBUG otopi.context context.dumpEnvironment:770 ENV OVESETUP_DWH_DB/connection=connection:'<connection object at 0x2248fb0; dsn: 'dbname=ovirt_engine_history user=ovirt_engine_history password
=xxxxxxxxxxxxxxxxxxxxxx host=localhost port=5432 sslmode=allow', closed: 0>'
2016-05-03 14:21:28 DEBUG otopi.context context.dumpEnvironment:770 ENV OVESETUP_DWH_DB/statement=Statement:'<ovirt_engine_setup.engine_common.database.Statement object at 0x27a2c90>'
2016-05-03 14:21:28 DEBUG otopi.context context.dumpEnvironment:774 ENVIRONMENT DUMP - END
2016-05-03 14:21:28 DEBUG otopi.context context._executeMethod:128 Stage misc METHOD otopi.plugins.ovirt_engine_setup.ovirt_engine_dwh.core.single_etl.Plugin._misc
2016-05-03 14:21:28 DEBUG otopi.transaction transaction._prepare:61 preparing 'File transaction for '/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-uuid.conf''
2016-05-03 14:21:28 DEBUG otopi.filetransaction filetransaction.prepare:185 file '/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-uuid.conf' exists
2016-05-03 14:21:28 DEBUG otopi.filetransaction filetransaction.prepare:189 file '/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-uuid.conf' already has content
2016-05-03 14:21:28 DEBUG otopi.context context._executeMethod:142 method exception
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/otopi/context.py", line 132, in _executeMethod
    method['method']()
  File "/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine-dwh/core/single_etl.py", line 172, in _misc
    value=self.environment[osetupcons.ConfigEnv.FQDN]
  File "/usr/share/ovirt-engine/setup/ovirt_engine_setup/engine_common/dwh_history_timekeeping.py", line 59, in updateValueInTimekeeping
    getValueFromTimekeeping(statement, name, raise_if_empty=True)
  File "/usr/share/ovirt-engine/setup/ovirt_engine_setup/engine_common/dwh_history_timekeeping.py", line 35, in getValueFromTimekeeping
    result = statement.execute(
AttributeError: 'NoneType' object has no attribute 'execute'
2016-05-03 14:21:28 ERROR otopi.context context._executeMethod:151 Failed to execute stage 'Misc configuration': 'NoneType' object has no attribute 'execute'
...
~~~

IMO this flow should be possible as someone could want to go this path for performance or dwh DB size reasons.

Version-Release number of selected component (if applicable):
ovirt-engine-dwh-setup-4.0.0-0.0.master.20160424163520.git1f32035.el7.centos.noarch

How reproducible:
100%

Steps to Reproduce:
1. install 3.6 EL6 engine/dwh on same host
2. engine-backup for everything
3. install two machines, one for engine and one for dwh, both EL7
4. on engine host install ovirt-engine
5. on dwh host install ovirt-engine-dwh ovirt-engine-tools-backup
6. on engine host restore 'files', 'db'
7. on dwh host restore 'files', 'dwhdb'
8. on engine host, engine-setup --otopi-environment="OVESETUP_DWH_CORE/enable=bool:'False'"
9. on dwh host, engine-setup

Actual results:
engine-setup fails

Expected results:
should pass and end in running engine on one host and running dwh on another host

Additional info:
there' also an issue with file /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-uuid.conf; if it _does_ exist engine-setup doesn't show following info:

~~~
...
          An existing DWH is configured to work with this engine.
          Its hostname is 10-34-60-185.rhev.lab.eng.brq.redhat.com.
          A positive answer to the following question will cause the existing DWH to be permanently disconnected from the engine.
          A negative answer will stop Setup.
          Do you want to permanently disconnect this DWH from the engine? (Yes, No) [No]:
...
~~~

Anyway, removing '10-setup-uuid.conf' and answering 'Yes' to above question ends in same traceback in the log.

Comment 2 Yaniv Lavi 2016-05-09 11:34:13 UTC
We will not allow to do this in migration. First you will need to upgrade to 4.0 and then you can split things to other systems.

Comment 3 Yedidyah Bar David 2016-05-10 10:27:28 UTC
Jiri, can you please try, on the dwh machine:

1. restore

2. sed -i '/^ENGINE_DB_/d' /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-database.conf

3. engine-setup --otopi-environment="OVESETUP_ENGINE_CORE/enable=bool:'False'"

?


Note You need to log in before you can comment on or make changes to this bug.