Thread: RM5576: Improve error messaging if the storage and log directoriescannot be created

Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Attachment
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246
Hi Dave

I have tested the logic on Mac OSX but not on Windows. The "pwd" module is not available on windows hence Jenkins build is failing. 
Attached is the patch to fix for Windows OS. I have used the "getpass" module for Windows.

Please review it. If looks good I'll commit the code. 

On Tue, Jun 2, 2020 at 11:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246
Attachment
Hi

Urgh, didn't realise pwd wasn't available on Windows :-(. What about just using getpass.getuser() everywhere? According to the docs it falls back to using pwd where that's supported anyway: https://docs.python.org/3.8/library/getpass.html

On Tue, Jun 2, 2020 at 8:00 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

I have tested the logic on Mac OSX but not on Windows. The "pwd" module is not available on windows hence Jenkins build is failing. 
Attached is the patch to fix for Windows OS. I have used the "getpass" module for Windows.

Please review it. If looks good I'll commit the code. 

On Tue, Jun 2, 2020 at 11:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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

On Tue, Jun 2, 2020 at 1:41 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

Urgh, didn't realise pwd wasn't available on Windows :-(. What about just using getpass.getuser() everywhere? According to the docs it falls back to using pwd where that's supported anyway: https://docs.python.org/3.8/library/getpass.html

   Sure we can use the getpass.getuser() everywhere. 

On Tue, Jun 2, 2020 at 8:00 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

I have tested the logic on Mac OSX but not on Windows. The "pwd" module is not available on windows hence Jenkins build is failing. 
Attached is the patch to fix for Windows OS. I have used the "getpass" module for Windows.

Please review it. If looks good I'll commit the code. 

On Tue, Jun 2, 2020 at 11:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


On Tue, Jun 2, 2020 at 9:20 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

On Tue, Jun 2, 2020 at 1:41 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

Urgh, didn't realise pwd wasn't available on Windows :-(. What about just using getpass.getuser() everywhere? According to the docs it falls back to using pwd where that's supported anyway: https://docs.python.org/3.8/library/getpass.html

   Sure we can use the getpass.getuser() everywhere. 

Are you working on that, or do you want me to update it and commit?

 

On Tue, Jun 2, 2020 at 8:00 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

I have tested the logic on Mac OSX but not on Windows. The "pwd" module is not available on windows hence Jenkins build is failing. 
Attached is the patch to fix for Windows OS. I have used the "getpass" module for Windows.

Please review it. If looks good I'll commit the code. 

On Tue, Jun 2, 2020 at 11:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
I'll change and commit the code.

On Tue, Jun 2, 2020 at 1:55 PM Dave Page <dpage@pgadmin.org> wrote:


On Tue, Jun 2, 2020 at 9:20 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

On Tue, Jun 2, 2020 at 1:41 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

Urgh, didn't realise pwd wasn't available on Windows :-(. What about just using getpass.getuser() everywhere? According to the docs it falls back to using pwd where that's supported anyway: https://docs.python.org/3.8/library/getpass.html

   Sure we can use the getpass.getuser() everywhere. 

Are you working on that, or do you want me to update it and commit?

 

On Tue, Jun 2, 2020 at 8:00 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

I have tested the logic on Mac OSX but not on Windows. The "pwd" module is not available on windows hence Jenkins build is failing. 
Attached is the patch to fix for Windows OS. I have used the "getpass" module for Windows.

Please review it. If looks good I'll commit the code. 

On Tue, Jun 2, 2020 at 11:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246
Thanks.

On Tue, Jun 2, 2020 at 9:27 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
I'll change and commit the code.

On Tue, Jun 2, 2020 at 1:55 PM Dave Page <dpage@pgadmin.org> wrote:


On Tue, Jun 2, 2020 at 9:20 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

On Tue, Jun 2, 2020 at 1:41 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

Urgh, didn't realise pwd wasn't available on Windows :-(. What about just using getpass.getuser() everywhere? According to the docs it falls back to using pwd where that's supported anyway: https://docs.python.org/3.8/library/getpass.html

   Sure we can use the getpass.getuser() everywhere. 

Are you working on that, or do you want me to update it and commit?

 

On Tue, Jun 2, 2020 at 8:00 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

I have tested the logic on Mac OSX but not on Windows. The "pwd" module is not available on windows hence Jenkins build is failing. 
Attached is the patch to fix for Windows OS. I have used the "getpass" module for Windows.

Please review it. If looks good I'll commit the code. 

On Tue, Jun 2, 2020 at 11:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.

On Mon, Jun 1, 2020 at 9:20 PM Dave Page <dpage@pgadmin.org> wrote:
Patch for $SUBJECT attached. Sample output:

python web/pgAdmin4.py
ERROR  : Failed to create the directory /var/lib/pgadmin:
           [Errno 13] Permission denied: '/var/lib/pgadmin'
HINT :   Create the directory /var/lib/pgadmin, ensure it is writeable by
         'dpage', and try again, or, create a config_local.py file
         and override the SQLITE_PATH setting per
         https://www.pgadmin.org/docs/pgadmin4/4.22/config_py.html


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


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

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