Bug 1492702

Summary: OVN setup plugins ignores --offline CLI option
Product: [oVirt] ovirt-engine Reporter: Simone Tiraboschi <stirabos>
Component: Setup.EngineAssignee: Leon Goldberg <lgoldber>
Status: CLOSED WONTFIX QA Contact: Pavel Stehlik <pstehlik>
Severity: medium Docs Contact:
Priority: high    
Version: 4.2.0CC: bugs, danken, didi
Target Milestone: ---Keywords: Regression
Target Release: ---Flags: sbonazzo: ovirt-4.2-
sbonazzo: blocker-
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-27 12:23:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1492706    
Bug Blocks:    

Description Simone Tiraboschi 2017-09-18 13:50:07 UTC
Description of problem:
OVN setup plugins ignores --offline CLI option so that engine-setup fails also if executed with --offline when the network connection is not working.

Example:
 [root@enginevm ~]# ping 8.8.8.8
 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
 ^C
 --- 8.8.8.8 ping statistics ---
 3 packets transmitted, 0 received, 100% packet loss, time 2000ms
 
 [root@enginevm ~]# engine-setup --offline
 [ INFO  ] Stage: Initializing
 [ INFO  ] Stage: Environment setup
           Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging-jboss.conf', '/etc/ovirt-engine-setup.conf.d/10-packaging.conf']
           Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20170918134903-mb9p2u.log
           Version: otopi-1.7.2_master (otopi-1.7.2-0.0.master.20170912135528.git85923b3.el7.centos)
 [ INFO  ] Stage: Environment packages setup
 [ INFO  ] Stage: Programs detection
 [ INFO  ] Stage: Environment setup
 [ INFO  ] Stage: Environment customization
          
           --== PRODUCT OPTIONS ==--
          
           Configure Engine on this host (Yes, No) [Yes]: 
           Configure Image I/O Proxy on this host? (Yes, No) [Yes]: 
           Configure WebSocket Proxy on this host (Yes, No) [Yes]: 
          
           * Please note * : Data Warehouse is required for the engine.
           If you choose to not configure it on this host, you have to configure
           it on a remote host, and then configure the engine on this host so
           that it can access the database of the remote Data Warehouse host.
           Configure Data Warehouse on this host (Yes, No) [Yes]: 
           Configure VM Console Proxy on this host (Yes, No) [Yes]: 
          
           --== PACKAGES ==--
          
           Install and configure ovirt-provider-ovn? Please note that this will cause an immediate installation
           of several OVN packages that will not be rolled back in case of a failure. (Yes, No) [Yes]: 
 [ INFO  ] Yum Status: Downloading Packages
 [ INFO  ] Yum Download/Verify: python2-pyOpenSSL-16.2.0-3.el7.noarch
 [ ERROR ] Yum [u'Errors were encountered while downloading packages.', u'python2-pyOpenSSL-16.2.0-3.el7.noarch: failure: Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm from centos-ovirt42-testing: [Errno 256] No more mirrors to try.\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"']
 [ INFO  ] Yum Performing yum transaction rollback
 [ ERROR ] Failed to execute stage 'Environment customization': [u'Errors were encountered while downloading packages.', u'python2-pyOpenSSL-16.2.0-3.el7.noarch: failure: Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm from centos-ovirt42-testing: [Errno 256] No more mirrors to try.\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"\nhttp://cbs.centos.org/repos/virt7-ovirt-42-testing/x86_64/os/Packages/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cbs.centos.org:80; No route to host"']
 [ INFO  ] Stage: Clean up
           Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20170918134903-mb9p2u.log
 [ INFO  ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20170918135837-setup.conf'
 [ INFO  ] Stage: Pre-termination
 [ INFO  ] Stage: Termination
 [ ERROR ] Execution of setup failed
 


Version-Release number of selected component (if applicable):
4.2. master

How reproducible:
100%

Steps to Reproduce:
1. deconfigure the system gateway 
2. run engine-setup --offline
3.

Actual results:
 [ ERROR ] Yum [u'Errors were encountered while downloading packages.', 

Expected results:
 it successfully executes.

Additional info:
The default response to 'Install and configure ovirt-provider-ovn? Please note that this will cause an immediate installation of several OVN packages that will not be rolled back in case of a failure. . (Yes, No) [Yes]:' is Yes so engine-setup will fail when triggered by hosted-engine-setup on a system where, for any reason, the engine VM han no external connectivity.

Comment 1 Dan Kenigsberg 2017-09-24 09:51:34 UTC
Leon, this seems related to your https://gerrit.ovirt.org/#/c/81903/

Comment 2 Red Hat Bugzilla Rules Engine 2017-09-24 09:51:41 UTC
This bug report has Keywords: Regression or TestBlocker.
Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.

Comment 3 Yedidyah Bar David 2017-09-24 10:23:03 UTC
(In reply to Dan Kenigsberg from comment #1)
> Leon, this seems related to your https://gerrit.ovirt.org/#/c/81903/

Indeed, and I commented there about how to fix.

But I suggest to give up on this, and make everyone's lives simpler, by requiring OVN instead, thus pushed:

https://gerrit.ovirt.org/81960

What do you think?

Comment 4 Dan Kenigsberg 2017-09-24 12:12:19 UTC
everyone's lives would be simpler - except those of the users who do not want to pull those packages...

but yeah, I've lost that battle already, and I would not block your rigid approach. But note that in development environment, don't want to somehow document which packages need to be installed during ovirt-engine-setup.

Comment 5 Yedidyah Bar David 2017-09-24 13:29:23 UTC
(In reply to Dan Kenigsberg from comment #4)
> everyone's lives would be simpler - except those of the users who do not
> want to pull those packages...

If you want to make these users' lives easier you should default to No, in "Configure OVN?".

> 
> but yeah, I've lost that battle already, and I would not block your rigid
> approach. But note that in development environment, don't want to somehow
> document which packages need to be installed during ovirt-engine-setup.

Developers should simply reply 'No'. Those that want OVN, can check the spec file to see which packages we Require:. We can also update the README if you want.

Comment 6 Leon Goldberg 2017-09-27 12:23:56 UTC
This only occurred during OVN packages installation. With engine now requiring the packages instead of being manually installed  during setup, the problem is moot.