Skip to content

Commit

Permalink
Merge pull request #484 from butonic/use-eos-driver
Browse files Browse the repository at this point in the history
use eos driver for /eos namespace
  • Loading branch information
Vincent Petry authored Aug 27, 2020
2 parents fe73c6a + 3dc3241 commit 5d3eb1d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 26 deletions.
27 changes: 14 additions & 13 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,29 @@ services:
- ../ocis-reva:/ocis-reva
- ../reva:/reva
environment:
EOS_MGM_URL: ${EOS_MGM_URL:-root://mgm-master.testnet:1094}
# ocis log level will be used for all services
OCIS_LOG_LEVEL: debug
# domain setup
# TODO currently the below lines hardcode the port to 9200, use an OCIS_URL that includes protocol and port
OCIS_DOMAIN: ${OCIS_DOMAIN:-localhost}
PROXY_OIDC_ISSUER: https://${OCIS_DOMAIN:-localhost}:9200
KONNECTD_ISS: https://${OCIS_DOMAIN:-localhost}:9200
KONNECTD_LOG_LEVEL: debug
KONNECTD_TLS: '0'
PHOENIX_OIDC_AUTHORITY: https://${OCIS_DOMAIN:-localhost}:9200
PHOENIX_OIDC_METADATA_URL: https://${OCIS_DOMAIN:-localhost}:9200/.well-known/openid-configuration
PHOENIX_WEB_CONFIG_SERVER: https://${OCIS_DOMAIN:-localhost}:9200
PROXY_HTTP_ADDR: 0.0.0.0:9200
REVA_OIDC_ISSUER: https://${OCIS_DOMAIN:-localhost}:9200
REVA_LDAP_IDP: https://${OCIS_DOMAIN:-localhost}:9200
OCIS_LOG_LEVEL: debug
REVA_TRANSFER_EXPIRES: 86400
REVA_STORAGE_EOS_DRIVER: eoshome
REVA_STORAGE_EOS_DATA_DRIVER: eoshome
REVA_STORAGE_EOS_NAMESPACE: "/eos/dockertest/reva/users"
REVA_STORAGE_EOS_MASTER_URL: ${EOS_MGM_URL:-root://mgm-master.testnet:1094}
REVA_STORAGE_EOS_SLAVE_URL: ${EOS_MGM_URL:-root://mgm-master.testnet:1094}
REVA_STORAGE_EOS_LAYOUT: "{{substr 0 1 .Id.OpaqueId}}"
# TODO make id the default in ocis-reva
REVA_STORAGE_EOS_LAYOUT: "{{substr 0 1 .Id.OpaqueId}}/{{.Id.OpaqueId}}"
REVA_FRONTEND_URL: https://${OCIS_DOMAIN:-localhost}:9200
REVA_DATAGATEWAY_URL: https://${OCIS_DOMAIN:-localhost}:9200/data

# common eos settings used for both drivers: eos and eoshome
REVA_STORAGE_EOS_MASTER_URL: ${EOS_MGM_URL:-root://mgm-master.testnet:1094}
REVA_STORAGE_EOS_SLAVE_URL: ${EOS_MGM_URL:-root://mgm-master.testnet:1094}
REVA_STORAGE_EOS_NAMESPACE: "/eos/dockertest/reva/users"
# the eos end xrdcopy binaries use this env var to find the eos mgm
EOS_MGM_URL: ${EOS_MGM_URL:-root://mgm-master.testnet:1094}

mgm-master:
container_name: mgm-master
image: owncloud/eos-mgm:4.6.5
Expand Down
17 changes: 4 additions & 13 deletions docs/eos.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,35 +57,26 @@ docker-compose exec ocis ./bin/ocis run reva-users

### 3. Home storage

Kill the home storage. By default it uses the `owncloud` storage driver. We need to switch it to the `eoshome` driver and a new layout:
Kill the home storage. By default it uses the `owncloud` storage driver. We need to switch it to the `eoshome` driver and make it use the storage id of the eos storage provider:

```
docker-compose exec ocis ./bin/ocis kill reva-storage-home
docker-compose exec -e REVA_STORAGE_EOS_LAYOUT="{{substr 0 1 .Id.OpaqueId}}/{{.Id.OpaqueId}}" -e REVA_STORAGE_HOME_DRIVER=eoshome ocis ./bin/ocis run reva-storage-home
docker-compose exec -e REVA_STORAGE_HOME_DRIVER=eoshome -e REVA_STORAGE_HOME_MOUNT_ID=1284d238-aa92-42ce-bdc4-0b0000009158 ocis ./bin/ocis run reva-storage-home
```

### 4. Home data provider

Kill the home data provider. By default it uses the `owncloud` storage driver. We need to switch it to the `eoshome` driver and a new layout:
Kill the home data provider. By default it uses the `owncloud` storage driver. We need to switch it to the `eoshome` driver and make it use the storage id of the eos storage provider:

```
docker-compose exec ocis ./bin/ocis kill reva-storage-home-data
docker-compose exec -e REVA_STORAGE_EOS_LAYOUT="{{substr 0 1 .Id.OpaqueId}}/{{.Id.OpaqueId}}" -e REVA_STORAGE_HOME_DATA_DRIVER=eoshome ocis ./bin/ocis run reva-storage-home-data
docker-compose exec -e REVA_STORAGE_HOME_DATA_DRIVER=eoshome ocis ./bin/ocis run reva-storage-home-data
```

{{< hint info >}}
The difference between the *home storage* and the *home data provider* are that the former is responsible for metadata changes while the latter is responsible for actual data transfer. The *home storage* uses the cs3 api to manage a folder hierarchy, while the *home data provider* is responsible for moving bytes to and from the storage.
{{< /hint >}}

### 4. Frontend files namespace

Restart the reva frontend with a new namespace (pointing to the eos storage provider) for the dav files endpoint

```
docker-compose exec ocis ./bin/ocis kill reva-frontend
docker-compose exec -e DAV_FILES_NAMESPACE="/eos/" ocis ./bin/ocis run reva-frontend
```

## Verification

Login with `einstein / relativity`, upload a file to einsteins home and verify the file is there using
Expand Down

0 comments on commit 5d3eb1d

Please sign in to comment.