Commit Graph
105 Commits
Author SHA1 Message Date
Guruprasad Anada 0eb6e8d521 Pushing changes from central to security..
G: Enter commit message.  Lines beginning with 'HG:' are removed.
2008-12-22 13:38:00 -05:00
Guruprasad Anada 54dc919413 Script to enumerate GOPS JOIN jobs that could have returned an incorrect result before the issue with minimum overlap was fixed last week. 2008-12-22 13:35:01 -05:00
Guruprasad Anada 14e8c4fcad speed enhancement for incorrect_gops_jobs script. 2008-12-17 12:13:38 -05:00
Guruprasad Anada 25cd5b63f5 central to security 2008-12-17 12:13:32 -05:00
Guruprasad Anada 6e266a9deb Central to security 2008-12-17 11:26:32 -05:00
Guruprasad Anada 42263dd8b2 Fix for a minor bug in my previous commit. 2008-12-17 11:25:35 -05:00
Guruprasad Anada 8bd7ce669b Commiting changes from central to security: 2008-12-17 11:03:27 -05:00
Guruprasad Anada b84c1cb2ab Enhancing incorrect_Gops_job script to output only those jobs whose output has changed since the BitSetSafeReaderWrapper was fixed. 2008-12-17 11:01:57 -05:00
Daniel Blankenberg 2c05491514 A script to update a pre-security/library Galaxy database with necessary schema changes and set default roles/permissions for users and their histories and datasets.
It will reset permissions on histories and datasets if they are already set (i.e. script was run on a database which already has security/library tables).

This has been tested with Postgres, SQLite, and MySQL databases.

Due to limitations of SQLite this script is unable to add foreign keys to existing SQLite tables (fks are ignored anyway).

*** Remember to backup your database before running. ***
2008-12-11 14:10:11 -05:00
Daniel Blankenberg f1b591f3be Some Fixes for setting permisions on the current history when users login, and some preparation for the database update script. 2008-12-03 17:16:40 -05:00
Greg Von Kuster 4015f31eff Refix cleanup_dataset.py script. 2008-12-01 14:07:36 -05:00
Greg Von Kuster 2dd60568fc merging from central 2008-12-01 14:07:33 -05:00
Greg Von Kuster 5d40b2b545 merging from central 2008-11-30 08:05:04 -05:00
Greg Von Kuster 3748e41924 Fixes, code cleanup in cleanup_datasets.py. 2008-11-30 08:03:21 -05:00
Greg Von Kuster 3fae320495 merging from central 2008-11-12 15:42:51 -05:00
Greg Von Kuster 511510797a Fix a bug I missed in my last commit. 2008-11-12 15:42:46 -05:00
Greg Von Kuster 6625b0e216 merging from central 2008-11-12 15:20:00 -05:00
Greg Von Kuster 5a17479269 Fixes for the incorrect_gops_jobs script. 2008-11-12 15:19:27 -05:00
Greg Von Kuster 34cda87570 Add ability to manage deleted libraries, requires db schema change, commands are:
ALTER TABLE library ADD COLUMN purged BOOLEAN DEFAULT FALSE;
CREATE INDEX ix_library_purged ON library USING btree (purged);

ALTER TABLE library_folder ADD COLUMN purged BOOLEAN DEFAULT FALSE;
CREATE INDEX ix_library_folder_purged ON library_folder USING btree (purged);

