[Users] installing ovirt-engine on fc17 - postgresql service cannot be executed from /etc/init.d/postgresql

Alexey Kardashevskiy aik at ozlabs.ru
Wed Nov 14 06:23:55 UTC 2012


On 14/11/12 00:01, Juan Hernandez wrote:
> On 11/13/2012 10:13 AM, Eli Mesika wrote:
>>
>>
>> ----- Original Message -----
>>> From: "Alexey Kardashevskiy" <aik at ozlabs.ru>
>>> To: "Juan Hernandez" <jhernand at redhat.com>
>>> Cc: users at ovirt.org
>>> Sent: Tuesday, November 13, 2012 2:05:27 AM
>>> Subject: Re: [Users] installing ovirt-engine on fc17 - postgresql service cannot be executed from
>>> /etc/init.d/postgresql
>>>
>>> On 12/11/12 20:14, Juan Hernandez wrote:
>>>> On 11/12/2012 06:45 AM, Alexey Kardashevskiy wrote:
>>>>> Hi!
>>>>>
>>>>> I am trying to configure ovirt-engine and having a problem that it
>>>>> cannot
>>>>> finish because cannot create database because there is no
>>>>> /etc/init.d/postgresql. How do I fix my setup? Some packages
>>>>> missing? Below
>>>>> is some information. Thanks.
>>>>>
>>>>>
>>>>> The system is Fedora17/_ppc64_ (not x86 if it matters) with my 3.6
>>>>> kernel.
>>>>>
>>>>> Below is the console output after running "postgresql-setup
>>>>> initdb" and
>>>>> "engine-setup" and the log produced by the "engine-setup" script.
>>>>>
>>>>>
>>>>> [root at vpl2 aik]# yum info ovirt-engine
>>>>> Loaded plugins: downloadonly, versionlock
>>>>> Installed Packages
>>>>> Name        : ovirt-engine
>>>>> Arch        : noarch
>>>>> Version     : 3.1.0
>>>>> Release     : 2.fc17
>>>>> Size        : 1.3 M
>>>>> Repo        : installed
>>>>>    From repo   : ovirt-stable
>>>>> Summary     : Management server for Open Virtualization
>>>>> URL         : http://www.ovirt.org
>>>>> License     : ASL 2.0
>>>>> Description : oVirt Engine is a feature-rich server virtualization
>>>>> management
>>>>>                : system that provides advanced capabilities for
>>>>>                managing the Open
>>>>>                : virtualization infrastructure for Servers and
>>>>>                Desktops.
>>>>>
>>>>> [root at vpl2 aik]# ls -la /etc/init.d/postgresql
>>>>> ls: cannot access /etc/init.d/postgresql: No such file or
>>>>> directory
>>>>>
>>>>> [root at vpl2 aik]# postgresql-setup initdb
>>>>> Initializing database ... OK
>>>>>
>>>>> [root at vpl2 aik]# engine-setup
>>>>> Welcome to oVirt Engine setup utility
>>>>>
>>>>> WARNING: oVirt Engine setup has already been run on this host.
>>>>> To remove all configuration and reset oVirt Engine please run
>>>>> engine-cleanup.
>>>>> Please be advised that executing engine-setup without cleanup is
>>>>> not supported.
>>>>> Would you like to proceed? (yes|no): no
>>>>> Installation stopped, Goodbye.
>>>>> [root at vpl2 aik]# engine-setup
>>>>> Welcome to oVirt Engine setup utility
>>>>>
>>>>> WARNING: oVirt Engine setup has already been run on this host.
>>>>> To remove all configuration and reset oVirt Engine please run
>>>>> engine-cleanup.
>>>>> Please be advised that executing engine-setup without cleanup is
>>>>> not supported.
>>>>> Would you like to proceed? (yes|no): yes
>>>>> HTTP Port  [80] :
>>>>> HTTPS Port  [443] :
>>>>> Host fully qualified domain name, note that this name should be
>>>>> fully
>>>>> resolvable  [vpl2.ozlabs.ibm.com] :
>>>>> Password for Administrator (admin at internal) :
>>>>> Confirm password :
>>>>> Organization Name for the Certificate: ozlabs
>>>>> The default storage type you will be using  ['NFS'| 'FC'| 'ISCSI']
>>>>>   [NFS] :
>>>>> Enter DB type for installation ['remote'| 'local']  [local] :
>>>>> Local database password :
>>>>> Confirm password :
>>>>> Should the installer configure NFS share on this server to be used
>>>>> as an
>>>>> ISO Domain? ['yes'| 'no']  [yes] :
>>>>> Local ISO domain path: /data/iso
>>>>> Display name for the ISO Domain: local-iso-share
>>>>> Firewall ports need to be opened.
>>>>> You can let the installer configure iptables automatically
>>>>> overriding the
>>>>> current configuration. The old configuration will be backed up.
>>>>> Alternately you can configure the firewall later using an example
>>>>> iptables
>>>>> file found under /usr/share/ovirt-engine/conf/iptables.example
>>>>> Configure iptables ? ['yes'| 'no']: yes
>>>>>
>>>>> oVirt Engine will be installed using the following configuration:
>>>>> =================================================================
>>>>> http-port:                     80
>>>>> https-port:                    443
>>>>> host-fqdn:                     vpl2.ozlabs.ibm.com
>>>>> auth-pass:                     ********
>>>>> org-name:                      ozlabs
>>>>> default-dc-type:               NFS
>>>>> db-remote-install:             local
>>>>> db-local-pass:                 ********
>>>>> nfs-mp:                        /data/iso
>>>>> iso-domain-name:               local-iso-share
>>>>> config-nfs:                    yes
>>>>> override-iptables:             yes
>>>>> Proceed with the configuration listed above? (yes|no): yes
>>>>>
>>>>> Installing:
>>>>> Configuring oVirt-engine...                              [ DONE ]
>>>>> Creating CA...                                           [ DONE ]
>>>>> Editing JBoss Configuration...                           [ DONE ]
>>>>> Setting Database Configuration...                        [ DONE ]
>>>>> Setting Database Security...                             [ DONE ]
>>>>> Creating Database...                                  [ ERROR ]
>>>>> Database creation failed
>>>>> Please check log file
>>>>> /var/log/ovirt-engine/engine-setup_2012_11_12_16_06_23.log for
>>>>> more information
>>>>>
>>>>> [root at vpl2 aik]# ps ax|grep postgresql
>>>>> 13655 pts/2    S+     0:00 grep --color=auto postgresql
>>>>>
>>>>>
>>>>>
>>>>> *************************
>>>>>
>>>>> Here is a part of the
>>>>> /var/log/ovirt-engine/engine-setup_2012_11_12_16_06_23.log , can
>>>>> post the
>>>>> whole thing but it is quite big and seems to be irrelevant to the
>>>>> issue.
>>>>>
>>>>>
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::940::root:: engine db
>>>>> creation is
>>>>> logged at
>>>>> /var/log/ovirt-engine//engine-db-install-2012_11_12_16_07_01.log
>>>>> 2012-11-12 16:07:01::DEBUG::common_utils::309::root:: Executing
>>>>> command -->
>>>>> '/usr/share/ovirt-engine/dbscripts/engine-db-install.sh -l
>>>>> engine-db-install-2012_11_12_16_07_01.log -w ******** -u postgres
>>>>> -s
>>>>> localhost -p 5432 -r local'
>>>>> 2012-11-12 16:07:01::DEBUG::common_utils::335::root:: output =
>>>>> Running
>>>>> local installation
>>>>> [engine-db-install] postgresql service cannot be executed from
>>>>> /etc/init.d/postgresql
>>>>>
>>>>> 2012-11-12 16:07:01::DEBUG::common_utils::336::root:: stderr =
>>>>> 2012-11-12 16:07:01::DEBUG::common_utils::337::root:: retcode = 1
>>>>> 2012-11-12 16:07:01::DEBUG::setup_sequences::62::root:: Traceback
>>>>> (most
>>>>> recent call last):
>>>>>      File "/usr/share/ovirt-engine/scripts/setup_sequences.py",
>>>>>      line 60, in run
>>>>>        function()
>>>>>      File "/bin/engine-setup", line 953, in _createDB
>>>>>        output, rc = utils.execCmd(cmd, None, True,
>>>>> output_messages.ERR_DB_CREATE_FAILED, masked_value_set)
>>>>>      File "/usr/share/ovirt-engine/scripts/common_utils.py", line
>>>>>      340, in execCmd
>>>>>        raise Exception(msg)
>>>>> Exception: Database creation failed
>>>>>
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1742::root:: *** The
>>>>> following
>>>>> params were used as user input:
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root::
>>>>> override-httpd-config: yes
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: http-port:
>>>>> 80
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: https-port:
>>>>> 443
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: mac-range:
>>>>> 00:1A:4A:3D:8D:00-00:1A:4A:3D:8D:FF
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: host-fqdn:
>>>>> vpl2.ozlabs.ibm.com
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: auth-pass:
>>>>> ********
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: org-name:
>>>>> ozlabs
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root::
>>>>> default-dc-type: NFS
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root::
>>>>> db-remote-install: local
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: db-host:
>>>>> localhost
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root::
>>>>> db-local-pass: ********
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: nfs-mp:
>>>>> /data/iso
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root::
>>>>> iso-domain-name:
>>>>> local-iso-share
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root:: config-nfs:
>>>>> yes
>>>>> 2012-11-12 16:07:01::DEBUG::engine-setup::1747::root::
>>>>> override-iptables: yes
>>>>> 2012-11-12 16:07:01::ERROR::engine-setup::2376::root:: Traceback
>>>>> (most
>>>>> recent call last):
>>>>>      File "/bin/engine-setup", line 2370, in <module>
>>>>>        main(confFile)
>>>>>      File "/bin/engine-setup", line 2159, in main
>>>>>        runSequences()
>>>>>      File "/bin/engine-setup", line 2105, in runSequences
>>>>>        controller.runAllSequences()
>>>>>      File "/usr/share/ovirt-engine/scripts/setup_controller.py",
>>>>>      line 54, in
>>>>> runAllSequences
>>>>>        sequence.run()
>>>>>      File "/usr/share/ovirt-engine/scripts/setup_sequences.py",
>>>>>      line 154, in run
>>>>>        step.run()
>>>>>      File "/usr/share/ovirt-engine/scripts/setup_sequences.py",
>>>>>      line 60, in run
>>>>>        function()
>>>>>      File "/bin/engine-setup", line 953, in _createDB
>>>>>        output, rc = utils.execCmd(cmd, None, True,
>>>>> output_messages.ERR_DB_CREATE_FAILED, masked_value_set)
>>>>>      File "/usr/share/ovirt-engine/scripts/common_utils.py", line
>>>>>      340, in execCmd
>>>>>        raise Exception(msg)
>>>>> Exception: Database creation failed
>>>>
>>>> The right way to start/stop services in Fedora 17 is using the
>>>> systemctl
>>>> tool:
>>>>
>>>> systemctl start postgresql.service
>>>> systemctl stop postgresql.service
>>>>
>>>> The postgresql service no longer uses SystemV scripts to
>>>> start/stop, it
>>>> uses systemctl instead, that is why there is no
>>>> /etc/init.d/postgresql
>>>> script.
>>>
>>> Yes I noticed that while googling. The question is what do I do to
>>> make
>>> engine-setup not failing. It is starting services, one-by-one, and it
>>> stops
>>> in the middle of a sequence as postgresql fails because engine-setup
>>> uses
>>> old postgresql script. ovirt.org uses FC17 so I wonder if there is
>>> some
>>> fix/workaround.
>>
>> Juan, I think that we should have a BZ on that since the code in engine-db-install.sh is using the old service invocation format and does not distinguish between different Fedora version
>
> I agree, we should use "service postgresql ..." instead of
> "/etc/init.d/postgresql ...", as that works in all versions of Fedora
> and in RHEL as well.
>
> However I think that we already have logic in the script to check if
> systemd is available, and in that case we don't use /etc/init.d. Maybe
> this logic is failing in the ppc version of Fedora.


Where exactly does this code beside? I did grep by the error message but 
have not found the place.



>>>> If you still have problems to create the database please check the
>>>> database installation log file, should be named as follows:
>>>>
>>>> /var/log/ovirt-engine/engine-db-install-2012_11_12_16_07_01.log
>>>
>>>
>>> Database is fine...
>>>
>>> #engine db installer log file on vpl2.ozlabs.ibm.com
>>> [engine-db-install] verifying required rpms are installed.
>>> postgresql-server-9.1.6-1.fc17.ppc64
>>> postgresql-9.1.6-1.fc17.ppc64
>>> postgresql-libs-9.1.6-1.fc17.ppc64
>>> postgresql-contrib-9.1.6-1.fc17.ppc64
>>> uuid-1.6.2-11.fc17.ppc64
>>> [engine-db-install] verifying postgres service exists.


-- 
Alexey



More information about the Users mailing list