Skip to content
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

Small change to Stratum 1 docs and a first draft of client configuration docs #85

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions docs/filesystem_layer/installing_a_client/ansible.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Option 3: Ansible

Start by cloning the EESSI filesystem-layer repo:

```bash
git clone https://github.com/EESSI/filesystem-layer.git
```

Make sure that the `inventory/hosts` file contains the list of hosts where the CVMFS client should be
installed. Furthermore, you can define a list of (local) proxy servers that your clients should use
in `inventory/local_site_specific_vars.yml` using the parameter `local_cvmfs_http_proxies`. See
`inventory/local_site_specific_vars.yml.example` for more details. If you just want to roll out one
client without a proxy, you can leave this out.

Finally, install the client by running the playbook:

```bash
ansible-playbook -b -K -e @inventory/local_site_specific_vars.yml client.yml
```

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Client configuration options

The EESSI repository is made available through the CernVM-FS client. We support four methods for
installing, running and configuring the CernVM-FS client on a computer:


1. [`Manual installation using a standalone package`](standalone_package.md)
2. [`Installation via the EESSI package repository`](package_repository.md)
3. [`Automated installation using a Ansible playbook`](ansible.md)
4. [`Running a fully prepared Singularity container`](singularity.md)


34 changes: 34 additions & 0 deletions docs/filesystem_layer/installing_a_client/package_repository.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Option 2: Package repository


We have a yum repository where you can install the configuration package from. If you opt for this
solution you will get automatic updates. To configure your client using this option, run the
following commands:

```
sudo yum -y install http://repo.eessi-infra.org/eessi/rhel/8/noarch/eessi-release-0-1.noarch.rpm
sudo yum check-update
sudo yum -y install cvmfs-config-eessi
```

Next, you need to make a file `/etc/cvmfs/default.local` manually; this file is used for local
settings and contains, for instance, the URL to your local proxy and the size of the local cache. As
an example, you can put the following in this file, which corresponds to not using a proxy and
setting the local quota limit to 40000MB:

```bash
CVMFS_CLIENT_PROFILE=single
CVMFS_QUOTA_LIMIT=40000
```

If you do want to use your own proxy, replace the first line by:

```bash
CVMFS_HTTP_PROXY=<hostname of your proxy>:<port>
```

For more details about configuring your client, see the CVMFS documentation on [`client
configuration`](https://cvmfs.readthedocs.io/en/stable/cpt-configure.html).

Finally, run `cvmfs_config setup` to set up CVMFS.

3 changes: 3 additions & 0 deletions docs/filesystem_layer/installing_a_client/singularity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Option 4: Singularity

You can also access the EESSI pilot via [`Singularity`](../../pilot.md#accessing-the-eessi-pilot-repository-through-singularity).
37 changes: 37 additions & 0 deletions docs/filesystem_layer/installing_a_client/standalone_package.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Option 1: Standalone package

On many operating systems the CVMFS client can be installed through your package manager. For
details for your OS/Distro, see the [Getting Started
page](https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html) in the CVMFS documentation.

After installing the client, you will have to configure it. For this you can use the CVMFS
configuration packages that we provide for clients. These packages can be found on the
[Releases](https://github.com/eessi/filesystem-layer/releases) page. Download the package for your
operating system, and install it, e.g.:

```bash
rpm -i cvmfs-config-eessi-*.rpm
dpkg -i cvmfs-config-eessi-*.deb
```

Next, you need to make a file `/etc/cvmfs/default.local` manually; this file is used for local
settings and contains, for instance, the URL to your local proxy and the size of the local cache. As
an example, you can put the following in this file, which corresponds to not using a proxy and
setting the local quota limit to 40000MB:

```bash
CVMFS_CLIENT_PROFILE=single
CVMFS_QUOTA_LIMIT=40000
```

If you do want to use your own proxy, replace the first line by:

```bash
CVMFS_HTTP_PROXY=<hostname of your proxy>:<port>
```

For more details about configuring your client, see the CVMFS documentation on [`client
configuration`](https://cvmfs.readthedocs.io/en/stable/cpt-configure.html).

Finally, run `cvmfs_config setup` to set up CVMFS.

18 changes: 1 addition & 17 deletions docs/filesystem_layer/stratum1.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,30 +59,14 @@ cvmfs_srv_mount: /srv
```

Make sure that you have added the hostname or IP address of your server to the
`inventory/hosts` file. Finally, install the Stratum 1 using one of the two following options.
`inventory/hosts` file. Finally, install the Stratum 1 by running the playbook:

Option 1:

``` bash
# -b to run as root, optionally use -K if a sudo password is required
ansible-playbook -b [-K] -e @inventory/local_site_specific_vars.yml stratum1.yml
```

Option2:

Create a ssh key pair and make sure the `ansible-host-keys.pub` is in the
`$HOME/.ssh/authorized_keys` file on your Stratum 1 server.

```bash
ssh-keygen -b 2048 -t rsa -f ~/.ssh/ansible-host-keys -q -N ""
```

Then run the playbook:

```bash
ansible-playbook -b --private-key ~/.ssh/ansible-host-keys -e @inventory/local_site_specific_vars.yml stratum1.yml
```

Running the playbook will automatically make replicas of all the repositories defined in `group_vars/all.yml`.


Expand Down
6 changes: 6 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ nav:
- Filesystem layer:
- Overview: filesystem_layer.md
- filesystem_layer/stratum1.md
- Configuring the client:
- filesystem_layer/installing_a_client/client_configuration_options.md
- filesystem_layer/installing_a_client/standalone_package.md
- filesystem_layer/installing_a_client/package_repository.md
- filesystem_layer/installing_a_client/ansible.md
- filesystem_layer/installing_a_client/singularity.md
- Compatibility layer: compatibility_layer.md
- Software layer:
- Overview: software_layer.md
Expand Down