- Deleting a library will mark all folders and contents ( LibraryFolderDatasetAssociations ) deleted in the db (weakness is that state is not saved for undeleting )
- Undeleting a library will mark all folders and contents as undeleted in the db
- Purging a library will mark the library, all folders, and LibraryFolderDatasetAssociations as purged, datasets will only be marked as deleted - marking as purged and removing the file from disk will be handled by the cleanup_datasets script.
2008-11-12 14:35:07 -05:00
Guruprasad Anada e5293f8d15 Fixed indentation bug in incorrect_gops_jobs script. 2008-11-12 10:19:55 -05:00
Guruprasad Anada a2e0908a61 Fixed an indentation bug in incorrect_gops_jobs script. 2008-11-12 10:16:04 -05:00
Guruprasad Anada 1a00974152 updating incorrect_gops_jobs script 2008-11-11 16:21:20 -05:00
Guruprasad Anada c3403e993c small modification to incorrect_gops_jobs script to include all HDAs associated with a dataset. 2008-11-11 16:20:12 -05:00
Nate Coraor 3654d294b2 merging heads 2008-11-11 15:33:40 -05:00
Guruprasad Anada 2f5e0c58ae Script to fetch gops jobs that might have produced incorrect/empty oUtput due to the bug in BitsetSafeReaderWrapper. 2008-11-11 15:20:36 -05:00
Greg Von Kuster e0df0fa44e merging from central 2008-11-10 15:30:20 -05:00
Greg Von Kuster ea7074e280 Fix for purging dataset - add check for pre-history_dataset_association approach to sharing. 2008-11-10 15:30:07 -05:00
Daniel Blankenberg ec188a33cb Resolve a bunch of merge conflicts. 2008-10-31 11:28:09 -04:00
Greg Von Kuster 5be8fefaf5 Migrate central repo to alchemy 4. 2008-10-30 16:17:46 -04:00
Nate Coraor aafccaa367 Use LD_RUN_PATH when building pbs_python 2008-10-30 16:11:44 -04:00
Nate Coraor 7e73b1539a merging heads 2008-10-29 17:33:49 -04:00
Nate Coraor 32e98de2b7 Fix pbs_python to just use existing torque. 2008-10-29 17:20:54 -04:00
Greg Von Kuster 3b78d585c0 Purge metadata files associated with a purged dataset via the library association. 2008-10-28 14:44:09 -04:00
Greg Von Kuster 1f3494adc3 merging from central 2008-10-28 14:31:36 -04:00
Greg Von Kuster 9a7bc1370d Purge metadata files associated with a dataset when the dataset is purged. Also remembered log.exception logs the exception, so corrected a few things in jobs.__init__. 2008-10-28 14:31:02 -04:00
Daniel Blankenberg 07d94113a7 Merging heads 2008-09-25 15:05:07 -04:00
Nate Coraor fbe9d4e4e5 Update check_galaxy for new twill. 2008-09-25 10:19:56 -04:00
Greg Von Kuster 8e17384a79 Upgrade to SQLAlchemy 0.4.7 and correct conflicts in ~/model/__init__.py. 2008-09-18 15:18:12 -04:00
Greg Von Kuster 3de877519e Migrate cleanup_datasets script to work with new db schema. 2008-07-10 19:54:46 +00:00
Daniel Blankenberg 28b89d686f Change database schema to separate Dataset and HistoryDatasetAssociation. This is a significant change, be sure to follow the migration notes exactly.
Make sure to backup your database before updating.


Also fix a long standing bug in the async controller dealing with updating output datasets upon job completion.


Credit for database migration directions go to Greg.

*** This is a significant change, be sure to follow the migration steps below exactly and in order: ***

---------------

0. Stop Galaxy server

---------------

1. Backup database and galaxy_root/database directory

---------------

2. The current validation_error table is not being used, it is left over from Ian's work that was not made functional.  However, if we want to keep it around, we should drop the old version of the table so it will get re-created correctly when the Galaxy server is restarted:

any database - sql command(s):
------------------------------
DROP TABLE validation_error;

---------------

3. Stop server, perform svn update to get latest code, start server to create new history_dataset_association and implicitly_converted_dataset_association tables

---------------

4. Add new columns to dataset table:

postgres sql command(s):
------------------------
ALTER TABLE dataset ADD COLUMN purgable boolean DEFAULT 't';
ALTER TABLE dataset ADD COLUMN external_filename text;
ALTER TABLE dataset ADD COLUMN _extra_files_path text;

mysql sql command(s):
---------------------
ALTER TABLE dataset ADD COLUMN purgable boolean DEFAULT TRUE;
ALTER TABLE dataset ADD COLUMN external_filename text;
ALTER TABLE dataset ADD COLUMN _extra_files_path text;

sqlite sql command(s):
----------------------
ALTER TABLE dataset ADD COLUMN purgable boolean DEFAULT 0;
ALTER TABLE dataset ADD COLUMN external_filename text;
ALTER TABLE dataset ADD COLUMN _extra_files_path text;

---------------

5. Populate new columns:

postgres sql command(s):
------------------------
UPDATE
dataset
SET
external_filename = dataset_filename.filename,
_extra_files_path = dataset_filename.extra_files_path
FROM
dataset_filename
WHERE
dataset.filename_id = dataset_filename.id;

mysql or sqlite sql command(s):
-------------------------------
UPDATE
dataset,
dataset_filename
SET
dataset.external_filename = dataset_filename.filename,
dataset._extra_files_path = dataset_filename.extra_files_path
WHERE
dataset.filename_id = dataset_filename.id;

---------------

6. Populate dataset table with info from dataset_child_association table:

postgres sql command(s):
------------------------
UPDATE
dataset
SET
parent_id = dataset_child_association.parent_dataset_id
FROM
dataset_child_association
WHERE
dataset.id = dataset_child_association.child_dataset_id;

mysql or sqlite sql command(s):
-------------------------------
UPDATE
dataset,
dataset_child_association
SET
dataset.parent_id = dataset_child_association.parent_dataset_id
WHERE
dataset.id = dataset_child_association.child_dataset_id;

---------------

7. Drop dataset_child_association table:

any database - sql command(s):
------------------------------
DROP TABLE dataset_child_association;

---------------

8. Copy parts of the current dataset table to the new history_dataset_association table:

postgres sql command(s):
------------------------
INSERT INTO history_dataset_association
SELECT
id,
history_id,
id AS dataset_id,
create_time,
update_time,
hid,
name,
info,
blurb,
peek,
extension,
metadata,
parent_id,
designation,
deleted,
visible
FROM dataset
ORDER BY id;

mysql or sqlite sql command(s):
-------------------------------
INSERT INTO
history_dataset_association
(
history_id,
dataset_id,
create_time,
update_time,
hid,
name,
info,
blurb,
peek,
extension,
metadata,
parent_id,
designation,
deleted,
visible
)
SELECT
history_id,
id,
create_time,
update_time,
hid,
name,
info,
blurb,
peek,
extension,
metadata,
parent_id,
designation,
deleted,
visible
FROM
dataset
ORDER BY
id;

---------------

9. Update the nextval value of the primary key sequence in the history_dataset_association table

NOTE: THIS IS NOT NECESSARY FOR MYSQL OR SQLITE!

postgres sql command(s):
------------------------
SELECT
setval('history_dataset_association_id_seq', max(id))
FROM
history_dataset_association;

---------------

10. Update dataset table to mark dataset_associated_file dataset as deleted:

postgres sql command(s):
------------------------
UPDATE dataset
SET
deleted = 't'
WHERE
id IN
(SELECT dataset_id FROM dataset_associated_file ORDER BY dataset_id DESC);

mysql or sqlite sql command(s):
-------------------------------
UPDATE dataset
SET
deleted = TRUE
WHERE
id IN
(SELECT dataset_id FROM dataset_associated_file ORDER BY dataset_id DESC);

---------------

11. Drop the dataset_associated_file table:

any database - sql command(s):
------------------------------
DROP TABLE dataset_associated_file;

---------------

12. Alter foreign keys on job_to_input_dataset table:

postgres or sqlite sql command(s):
------------------------
ALTER TABLE
job_to_input_dataset
DROP CONSTRAINT
job_to_input_dataset_dataset_id_fkey;

ALTER TABLE
job_to_input_dataset
ADD CONSTRAINT job_to_input_dataset_dataset_id_fkey
FOREIGN KEY
(dataset_id)
REFERENCES
history_dataset_association(id);


mysql sql command(s):
-------------------------------
ALTER TABLE
job_to_input_dataset
DROP FOREIGN KEY
ix_job_to_input_dataset_dataset_id;

ALTER TABLE
job_to_input_dataset
ADD FOREIGN KEY
ix_job_to_input_dataset_dataset_id (dataset_id)
REFERENCES
history_dataset_association(id);

---------------

13. Alter foreign keys on job_to_output_dataset table:

postgres or sqlite sql command(s):
------------------------
ALTER TABLE
job_to_output_dataset
DROP CONSTRAINT
job_to_output_dataset_dataset_id_fkey;

ALTER TABLE
job_to_output_dataset
ADD CONSTRAINT
job_to_output_dataset_dataset_id_fkey
FOREIGN KEY (dataset_id)
REFERENCES history_dataset_association(id);

mysql sql command(s):
-------------------------------
ALTER TABLE
job_to_output_dataset
DROP FOREIGN KEY
ix_job_to_output_dataset_dataset_id;

ALTER TABLE
job_to_output_dataset
ADD FOREIGN KEY
ix_job_to_output_dataset_dataset_id
FOREIGN KEY (dataset_id)
REFERENCES history_dataset_association(id);

---------------

14. Eliminate columns from the dataset table previously copied to history_dataset_association:

any database - sql command(s):
------------------------------
ALTER TABLE dataset DROP COLUMN hid;
ALTER TABLE dataset DROP COLUMN history_id;
ALTER TABLE dataset DROP COLUMN name;
ALTER TABLE dataset DROP COLUMN info;
ALTER TABLE dataset DROP COLUMN blurb;
ALTER TABLE dataset DROP COLUMN peek;
ALTER TABLE dataset DROP COLUMN extension;
ALTER TABLE dataset DROP COLUMN dbkey;
ALTER TABLE dataset DROP COLUMN metadata;
ALTER TABLE dataset DROP COLUMN parent_id;
ALTER TABLE dataset DROP COLUMN designation;
ALTER TABLE dataset DROP COLUMN visible;
ALTER TABLE dataset DROP COLUMN filename_id;
2008-07-09 17:41:08 +00:00
Greg Von Kuster aa66fa9a61 Missed a place in cleanup_datasets.py where I wanted to turn off logging. 2008-06-27 13:16:36 +00:00
Greg Von Kuster 55cbdf9905 Tweak to cleanup_datasets script, only log error messages. 2008-06-20 13:45:38 +00:00
Nate Coraor 83daeb74bb It doesn't make sense to even distribute DRMAA_python eggs. So instead
of downloading its own SGE and linking, scramble now just links to a
user-supplied SGE in $SGE_ROOT.

Added a seperate script to make it build right on sparc/x86 32/64
Solaris.
2008-05-30 20:18:03 +00:00
Greg Von Kuster 94917f5fe0 Added some important info to cleanup_datasets.py script. 2008-05-15 20:40:19 +00:00
Daniel Blankenberg a7ea9357f2 Add implicit datatype conversions.
If a dataset is not the proper format required by a tool, but there is a converter available, the dataset will appear as a valid option in DataToolParameters.

The converted dataset will be created (and subsequently reused) when the job is executed. Conversion utilizes the job runner, and will run on the cluster.

Setting metadata will invalidate the converted dataset, and a new one will be automatically generated as needed.
2008-05-15 19:09:17 +00:00
Nate Coraor 76e128a6ee monitor: Instead of creating a new history with -n, delete the old
history (which creates a new history...).
2008-05-15 17:33:34 +00:00
Greg Von Kuster bf0a8cc462 Added another wrapper around bx to handle exceptions, all gops tools affected. Added 2 new tests to gops_intersect. 2008-05-07 14:07:23 +00:00
Nate Coraor 38cc984df3 Bugfix, save cookies after creating a new history (otherwise the next
time you run the monitor, it uses the old history).
2008-05-05 16:51:26 +00:00
Nate Coraor ba4411e667 Add -n option to check_galaxy to create a new history. 2008-05-05 16:03:40 +00:00
Nate Coraor be224a4a38 dist-scramble, scrambles eggs for distribution. 2008-05-02 17:05:40 +00:00