Red Hat Bugzilla – Bug 1454368
Unable to install OVN using engine-setup and answer-file
Last modified: 2017-12-24 05:36:02 EST
Description of problem: When installing a new engine using engine-setup and supplying answer file with the following key/value: 'OVESETUP_OVN/ovirtProviderOvn=bool:True', ovirt-provider-ovn is being installed. Seems like engine-setup treats this flag as an indicator of whether it is installed or not. Version-Release number of selected component (if applicable): OVESETUP_OVN/ovirtProviderOvn=bool:True How reproducible: 100% Steps to Reproduce: 1. Run engine-setup with answer-file that has 'OVESETUP_OVN/ovirtProviderOvn' enabled: 'OVESETUP_OVN/ovirtProviderOvn=bool:True'. 2. Engine-setup completes the installation. Actual results: ovirt-provider-ovn package is not installed and the provider is not registered in the engine. Expected results: Package should be installed. Additional info: On engine: # rpm -qa | grep ovirt-provider-ovn is empty.
Correction: Description of problem: * ovirt-provider-ovn is NOT being installed. Version-Release number of selected component (if applicable): Version 4.2.0-0.0.master.20170521155744.gitb6f1a86.el7.centos
The "ovirtProviderOvn" variable is an indicator whether we already asked the user to install OVN. If we did, we will not ask again, irrelevant of the answer (we do not want to bug the user again if he did not want it). To solve the problem we will need to split the variable into two: isOvirtProviderOvnInstalled - postinstallfile value (/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf), telling engine-setup if ovirt-provider-ovn has been installed. ovirtProviderOvn - answer file value, allowing user to specify whether to install the provider in an answer file Until now if the user chose not to install, we did not ask again. Is this the desired behaviour? Or should we ask again each time? Outcomes depending on the values of the two variables: isOvirtProviderOvnInstalled:True ovirtProviderOvn:ANY => no action, no propmt for OVN isOvirtProviderOvnInstalled:None ovirtProviderOvn:True => install OVN isOvirtProviderOvnInstalled:None ovirtProviderOvn:False => no action, no propmt for OVN isOvirtProviderOvnInstalled:None ovirtProviderOvn:None => ask user to install ??? isOvirtProviderOvnInstalled:False ovirtProviderOvn:ANY => no action, no propmt for OVN In addition to ovirtProviderOvn, it would be good to add answer file variables for: - using default credentials - only works during installation, not during update - user - password
Marcin, I think that this is the expect (In reply to Marcin Mirecki from comment #3) > The "ovirtProviderOvn" variable is an indicator whether we already asked the > user to install OVN. If we did, we will not ask again, irrelevant of the > answer (we do not want to bug the user again if he did not want it). > > To solve the problem we will need to split the variable into two: > > isOvirtProviderOvnInstalled - postinstallfile value > (/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf), telling > engine-setup if ovirt-provider-ovn has been installed. > > ovirtProviderOvn - answer file value, allowing user to specify whether to > install the provider in an answer file > > > Until now if the user chose not to install, we did not ask again. > Is this the desired behaviour? > Or should we ask again each time? I'm not sure about it. On one hand, it's an accessible option to push OVN into the existing installations, on the other hand it is bugging. > > > Outcomes depending on the values of the two variables: > > isOvirtProviderOvnInstalled:True ovirtProviderOvn:ANY => no action, no > propmt for OVN > isOvirtProviderOvnInstalled:None ovirtProviderOvn:True => install OVN > isOvirtProviderOvnInstalled:None ovirtProviderOvn:False => no action, > no propmt for OVN > isOvirtProviderOvnInstalled:None ovirtProviderOvn:None => ask user to > install > > ??? > isOvirtProviderOvnInstalled:False ovirtProviderOvn:ANY => no action, no > propmt for OVN > > > In addition to ovirtProviderOvn, it would be good to add answer file > variables for: > - using default credentials - only works during installation, not during > update > - user > - password As for 'OVESETUP_OVN/ovirtProviderOvn=bool:True' as answer-file value, if this is the only value that is being specified, engine-setup should retrieve the credentials from the existing admin user, and use it to configure the provider. If the user specifies 'OVESETUP_OVN/ovirtProviderOvn=bool:True' and also want to supply custom credentials (user&pass), we should also support that. Security point-of-view, once use use the password variable in the answer-file, it should be removed from there, in order to avoid storing it insecurely.
OVESETUP_OVN/ovirtProviderOvn is not only an answer file property. It can be used to indicate if ovn provider should be installed. Note that if the provider has been installed previously by engine-setup (only after this change is in), this property will not have any effect.
Verified on: 4.2.0-0.0.master.20170609091031.gitc86d08a.el7.centos
This bugzilla is included in oVirt 4.2.0 release, published on Dec 20th 2017. Since the problem described in this bug report should be resolved in oVirt 4.2.0 release, published on Dec 20th 2017, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.
We usually do not document the answer file. The point in this bug was that the generated answer file did not include this var. So doc text can be something like: engine-setup, when ran interactively, and when choosing to install/configure the OVN provider, now correctly saves the questions about OVN to the answer file, so that running it with the generated answer file will not ask them.