Age | Commit message (Collapse) | Author |
|
Not only must postgres depend on libxml for xml support, we need to
point at the sysroot/staging area for the header files to be found.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Since oe-core introduced the autotools separated build and source
directory changes, some package builds broke.
With this change, we can build against the latest oe-core master.
It should be noted that this masks the build issues, and the bbappends
should be removed as dependency layers update or "real" fixes are
generated.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Editing the files in ${WORKDIR} using sed or similar tools as part of
do_install means they can only be edited once. Supplying a modified
CONTROLLER_IP in local.conf and building the image again will not
result in the CONTROLLER_IP being properly updated since the
substitution placeholders will no longer exist. We therefore simply
swap the other of things, installing the configuration files first,
then editing them to swap the placeholders. This means we can run the
do_install again and again and get the results we expect.
Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
- make database directory to be configurable, defaulting
to /var/lib/postgres/data
- modify init scripts to create database's data directory if it doesn't
exist
Signed-off-by: Amy Fong <Amy.Fong@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Syncing to oe-core, and meta-oe master of January 30th 2014.
- introduced required new bbappends
To keep compatiblity with older versions of oe-core and meta-oe,
old bbappends are kept, but they are moved to the "dangling"
recipe group.
If any bbappend warnings show outside of the dangling recipes,
they should be investigated.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
If the prior instance of postgresql was running there
is no way to kill it after the conversion to DRBD.
This adds the corner case to stop the old daemon after
the data directory has been migrated.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
|
The logic was flipped in the wrong place. This makes things right and
fixes up the possibility that the symlink already exists.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
|
After moving all database creation initialization packages, we also
remove it from the RDEPENDS of the various control node recipes.
This allows images to select database initialization or skip it.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Many OpenStack modules require a first boot action to setup up users,
databases, bridges, etc. These same packages install initscripts to start
daemons and servers.
The 1st boot package post install actions immediately exit to indicate
that the action cannot be performed in the cross environment and instead
should be done on first boot. The update-rc.d post install actions are
intended to be run in the cross environment to symlink scripts into the
proper runlevels.
The early exit from the db setup routines, means that the rc files are
not linked in host cross. If the rootfs doesn't contain update-rc.d,
they also will not be set up on first boot. The end result is a system
that does not start all of its required services on boot.
To fix this, we split out db and other first boot setup tasks into
dedicated (but empty) -setup packages. These run on first boot, while
update-rc.d is left to create the proper symlinks.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
When postgresql installed on the target and configured with drbd the
data will live in the drbd container and the startup script must
account for the different invocation to pg_ctl, as well as checking
that the config files are properly linked into to the postgresql data
directory.
The set -e was removed because the script was exiting improperly
during the restart operation and status operations.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
|
Now that the /etc/init.d/postgresql script will start and stop the
database synchronously there is no need to sleep waiting for the
database to come to life or wait for it to stop.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
|
The daemon-start-stop script will not actually wait synchronously for
postgress to start or stop. The postgresql package provides pg_ctl
for controlling the startup and clean shutdown of the database.
This patch converts to using pg_ctl for start and stop operations.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
|
The return code check after the DB user creation was inverted, which results
in false reports of errors, and post-insts that are not cleaned up.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Without adding the initscript package, postgres won't start automatically
on boot.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
When using the target installer with postgresql can end up installing
in the wrong order due to bad dependencies and cause the install
transaction to fail as follows:
====
initdb: invalid locale name ""
initdb: invalid locale name ""
initdb: invalid locale name ""
initdb: invalid locale name ""
initdb: invalid locale name ""
could not open directory "/usr/share/postgresql/timezone": No such file or directory
sh: locale: command not found
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
/etc/init.d/postgresql: line 25: start-stop-daemon: command not found
====
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
|
|
Since we can't count on package postinst order, many components check for
a configured postgresql daemon, and if not found, initialize it.
Rather than sprinkling the knowledge of how to initialize the database
through all these packages, we create a more robust, central postgresql-init
script, and call it when any component needs the database configured.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
To allow better out of the box configuration of postgresql, two things
are required: listen on all addresses, and add explicit permissions for
the known nodes in the network.
In this change, the former is done by adding listen_addresses = '*' to the
generated postgresql configuration on first boot, as well as adding the
known compute and controller IPs to pg_hba.conf. (note: the values for these
IPs come from hosts.bbclass)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
On some targets postgresql's server processes start slowly. If they haven't
started and the admin account or other operations are attempted, they fail
with a message about not being able to communicate to the local server.
If postgres is not properly setup, then subsequent components will also fail,
since they either cannot talk to the server, or can't use the 'admin' account.
To fix this issue, we add additional sleep states, and attempt to create the
admin role 10 times, with a delay between each attempt. If we fail to contact
the server after 10 attempts, a clear message is displayed and the postinst
returns a failing return code.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The user and password for postgresql are defined in the
identity class and are loaded by the recipes from this class.
Signed-off-by: Mihai Prica <prica.mihai@gmail.com>
|
|
Signed-off-by: Mihai Prica <prica.mihai@gmail.com>
|
|
Signed-off-by: Mihai Prica <prica.mihai@gmail.com>
|
|
-The postinstall will initialize the database;
-The postgres user is needed because postgresql can't be run
as root.
-The initscript will start the service at start-up.
Signed-off-by: Mihai Prica <prica.mihai@gmail.com>
|