Re: Unified server/desktop config - Mailing list pgadmin-hackers

From Surinder Kumar
Subject Re: Unified server/desktop config
Date
Msg-id CAM5-9D-xXUjyex31SpxuTnEudc_CUDeVXruYW4mdBtxMw8+pGw@mail.gmail.com
Whole thread Raw
In response to Re: Unified server/desktop config  (Surinder Kumar <surinder.kumar@enterprisedb.com>)
Responses Re: Unified server/desktop config
List pgadmin-hackers

Hi,

The patch seems to work in Runtime mode, but fails in Server mode with error:

(pgAdmin_27)Laptop195:pgadmin4 surinder$ python web/pgAdmin4.py
Traceback (most recent call last): File "web/pgAdmin4.py", line 55, in <module>   exec(open(file_quote(setupfile), 'r').read()) File "<string>", line 35, in <module> File "/Users/surinder/Documents/Projects/pgadmin4/web/pgadmin/setup/data_directory.py", line 23, in create_app_data_directory   _create_directory_if_not_exists(os.path.dirname(config.SQLITE_PATH)) File "/Users/surinder/Documents/Projects/pgadmin4/web/pgadmin/setup/data_directory.py", line 15, in _create_directory_if_not_exists   os.mkdir(_path)
OSError: [Errno 13] Permission denied: '/var/lib/pgadmin'
(pgAdmin_27)Laptop195:pgadmin4 surinder$

This is because the directory /var/lib/ has root only access and I am running pgAdmin4 with the non-root user.

Also pgadmin directory is not created.

(pgAdmin_35)Laptop195:pgadmin4 surinder$ ls /var/lib/pgadmin
ls: /var/lib/pgadmin: No such file or directory

I got same error with MacOSX and Ubuntu-14.04 machines irrespective of Python version.

Meanwhile, I am testing patch with other test cases.

Thanks,
Surinder


On Mon, Aug 7, 2017 at 4:33 PM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote:
On Mon, Aug 7, 2017 at 4:11 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
On Mon, Aug 7, 2017 at 3:59 PM, Dave Page <dpage@pgadmin.org> wrote:
Anyone?
Surinder - please give this one priority.
Sure
​.​
 

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company



On Thu, Jul 20, 2017 at 5:03 PM, Dave Page <dpage@pgadmin.org> wrote:
All,

Attached is a patch that aims to allow us to have a standardised config that will work out of the box for both web and desktop modes. It does this by doing two things:

1) The runtime sets SERVER_MODE in the Python environment before starting the app. If this value is set, then it overrides the default value of SERVER_MODE in the config.

2) The config file then offers default values for the various file locations for both server and desktop mode, setting them appropriately based on the derived SERVER_MODE value.

The only downsides I can see from this are:

- You cannot run in server mode in the runtime without manually reconfiguring SERVER_MODE and likely a bunch of paths in config_local.py

- If you want to override SERVER_MODE, you'll probably also need to redefine the various paths in config_local.py.

I don't see either being something 99.9% of users would need though.

Can anyone see if the patch breaks anything, or if I missed any side effects?

Is it likely to break things during upgrades? I suspect so... so maybe this should prompt v2.0?

I'd appreciate multiple reviews of this, as it could break things. Note that I haven't yet updated the docs.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgadmin-hackers by date:

Previous
From: Surinder Kumar
Date:
Subject: Re: Unified server/desktop config
Next
From: Wouter van Kesteren
Date:
Subject: [PATCH] Work with newer Flask-Security.