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

Documentation rewrite - phase one #112

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open

Conversation

grdumas
Copy link
Contributor

@grdumas grdumas commented Sep 10, 2024

Documentation in Zathras is currently spread across multiple files, which can create confusion about where to go for information. In order to reduce this confusion, and to improve the readability and maintainability of our documentation, this PR implements the first phase of a larger docs rewrite for Zathras.

The goal of this phase is to revamp the documentation on a structural level (described more below), which will be followed by further expanding and updating the documentation's contents. In order to not lose the knowledge captured by existing documentation, older docs have been moved to a subdirectory within docs/ until the new documentation can fully stand on its own.

Summary of major changes:

  • Primary repo README is now geared towards new Zathras users by providing an overview of the project and linking to separate quickstart resources for installation and testing.
  • Key Zathras subcomponents and concepts (scenario files, test config files, running tests) now have their own pages. Separating documentation like this serves two purposes: 1) it keeps each doc short and avoids overwhelming users via info dumps, and 2) it improves the maintainability of the documentation by only requiring information to be updated in one place.

@grdumas grdumas added the documentation Improvements or additions to documentation label Sep 10, 2024
## About
Zathras is a test automation framework for use with bare metal, cloud, and virtualized systems. Tests are defined by wrappers - external, self-contained scripts that enable easy extension of Zathras's functionality.

Currently, Zathras offers the following test wrappers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change currently to be
As of 09/11/204
That way there is a time date present, and if a test is added it does not automatically cause problems.
Also add a line something like this.
To see the current available tests the version you are running, and the latest version issue the following command
./burden --test_version_check

2. Zathras runs using either a configuration file or by supplying parameters in your command-line interface (CLI) (see the [CLI reference](docs/command_line_reference.md) for more info).
3. Test(s) run on the system under test (SUT).
4. When tests finish, Zathras copies the results back to the controller system.
5. Once results have been retrieved, Zathras will attempt to cleanup the testing environment (such as by tearing down instances in the cloud or by removing directories and files on bare metal).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add this info
To not have zathras cleanup, use the option --no_clean_up to the command line.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe instead just "This step can be skipped using the --no_clean_up option"

### Requirements
To use Zathras, you need:
1. A system that will coordinate the execution of tests, which we will call the *control node* or simply the *controller*.
2. One or more systems where tests will be run. This can be another physical system (aka bare metal), an instance on a public cloud like Amazon Web Services (AWS), or even a virtual machine (VM) either on the controller or another host system.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For cloud. Instance is created for us. If the cloud instance already exists we can treat it as a bare metal machine.

Note: for most installations the install script should be run as a user, not root.

### Test config files
Test config files, stored in the config/ directory of the Zathras installation, are the connective tissue between Zathras and the test wrappers. Currently this Zathras repo does not contain any defined test config files. Before you can use this tool, you will need to write your own test configs using the included example.yml, or add the configs from an external source if one is available to you.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo, tissue

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has also changed, config files are provided.


However, there are some aspects that are particular to the testing environment being used. Please refer to the following documentation that matches your use case:

- [Testing on bare metal](https://github.com/redhat-performance/zathras/blob/documentation-rewrite/docs/test_config_files.md)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you submit, make sure the changes goes to documentation, not documentation-rewrite and you update everything accordingly.

Copy link
Contributor

@dvalinrh dvalinrh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good for the most part. We need more then one person reviewing this though.

2. Zathras runs using either a configuration file or by supplying parameters in your command-line interface (CLI) (see the [CLI reference](docs/command_line_reference.md) for more info).
3. Test(s) run on the system under test (SUT).
4. When tests finish, Zathras copies the results back to the controller system.
5. Once results have been retrieved, Zathras will attempt to cleanup the testing environment (such as by tearing down instances in the cloud or by removing directories and files on bare metal).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe instead just "This step can be skipped using the --no_clean_up option"

Note: for most installations the install script should be run as a user, not root.

### Test config files
Test config files, stored in the config/ directory of the Zathras installation, are the connective tissue between Zathras and the test wrappers. Currently this Zathras repo does not contain any defined test config files. Before you can use this tool, you will need to write your own test configs using the included example.yml, or add the configs from an external source if one is available to you.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has also changed, config files are provided.

Comment on lines +171 to +172
### --os_vendor \<os vendor>
Currently rhel, ubuntu, amazon.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a Cloud-only option


### Scenario file for bare metal
#### Example 1
This scenario would run the STREAM benchmark on a local bare metal system named "test_sys".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably best to mention the need for a local_config here, with a link to relevant documentation if available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants