instead of directly loading it as YAML.
Will make it easier to uniformly deal with changes of format (e.g.
we are deprecating ini now).
Fix traceback:
```
Traceback (most recent call last):
File "scripts/config_parse.py", line 31, in <module>
main(args.config_file, args.setting)
File "scripts/config_parse.py", line 16, in main
gx_config = GalaxyAppConfiguration(**yaml.safe_load(open(config))["galaxy"])
File "/home/berntm/.planemo/gx_venv_3/lib/python3.8/site-packages/yaml/__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
File "/home/berntm/.planemo/gx_venv_3/lib/python3.8/site-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
File "/home/berntm/.planemo/gx_venv_3/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/home/berntm/.planemo/gx_venv_3/lib/python3.8/site-packages/yaml/composer.py", line 39, in get_single_node
if not self.check_event(StreamEndEvent):
File "/home/berntm/.planemo/gx_venv_3/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
File "/home/berntm/.planemo/gx_venv_3/lib/python3.8/site-packages/yaml/parser.py", line 171, in parse_document_start
raise ParserError(None, None,
yaml.parser.ParserError: expected '<document start>', but found '<scalar>'
in "/tmp/tmpsffm7of5/galaxy.ini", line 3, column 1
```
when starting Galaxy with a `galaxy.ini` config file (though Galaxy startup
will still fail later).
We do need to include some kind of worker id in the server_name. If we
don't do this and we start with multiple workers the internal
QueueWorker won't work and multiple processes can pick up the same job
if the web process is also a job handler.
If the database is combined, running `./manage_db.sh upgrade` should upgrade
BOTH models: gxy and tsi. However, if tsi uses a separate database, only
the galaxy model should be updated.
Also, see this for context: https://github.com/galaxyproject/galaxy/pull/13108#discussion_r789108576
See inline comments for more details.
The new tests are examples of new behavior.
All refactoring is directly related to the changes in this commit.
- Preserves usage of legacy script while not hiding the Alembic script.
(see manage_db.sh and run_alembic.sh)
- Adds documentation (see top of script files)
- Includes misc. relevant refactorings
- Includes unit tests for testing legacy script handling
Also add exec permissions to create/migrate python scripts.
(not sure this is required, adding for consistency with previous
version)
+ A few fixes for TS scripts, tests
Squashed:
- pick b62443245e Add create/migrate scripts for Alembic dbs
- squash 06f0a923ca Fix integration test (test only relevant for TS)