Merge pull request #478 from owncloud/update-eos-docs

Update eos docs and auto-generated config docs
This commit is contained in:
Vincent Petry
2020-08-24 11:07:09 +02:00
committed by GitHub
2 changed files with 166 additions and 93 deletions
+116 -84
View File
@@ -1,6 +1,6 @@
---
title: "Configuration"
date: "2020-04-29T12:08:23+0200"
date: "2020-08-21T17:50:21+0200"
weight: 20
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/docs
@@ -57,15 +57,6 @@ Usage: `ocis [global options] command [command options] [arguments...]`
## Sub Commands
### ocis health
Check health status
Usage: `ocis health [command options] [arguments...]`
--debug-addr | $OCIS_DEBUG_ADDR
: Address to debug endpoint. Default: `0.0.0.0:9010`.
### ocis server
Start fullstack server
@@ -79,10 +70,10 @@ Usage: `ocis server [command options] [arguments...]`
: Tracing backend type. Default: `jaeger`.
--tracing-endpoint | $OCIS_TRACING_ENDPOINT
: Endpoint for the agent.
: Endpoint for the agent. Default: `localhost:6831`.
--tracing-collector | $OCIS_TRACING_COLLECTOR
: Endpoint for the collector.
: Endpoint for the collector. Default: `http://localhost:14268/api/traces`.
--tracing-service | $OCIS_TRACING_SERVICE
: Service name for tracing. Default: `ocis`.
@@ -108,99 +99,140 @@ Usage: `ocis server [command options] [arguments...]`
--grpc-addr | $OCIS_GRPC_ADDR
: Address to bind grpc server. Default: `0.0.0.0:9001`.
### ocis health
Check health status
Usage: `ocis health [command options] [arguments...]`
--debug-addr | $OCIS_DEBUG_ADDR
: Address to debug endpoint. Default: `0.0.0.0:9010`.
### List of available Extension subcommands
There are more subcommands to start the individual extensions. Please check the documentation about their usage and options in the dedicated section of the documentation.
#### ocis graph
Start graph server
#### ocis graph-explorer
Start graph explorer
#### ocis phoenix
Start phoenix server
#### ocis reva-storage-oc-data
Start reva oc storage dataprovider
#### ocis reva-auth-basic
Start reva auth-basic service
#### ocis glauth
Start glauth server
#### ocis reva-storage-eos-data
Start reva eos storage dataprovider
#### ocis hello
Start hello server
#### ocis ocs
Start ocs server
#### ocis reva-storage-eos
#### ocis store
Start reva eos storage
Start a go-micro store
#### ocis reva-storage-root
#### ocis reva-auth-basic
Start reva root storage
#### ocis reva-auth-bearer
Start reva auth-bearer service
#### ocis webdav
Start webdav server
#### ocis reva-gateway
Start reva gateway
#### ocis reva-frontend
Start reva frontend
#### ocis reva-storage-home-data
Start reva home storage dataprovider
#### ocis konnectd
Start konnectd server
#### ocis reva-users
Start reva users service
#### ocis proxy
Start proxy server
#### ocis reva-sharing
Start reva sharing service
#### ocis reva-storage-home
Start reva home storage
Start reva auth-basic service
#### ocis reva-storage-oc
Start reva oc storage
#### ocis run
Runs an extension
#### ocis graph-explorer
Start graph explorer
#### ocis hello
Start hello server
#### ocis phoenix
Start phoenix server
#### ocis reva-storage-eos-data
Start reva eos storage dataprovider
#### ocis reva-frontend
Start reva frontend
#### ocis reva-storage-home
Start reva home storage
#### ocis webdav
Start webdav server
#### ocis konnectd
Start konnectd server
#### ocis reva-auth-bearer
Start reva auth-bearer service
#### ocis reva-storage-home-data
Start reva home storage dataprovider
#### ocis reva-users
Start reva users service
#### ocis accounts
Start accounts server
#### ocis graph
Start graph server
#### ocis reva-storage-oc-data
Start reva oc storage dataprovider
#### ocis proxy
Start proxy server
#### ocis reva-storage-eos
Start reva eos storage
#### ocis settings
Start settings server
#### ocis kill
Kill an extension by name
#### ocis list
Lists running ocis extensions
#### ocis import
Import a user exported by owncloud/data_exporter
#### ocis thumbnails
Start thumbnails server
#### ocis reva-gateway
Start reva gateway
#### ocis reva-sharing
Start reva sharing service
#### ocis reva-storage-public-link
Start reva public link storage
#### ocis reva-storage-root
Start reva root storage
+50 -9
View File
@@ -23,21 +23,30 @@ Start the eos cluster and ocis via the compose stack
docker-compose up -d
```
{{< hint info >}}
The first time the **ocis** container starts up, it will compile ocis from scratch which can take a while.
To follow progress, run `docker-compose logs -f --tail=10 ocis`
{{< /hint >}}
### 2. LDAP support
Configure the os to resolve users and groups using ldap
Configure the OS to resolve users and groups using ldap
```
docker-compose exec -d ocis /start-ldap
```
Check that the os in the ocis container can now resolve einstein or the other demo users
Check that the OS in the ocis container can now resolve einstein or the other demo users
```
$ docker-compose exec ocis id einstein
uid=20000(einstein) gid=30000(users) groups=30000(users),30001(sailing-lovers),30002(violin-haters),30007(physics-lovers)
```
{{< hint info >}}
If the user is not found at first you might need to wait a few more minutes in case the ocis container is still compiling.
{{< /hint >}}
We also need to restart the reva-users service so it picks up the changed environment. Without a restart it is not able to resolve users from LDAP.
```
docker-compose exec ocis ./bin/ocis kill reva-users
@@ -84,6 +93,8 @@ docker-compose exec ocis eos ls -l /eos/dockertest/reva/users/4/4c510ada-c86b-48
-rw-r--r-- 1 einstein users 10 Jul 1 15:24 newfile.txt
```
If the problem persists, please check the [troubleshooting section about uploads](#creation-and-upload-of-files-does-not-work).
## Further exploration
EOS has a built in shell that you can enter using
@@ -172,15 +183,45 @@ EOS Console [root://localhost] |/>
But this is a different adventure. See the links at the top of this page for other sources of information on eos.
## Cleaning up
To clean up and start completely from scratch, run `docker-compose down -v`.
Then delete the local "bin" folder as root which contains the ocis binaries compiled by the "ocis" docker.
## Troubleshooting
Q: When running `docker-compose up -d` ocis exits right away.
A: You can check the error code using `docker-compose ps` and investigate further by running only ocis again using `docker-compose up ocis` (without `-d` so you can see what is going on in the foreground).
### Docker-compose exits right away
When running `docker-compose up -d` ocis exits right away.
You can check the error code using `docker-compose ps` and investigate further by running only ocis again using `docker-compose up ocis` (without `-d` so you can see what is going on in the foreground).
One reason might be that the binary was already built but does not match the container env. Try running `make clean` before running `docker-compose up ocis` so it gets built inside the container.
Q: How do I update a service in the ocis container?
A: 1. `docker-compose exec ocis make clean build` to update the binary
2. `docker-compose exec ocis ./bin/ocis kill <service>` to kill the service
3. `docker-compose exec ocis ./bin/ocis run <service>` to start the service. Do not forget to set any env vars, eg.
`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`
### Where are the logs ?
The ocis logs can be accessed using `docker-compose logs ocis`. Add `-f` for following.
### How do I update a service in the ocis container?
1. `docker-compose exec ocis make clean build` to update the binary
2. `docker-compose exec ocis ./bin/ocis kill <service>` to kill the service
3. `docker-compose exec ocis ./bin/ocis run <service>` to start the service. Do not forget to set any env vars, eg.
`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`
### Creation and upload of files does not work
If the upload did not work, please check the status of the eos space using the command `docker-compose exec mgm-master eos fs ls`.
In case the default space appears as offline, run `docker-compose exec mgm-master eos space set default on`.
### Uploading big files appears to hang
Please note that the uploads first go into the "ocis" docker and land in its "/tmp" folder, then gets copied over to the EOS docker using `xrdcopy`.
This is why uploading first transfers all bytes and then seem to hang for a while during the final copy.
### Running out of space quickly
The EOS dockers are configured with replication, so every file uploaded there will be replicated 4 times,
so make sure there is enough physical space on disk when testing.
Also please note that older failed uploads might still be present in the "/tmp" directory of the "ocis" container.