Skip to content

Commit

Permalink
feat(README): add separate section for scylla integration with status
Browse files Browse the repository at this point in the history
This section contains additional info about limitations of given ScyllaDB version.

Fixes #3872
  • Loading branch information
Michal-Leszczynski committed Jul 3, 2024
1 parent becead4 commit 3b03e93
Showing 1 changed file with 30 additions and 33 deletions.
63 changes: 30 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,53 @@
![Sanity check](https://github.com/scylladb/scylla-manager/actions/workflows/sanity-checks.yml/badge.svg?branch=master)
![Language](https://img.shields.io/badge/Language-Go-blue.svg)

![Integration tests 5.4.1 IPV4](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv4.yaml/badge.svg?branch=master)
![Integration tests 5.4.1 IPV4 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv4-raftschema.yaml/badge.svg?branch=master)
![Integration tests 5.4.1 IPV6](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv6.yaml/badge.svg?branch=master)
![Integration tests 5.4.1 IPV6 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv6-raftschema.yaml/badge.svg?branch=master)

![Integration tests 2023.1.3 IPV4](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv4.yaml/badge.svg?branch=master)
![Integration tests 2023.1.3 IPV4 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv4-raftschema.yaml/badge.svg?branch=master)
![Integration tests 2023.1.3 IPV6](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv6.yaml/badge.svg?branch=master)
![Integration tests 2023.1.3 IPV6 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv6-raftschema.yaml/badge.svg?branch=master)

![Integration tests nightly IPV4 ](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-nightly-ipv4-raftschema.yaml/badge.svg?branch=master)
![Integration tests nightly IPV4 raft-topology](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-nightly-ipv4-raftschema-rafttopology.yaml/badge.svg?branch=master)
![Integration tests nightly IPV4 raft-topology tablets](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-nightly-ipv4-raftschema-rafttopology-tablets.yaml/badge.svg?branch=master)
# Scylla Manager

Welcome to Scylla Manager repository!
Scylla Manager user docs can be found [here](https://manager.docs.scylladb.com/stable/).
Scylla Manager user docs can be found [here](https://manager.docs.scylladb.com/stable/).

Scylla Manager consists of tree components:

1. a server that manages Scylla clusters
1. an agent running on each node
1. `sctool` - a CLI interface to the server
2. an agent running on each node
3. `sctool` - a CLI interface to the server

## Scylla integration status

| ScyllaDB version | workflows | Limitations |
|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| **5.4.1** | ![Integration tests 5.4.1 IPV4](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv4.yaml/badge.svg?branch=master)<br/>![Integration tests 5.4.1 IPV4 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv4-raftschema.yaml/badge.svg?branch=master)<br/>![Integration tests 5.4.1 IPV6](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv6.yaml/badge.svg?branch=master)<br/>![Integration tests 5.4.1 IPV6 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-5.4.1-ipv6-raftschema.yaml/badge.svg?branch=master) | Restoration of schema into cluster with `consistant_cluster_management: true` is not supported |
| **2023.1.3** | ![Integration tests 2023.1.3 IPV4](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv4.yaml/badge.svg?branch=master)<br/>![Integration tests 2023.1.3 IPV4 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv4-raftschema.yaml/badge.svg?branch=master)<br/>![Integration tests 2023.1.3 IPV6](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv6.yaml/badge.svg?branch=master)<br/>![Integration tests 2023.1.3 IPV6 raft-schema](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-2023.1.3-ipv6-raftschema.yaml/badge.svg?branch=master) | Restoration of schema into cluster with `consistant_cluster_management: true` is not supported |
| **enterprise-nightly-latest** | ![Integration tests nightly IPV4 ](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-nightly-ipv4-raftschema.yaml/badge.svg?branch=master)<br/>![Integration tests nightly IPV4 raft-topology](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-nightly-ipv4-raftschema-rafttopology.yaml/badge.svg?branch=master)<br/>![Integration tests nightly IPV4 raft-topology tablets](https://github.com/scylladb/scylla-manager/actions/workflows/integration-tests-nightly-ipv4-raftschema-rafttopology-tablets.yaml/badge.svg?branch=master) | Restoration of **Authentication** and **Service Levels** is not supported<br/>Restoration of schema containing **Alternator** tables is not supported |

## Installing and updating Go

The desired Go version is specified in `.go-version` file.
You can install or update Go version by running `make install` in `go` directory.
It would install the required version alongside your current version assuming that go is extracted from an official tar package.
If you do not have any Go installed at this point you can pass TARGET variable to specify a directory where to install Go.
It would install the required version alongside your current version assuming that go is extracted from an official tar
package.
If you do not have any Go installed at this point you can pass TARGET variable to specify a directory where to install
Go.

**Procedure**:

1. Run `make -C go install TARGET=/path/to/go/sdks/goversion` example `make install TARGET=~/tools/go/go1.15.5.linux-amd64`
1. Define `GOROOT` environment variable as `<git-root>/go/latest`
2. Define `GOROOT` environment variable as `<git-root>/go/latest`

## Installing other packages needed for development

1. Install Docker
1. Run installation script `./install-dependencies.sh`
2. Run installation script `./install-dependencies.sh`

## Configuring imports formatting in GoLand

If using GoLand update import grouping policy:

1. Open File -> Settings -> Editor -> Code Style -> Go
1. Go to Imports Pane
1. Set "Sorting type" to goimports
1. Check every checkbox but "Group current project imports"
1. Press OK
2. Go to Imports Pane
3. Set "Sorting type" to goimports
4. Check every checkbox but "Group current project imports"
5. Press OK

## Increase fs.aio-max-nr

Expand All @@ -61,7 +58,7 @@ In order to run a Scylla it's required to increase the number of async i/o opera
echo "fs.aio-max-nr = 1048576" > /etc/sysctl.d/50-scylla.conf
```

## Running a development environment
## Running a development environment

Let's start the development environment.

Expand All @@ -76,10 +73,10 @@ IPV6=true make start-dev-env

This command will:
1. Build custom Scylla Docker image (testing/scylla)
1. Compile server, agent and sctool binaries
1. Start Scylla cluster with 2 DCs 3 nodes each (6 containers)
1. Start MinIO and Prometheus containers
1. Start dedicated Scylla container for Scylla Manager datastore
2. Compile server, agent and sctool binaries
3. Start Scylla cluster with 2 DCs 3 nodes each (6 containers)
4. Start MinIO and Prometheus containers
5. Start dedicated Scylla container for Scylla Manager datastore

Additionally, you can start container with scylla-manager server.
```bash
Expand All @@ -104,7 +101,7 @@ For other commands consult [user manual](https://docs.scylladb.com/operating-scy

### Helpful Makefile targets

Make is self-documenting run `make` or `make help` to see available targets with descriptions.
Make is self-documenting run `make` or `make help` to see available targets with descriptions.

More Makefile targets are available in `testing` directory.

Expand Down Expand Up @@ -132,7 +129,7 @@ IPV6=true make pkg-integration-test PKG=pkg/service/foo
```

Project testing heavily depends on integration tests, which are slow.
Tests should run for couple of minutes.
Tests should run for a couple of minutes.
All tests should succeed.

## Extending HTTP clients
Expand Down Expand Up @@ -162,12 +159,12 @@ Pull master regularly and rebase your work upon master whenever your dev branch
You are allowed and required to force push to your branches to keep the history neat and clean.

Document your work in commit messages.
Explain why you made the changes and mention IDs of the affected issues on Github.
Explain why you made the changes and mention IDs of the affected issues on GitHub.

Before pushing please run `make check` and `make test` to make sure all tests pass.

When satisfied create a pull request onto master.
All pull requests have to go trough review process before they are merged.
All pull requests have to go through review process before they are merged.

## License

Expand Down

0 comments on commit 3b03e93

Please sign in to comment.