-
-
Notifications
You must be signed in to change notification settings - Fork 5
Update to function as out-of-the-box test server #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c4d4927
d1673a0
456586a
4ab1036
273d8e9
7ac2879
b2e71be
0b185d8
582b732
eeaa47b
73baa3e
99f2e0a
848c73f
a2e5844
5515006
1a0cf72
6b3a53c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| server=http://nginx:80/api/v1/xml | ||
| server=http://nginx:8000/api/v1/xml |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,30 +2,7 @@ | |
| # Change the filepath of openml.file | ||
| # from "https://www.openml.org/data/download/1666876/phpFsFYVN" | ||
| # to "http://minio:9000/datasets/0000/0001/phpFsFYVN" | ||
| mysql -hdatabase -uroot -pok -e 'UPDATE openml.file SET filepath = CONCAT("http://minio:9000/datasets/0000/", LPAD(id, 4, "0"), "/", SUBSTRING_INDEX(filepath, "/", -1)) WHERE extension="arff";' | ||
| mysql -hdatabase -uroot -pok -e 'UPDATE openml.file SET filepath = CONCAT("http://localhost:8000/minio/datasets/0000/", LPAD(id, 4, "0"), "/", SUBSTRING_INDEX(filepath, "/", -1)) WHERE extension="arff";' | ||
|
|
||
| # Update openml.expdb.dataset with the same url | ||
| mysql -hdatabase -uroot -pok -e 'UPDATE openml_expdb.dataset DS, openml.file FL SET DS.url = FL.filepath WHERE DS.did = FL.id;' | ||
|
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These removed updates are now embedded in the state of the database on the new image |
||
|
|
||
|
|
||
|
|
||
|
|
||
| # Create the data_feature_description TABLE. TODO: can we make sure this table exists already? | ||
| mysql -hdatabase -uroot -pok -Dopenml_expdb -e 'CREATE TABLE IF NOT EXISTS `data_feature_description` ( | ||
| `did` int unsigned NOT NULL, | ||
| `index` int unsigned NOT NULL, | ||
| `uploader` mediumint unsigned NOT NULL, | ||
| `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | ||
| `description_type` enum("plain", "ontology") NOT NULL, | ||
| `value` varchar(256) NOT NULL, | ||
| KEY `did` (`did`,`index`), | ||
| CONSTRAINT `data_feature_description_ibfk_1` FOREIGN KEY (`did`, `index`) REFERENCES `data_feature` (`did`, `index`) ON DELETE CASCADE ON UPDATE CASCADE | ||
| )' | ||
|
|
||
| # SET dataset 1 to active (used in unittests java) | ||
| mysql -hdatabase -uroot -pok -Dopenml_expdb -e 'INSERT IGNORE INTO dataset_status VALUES (1, "active", "2024-01-01 00:00:00", 1)' | ||
| mysql -hdatabase -uroot -pok -Dopenml_expdb -e 'DELETE FROM dataset_status WHERE did = 2 AND status = "deactivated";' | ||
|
|
||
| # Temporary fix in case the database missed the kaggle table. The PHP Rest API expects the table to be there, while indexing. | ||
| mysql -hdatabase -uroot -pok -Dopenml_expdb -e 'CREATE TABLE IF NOT EXISTS `kaggle` (`dataset_id` int(11) DEFAULT NULL, `kaggle_link` varchar(500) DEFAULT NULL)' | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| CONFIG=api_key=AD000000000000000000000000000000;server=http://php-api:80/ | ||
| CONFIG=api_key=abc;server=http://php-api:80/ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't understand, here the api key is set from
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The evaluation engine needs administrator access currently. |
||
| JAVA=/usr/bin/java | ||
| JAR=/usr/local/lib/evaluation-engine.jar | ||
| LOG_DIR=/logs | ||
| LOG_DIR=/logs | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,16 @@ | ||
| #!/bin/sh | ||
|
|
||
| # We need to remove the default 127.0.0.1 localhost map to | ||
| # ensure the remap to the static nginx ip address is respected. | ||
| # Updating /etc/hosts in place isn't always allowed ("Resource Busy"), | ||
| # directly overwriting it instead seems to bypass that protection. | ||
| cp /etc/hosts /etc/hosts.new | ||
| sed -i '/^127.0.0.1.*localhost/d' /etc/hosts.new | ||
| sed -i -E 's/^(::1\t)localhost (.*)$/\1\2/g' /etc/hosts.new | ||
| cat /etc/hosts.new > /etc/hosts | ||
| rm /etc/hosts.new | ||
|
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For other containers updating /etc/hosts through configuration was sufficient. |
||
| printenv | grep -v HOME >> /etc/environment | ||
|
|
||
| touch /cron.log | ||
| /usr/sbin/crond -l 4 && tail -f /cron.log | ||
| /usr/sbin/crond -l 4 && tail -f /cron.log | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,2 @@ | ||
| apikey=AD000000000000000000000000000000 | ||
| server=http://nginx:80/api/v1/xml | ||
| apikey=normaluser | ||
| server=http://localhost:8000/api/v1/xml | ||
|
Comment on lines
+1
to
+2
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ... and here the api key is set from So far, these were the keys for developers: has anything changed here? Also what are the api keys for
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This configuration is just for when you spin up a
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Python-based REST API uses the keys that are in the database. The server is unaffected, but I will need to update the keys that are used in its tests. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| services: | ||
| database: | ||
| image: "openml/test-database:20240105" | ||
| image: "openml/test-database:v0.1.20260204" | ||
| container_name: "openml-test-database" | ||
| environment: | ||
| MYSQL_ROOT_PASSWORD: ok | ||
|
|
@@ -54,11 +54,15 @@ services: | |
| context: config/nginx | ||
| container_name: openml-nginx | ||
| ports: | ||
| - "8000:80" | ||
| - "8000:8000" | ||
| networks: | ||
| default: | ||
| ipv4_address: 172.28.0.2 | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. the static ip address is required so that we can add entries to |
||
|
|
||
|
|
||
| php-api: | ||
| profiles: ["all", "minio", "rest-api", "frontend", "evaluation-engine"] | ||
| image: openml/php-rest-api:v1.2.1 | ||
| image: openml/php-rest-api:v1.2.4 | ||
| container_name: "openml-php-rest-api" | ||
| ports: | ||
| - "8080:80" # also known as /api (nginx) | ||
|
|
@@ -78,6 +82,8 @@ services: | |
| start_interval: 5s | ||
| timeout: 3s | ||
| interval: 1m | ||
| extra_hosts: | ||
| - "localhost=172.28.0.2" | ||
|
|
||
| email-server: | ||
| profiles: ["all", "frontend"] | ||
|
|
@@ -95,7 +101,7 @@ services: | |
|
|
||
| frontend: | ||
| profiles: ["all", "frontend"] | ||
| image: openml/frontend:dev_v2.0.20251111 | ||
| image: openml/frontend:v2.1.1 | ||
| container_name: "openml-frontend" | ||
| ports: | ||
| - "8081:5000" # also known as / (nginx) | ||
|
|
@@ -108,7 +114,7 @@ services: | |
|
|
||
| minio: | ||
| profiles: ["all", "minio", "evaluation-engine"] | ||
| image: openml/test-minio:v0.1.20241110 | ||
| image: openml/test-minio:v0.1.20260204 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This minio contains most parquet files out of the box, but not all! This is probably a mistake? Also, it contains some weird files:
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Apparently the weird files are apache: https://httpd.apache.org/docs/2.4/mod/mod_autoindex.html
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The omission of 128 was accidental, but turned out to be useful for the
As for the reason it was skipped.. that's worth looking into. For now, I'll add a note to the readme. |
||
| container_name: "openml-minio" | ||
| ports: | ||
| - "9000:9000" # also known as /data (nginx) | ||
|
|
@@ -133,6 +139,8 @@ services: | |
| depends_on: | ||
| php-api: | ||
| condition: service_healthy | ||
| extra_hosts: | ||
| - "localhost=172.28.0.2" | ||
|
|
||
| croissants: | ||
| profiles: ["all"] | ||
|
|
@@ -157,7 +165,15 @@ services: | |
| depends_on: | ||
| php-api: | ||
| condition: service_healthy | ||
| extra_hosts: | ||
| - "localhost=172.28.0.2" | ||
|
|
||
| networks: | ||
| default: | ||
| name: openml-services | ||
| ipam: | ||
| driver: default | ||
| config: | ||
| - subnet: 172.28.0.0/16 | ||
| ip_range: 172.28.1.0/24 | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.