slapos/recipe/postgresql: Do not leave half-installed postgresql instance
In case there are errors when creating cluster / setting up its configuration files, currently we leave pgsql database left half-installed and next time instantiation runs do not do anything, because os.path.exists(pgdata) is already true. I've personally hit this situation via providing ipv4 and ipv6 parameters as strings and the recipe wanted to do `ipv4.join(ipv6)` but this works only for sets and raises for strings. What is worse is that the above error becomes hidden in our default setup, because webrunner tries to do instantiation _several_ times, and on the second run instantiation succeeds, because pgdata directory already exists and recipe thinks there is nothing to do _and_ webrunner already removed instance.log from previous run. So do not hide errors, and if we see there are problems, remove the wholly created pgsql database directory. /cc @kazuhiko, @jerome /proposed-for-review on nexedi/slapos!29
Showing
Please register or sign in to comment