Please update the patch :-) -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake
EnterpriseDB UK:http://www.enterprisedb.com The Enterprise PostgreSQL Company > On 9 Aug 2017, at 05:53, Surinder Kumar <surinder.ku...@enterprisedb.com> > wrote: > > Hi, > > I noticed that test cases don’t run and I got an error: > > (pgAdmin_27)Laptop195:regression surinder$ python runtests.py --pkg > feature_tests > <module '__builtin__' (built-in)> > Traceback (most recent call last): > File "runtests.py", line 45, in <module> > import config > File "/Users/surinder/Documents/Projects/pgadmin4/web/config.py", line 121, > in <module> > if builtins.SERVER_MODE is None: > AttributeError: 'module' object has no attribute' > SERVER_MODE > ' > > I think this is because we are setting first builtins.SERVER_MODE in > pgAdmin4.py > but in test cases pgAdmin4.py is not being called. > > >> On Tue, Aug 8, 2017 at 4:03 PM, Dave Page <dp...@pgadmin.org> wrote: >> >> >>> On Tue, Aug 8, 2017 at 11:27 AM, Surinder Kumar >>> <surinder.ku...@enterprisedb.com> wrote: >>>> On Tue, Aug 8, 2017 at 1:47 PM, Dave Page <dp...@pgadmin.org> wrote: >>>> >>>> >>>> >>>>> On Tue, Aug 8, 2017 at 7:18 AM, Surinder Kumar >>>>> <surinder.ku...@enterprisedb.com> wrote: >>>>> Hi >>>>> >>>>> On Ubuntu-14.04, I got error Application Server couldn't be contacted: >>>>> >>>>> Steps performed: >>>>> >>>>> I have already installed pgAdmin4-1.4 which come with PostgreSQL-9.6 >>>>> installer. >>>>> then I run root@ubuntu:/opt/PostgreSQL/9.6/pgAdmin 4/bin# ./pgAdmin4./. >>>>> Now took latest git pull from HEAD >>>>> Apply unified_config.diff patch. >>>>> Then compiled pgAdmin4 in runtime and then run ./pgAdmin. >>>>> Got error Application Server couldn't be contacted. >>>>> But when I ran ./pgAdmin4 for the second time. pgAdmin4 runs without any >>>>> issue. >>>>> I didn’t get any error on the terminal and log file. >>>>> >>>>> I couldn't find why it gives this error. >>>> >>>> I know Fahar has run into this with existing releases on Ubuntu. If you >>>> enable debugging, can you see any clues? I assume it's going round the >>>> retry loop before aborting? >>>>> Another issue related to Alembic: >>>>> >>>>> If I am running pgAdmin4 already installed on my machine, then I upgrade >>>>> pgAdmin4 using Python wheel: >>>>> >>>>> (test_p27) surinder@ubuntu:~/virtualenvs/test_p27$ python >>>>> ~/virtualenvs/test_p27/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py >>>>> >>>>> I am getting error: >>>>> >>>>> alembic.util.exc.CommandError: Can't locate revision identified by >>>>> 'd85a62333272' >>>>> >>>>> To fix this, I have to delete existing pgadmin4.db file. I don’t know if >>>>> it is a valid case or should I log an RM if it is? >>>>> >>>> >>>> That's an annoying side-effect of the move to Alembic. The previous DB >>>> code would quite happily (and intentionally) run with a newer version of >>>> the database, however, the new code does not. You'll see this issue >>>> whenever you've run a newer version of pgAdmin and then go back to an >>>> older version that uses an older schema version. >>>> >>>> It would be nice to change this so it doesn't complain - but we'd have to >>>> be cautious to only break compatibility on major releases. >>>> >>>> >>>>> Apart for this, I didn’t see any functionality break. It works!! >>>>> >>>>> I liked the approach to set SEVER_MODE in runtime using built-ins. >>>>> >>>> >>>> Thanks. Do you think it warrants a 2.0 version number, given the potential >>>> for breaking existing installations (I do, but would like other feedback)? >>>> If we do that - and thus allow a parallel installation of 1.x and 2.x), >>>> how would we resolve the Alembic issue you noted such that both versions >>>> could be run against the same DB? >>> >>> To resolve this issue while upgrading to newer version of pgAdmin4, we can >>> add a parameter version_table: 'alembic_version-1.6 in >>> web/migrations/env.py of upcoming pgAdmin4 source code(reference link) >>> It will create a new version table in pgadmin4.db database and it will >>> instruct the Alembic to run migrations for the version stored in >>> table(alembic_version-1.6) when new pgAdmin4 will be installed. >>> >>> I tried to check if it works or not. But somehow I couldn’t install >>> pgAdmin4-1.5 from wheel. >>> >>> Alternatively I will try to generate new schema using in pgAdmin4 source >>> code(Git HEAD). It will generate a new migration version and then i will >>> run pgAdmin4-1.6 from wheel having different migration number. It will >>> create pgadmin4.db for 1.5. >>> >>> Then I will run pgAdmin4-1.6 from source code, so migration will take place >>> and hopefully the same pgadmin4.db will work for newer pgAdmin4 version. >>> Reference link where the same issue has been discussed. >>> >> >> Sounds good - please investigate further. > I spent some time, understands how Alembic works and I thought it is easy > using the reference link but not, It needs more R&D. I will look how can we > fix it. >> >> Thanks! >> >>> Thanks, >>> Surinder >>> >>>> >>>> >>>>> Thanks, >>>>> Surinder >>>>> >>>>> >>>>>> On Mon, Aug 7, 2017 at 7:01 PM, Dave Page <dp...@pgadmin.org> wrote: >>>>>> >>>>>> >>>>>>> On Mon, Aug 7, 2017 at 1:43 PM, Surinder Kumar >>>>>>> <surinder.ku...@enterprisedb.com> wrote: >>>>>>> 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. >>>>>>> >>>>>> >>>>>> That's fully expected. In the case of Linux, the packages will be >>>>>> responsible for creating those directories with the appropriate >>>>>> ownership. In other cases, the user would. >>>>> >>>>> ok, I got it. >>>>>> >>>>>> There's not really much we can do about that - and it's exactly what >>>>>> would happen if you try to run many other packages yourself when >>>>>> standard *nix paths are used. >>>>>> >>>>>> >>>>>>> Thanks, >>>>>>> Surinder >>>>>>> >>>>>>> >>>>>>>> On Mon, Aug 7, 2017 at 4:33 PM, Surinder Kumar >>>>>>>> <surinder.ku...@enterprisedb.com> wrote: >>>>>>>>> On Mon, Aug 7, 2017 at 4:11 PM, Ashesh Vashi >>>>>>>>> <ashesh.va...@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>>> On Mon, Aug 7, 2017 at 3:59 PM, Dave Page <dp...@pgadmin.org> wrote: >>>>>>>>>> Anyone? >>>>>>>>> Surinder - please give this one priority. >>>>>>>> >>>>>>>> Sure. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks & Regards, >>>>>>>>> >>>>>>>>> Ashesh Vashi >>>>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company >>>>>>>>> >>>>>>>>> http://www.linkedin.com/in/asheshvashi >>>>>>>>>> >>>>>>>>>>> On Thu, Jul 20, 2017 at 5:03 PM, Dave Page <dp...@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 >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>> >> >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >