Migrating an existing Islandora 7 instance to ISLE, issues connecting to Fedora

Skip to first unread message

Manny Rodriguez

Oct 12, 2023, 7:12:33 PM10/12/23
to islandora

I'm working through migrating an existing Islandora 7 site to an ISLE based instance.

The data I have for the site being migrated is:

-Fedora datastreamStore folder
-Fedora objectStore folder
-Fedora SQL database
-Drupal SQL database

I've successfully deployed a blank ISLE instance, and loaded the sample data.

As per the migration docs (step 9: https://islandora-collaboration-group.github.io/ISLE/install/install-local-migrate/) I've loaded the Fedora and Drupal SQL databases.

After that, I've moved the Fedora datastreamStore/objectStore folders into the Fedora Docker container so they are in the expected place, e.g., `/usr/local/fedora/data`.

After loading the Drupal database, I get an 403 access denied when I try to load up the site, of which the cause seems to be that the instance can't connect to Fedora. (screenshot attached)

In the database I'm migrating in, looking in the `variable` table in the Drupal database, there are no `variable` records returned with `name = islandora_base_url`. The query I'm running is:
`select * from variable where name = 'islandora_base_url';`

When I run this on a blank, freshly deployed ISLE instance, I can see that in that case, a record is returned:

| name               | value                      |
| islandora_base_url | s:18:"fedora:8080/fedora"; |

It seems like this missing configuration directive is addressed in the migration documentation with the instruction to run the `migration_site_vsets.sh` script. (Step 10)

However, running that script or any of the drush commands in there fails. For example, running:
`drush -u 1 -y vset islandora_base_url "localhost:8081/fedora`

fails with the following error:
`Could not connect to the repository. Please check the settings on the Islandora configuration page.

I'm not understanding how I can configure the fedora repo URL in the `islandora_base_url` config directive if `drush` can't execute commands because there's no connection to Fedora.

I will try manually inserting this key/value pair into the database with a SQL insert statement, but I'm wondering if there are other records being inserted by `drush`. Additionally, the `migration_site_vsets.sh` looks to run about 2 dozen different `drush` commands.

Has anyone else run into this issue before?

Manny Rodriguez

Oct 12, 2023, 7:19:27 PM10/12/23
to isla...@googlegroups.com
Here's the screenshot referenced in the above post:

Learn more about Islandora in general at islandora.ca and join the community at https://github.com/Islandora/islandora-community/wiki
You received this message because you are subscribed to a topic in the Google Groups "islandora" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/islandora/u1P6_GryT1s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to islandora+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/islandora/8e2bb841-76db-4272-8260-3f7865363388n%40googlegroups.com.

Noah Smith

Oct 13, 2023, 8:53:59 AM10/13/23
to islandora
Islandora 7 will sort of shut down if it cannot connect to Fedora, and having no setting for that value (or the wrong setting) will cause that behavior. 

You can work around that by making this change:
Screenshot 2023-10-13 at 8.51.40 AM.png

That should let Drupal (and thus drush) operate to give you room to figure out what's really going on. My guess is that either the fedora container isn't running properly, or somehow the port numbers got jumbled (I see a discrepancy between 8080 and 8081 in your post).

Hope that helps, ~Noah

Manny Rodriguez

Oct 16, 2023, 6:26:47 PM10/16/23
to isla...@googlegroups.com
Hi Noah,

Thanks for the tip!

I was able to find the `RepositoryConnection.php` file in `/var/www/html/sites/all/libraries/tuque` and comment out the exception throwing and add the return statement as you suggested. I then restarted the Drupal/Apache docker container.

Unfortunately, that didn't change anything. I grepped the `/var/www/html` source directory for references to `RepositoryException` and found an identical file in `/var/www/html/sites/all/modules/tuque` and modified that as well, but that didn't seem to have an effect either.

Running `drush -u 1 -y vset islandora_base_url "localhost:8081/fedora"` still fails with the "Could not connect to the repository" error.

There's another call to throw the exception on line 59 of `RepositoryConnection`, commenting that out in both files has no effect either.

I see another reference to `RepositoryException` in `sites/all/modules/islandora/islandora/includes/datastream.inc`, but the context there seems to be an integrity check on uploaded files.

Might there be another place I need to change?

Noah Smith

Oct 17, 2023, 8:49:04 AM10/17/23
to islandora
Hmm. Then I think you may need to hop into the database and set that value. From one of our remaining ISLE-7 sites, I can share that the value we're using for islandora_base_url is "fedora:8080/fedora" . Hope that helps, ~Noah

Manny Rodriguez

Oct 20, 2023, 1:54:05 PM10/20/23
to isla...@googlegroups.com
Thanks again for the help, Noah.

Manually updating records in the `variables` table of the database was the key, and we're up and running now.

Noah Smith

Oct 20, 2023, 4:25:54 PM10/20/23
to isla...@googlegroups.com
Excellent! Glad to help...


Noah Smith

Founder + CEO

Pronouns: he/him/his. Scheduling a meeting with me? Set something up with Calendly

Born-Digital | 84 Russell St, Hadley MA | (413) 259-6777 | born-digital.com

Reply all
Reply to author
0 new messages