Skip to content

Commit

Permalink
doc: update workflows, core component docs.
Browse files Browse the repository at this point in the history
* Update Foreman workflows image with Milton
* Remove reference to --regen-wiki from main docs
* Add example image for quads-web search
* Additional doc updates / clarificiations.

Change-Id: If802800be42b224b70c3e60fdb1f7deccca1f380
  • Loading branch information
sadsfae committed Nov 29, 2024
1 parent 6a0d118 commit 2287196
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 9 deletions.
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ QUADS automates the future scheduling, end-to-end provisioning and delivery of b
* [Define Host Interfaces in QUADS](#define-host-interfaces-in-quads)
* [How Provisioning Works](#how-provisioning-works)
* [QUADS Move Host Command](#quads-move-host-command)
* [QUADS Move Host Command Dry Run](#quads-move-host-command-dry-run)
* [QUADS Reporting](#quads-reporting)
* [Future Assignment Reporting](#future-assignment-reporting)
* [Server Availability Overview Report](#server-availability-overview-report)
Expand Down Expand Up @@ -301,7 +302,6 @@ crontab -e
|-----------------------|----------|---------|
| quads --move-hosts | provisioning | checks for hosts to move/reclaim as scheduled |
| quads --validate-env | validation | checks clouds pending to be released for all enabled validation checks |
| quads --regen-wiki | documentation | keeps your infra wiki updated based on current state of environment |
| quads --regen-heatmap | visualization | keeps your systems availability and usage visualization up to date |
| quads --regen-instack | openshift/openstack | keeps optional openstack triple-o installation files up-to-date |
| quads --notify | notifications | check and send email or webhook/IRC notifications on events and releases |
Expand Down Expand Up @@ -490,7 +490,7 @@ INFO: Moving c08-h21-r630.example.com from cloud01 to cloud02 c08-h21-r630.examp
```

### How Provisioning Works
#### QUADS move host command
#### QUADS Move Host Command
In QUADS, a `move-command` is the actionable call that provisions and moves a set of systems from one cloud environment to the other. Via cron, QUADS routinely queries the existing schedules and when it comes time for a set of systems to move to a new environment or be reclaimed and moved back to the spare pool it will run the appropriate varation of your `move-command`.

In the above example the default move command called ```/bin/echo``` for illustration purposes. In order for this to do something more meaningful you should invoke a script with the ```--move-command``` option, which should be the path to a valid command or provisioning script/workflow.
Expand All @@ -503,6 +503,18 @@ In the above example the default move command called ```/bin/echo``` for illustr
quads --move-hosts --move-command quads/tools/move_and_rebuild_hosts.py
```

##### QUADS Move Host Command Dry Run
* You can use the `quads --move-hosts --dry-run` command to report what QUADS would do but only report it with no action.
* You can also use the `--date` flag to see what actions might take place at a certain future time e.g.:
```
quads --move-hosts --dry-run --date "2024-12-24 22:00"
Moving d16-h01-000-r650.example.com from cloud37 to cloud01, wipe = False
Moving d16-h06-000-r650.example.com from cloud60 to cloud01, wipe = False
Moving d16-h07-000-r650.example.com cloud60 to cloud01, wipe = False
```

* You can also modify the default `move_command` in [quads](https://github.com/redhat-performance/quads/blob/latest/src/quads/cli/cli.py#L31).

* You can look at the [move-and-rebuild-hosts](https://github.com/redhat-performance/quads/blob/latest/src/quads/tools/move_and_rebuild.py) tool as an example. It's useful to note that with `move_and_rebuild.py` passing a fourth argument will result in only the network automation running and the actual host provisioning will be skipped. You should review this script and adapt it to your needs, we try to make variables for everything but some assumptions are made to fit our running environments.
Expand Down
20 changes: 13 additions & 7 deletions docs/quads-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ Below are common workflows, visualizations and features of QUADS.
* [Example: Automated Scheduling](#example-automated-scheduling)
* [Example: Systems Wiki](#example-systems-wiki)
* [Example: Workload Assignments](#example-workload-assignments)
* [Example: Systems Availability Search](#example-systems-availability-search)
* [Example: Systems Visualization Map](#example-systems-visualization-map)
* [Example: IRC and Email Notifications](#example-irc-and-email-notifications)
* [Example: IRC, Webhook Chat and Email Notifications](#example-irc-webhook-chat-and-email-notifications)

## QUADS Architecture

Expand Down Expand Up @@ -50,20 +51,25 @@ We color-code progress bars and status based on total amount of completion for a

![wiki](../image/quads-assignment-readiness.png)

## Example: Systems Availability Search
`quads-web` offers current and future availability search and filtering by hardware components like disk, model or any hardware metadata supported by the [hardware metadata framework](quads-host-metadata-search.md)

![wiki](../image/quads-available-web.png)

## Example: Systems Visualization Map

![wiki](../image/quads-visual.png)

## Example: IRC and Email Notifications
- We notify our Supybot IRC bot to announce when new environments are provisioned

```
<lucius> QUADS: cloud02 : 9 (OSP Newton Testing) is now active, choo choo! - http://wiki.example.com/assignments/#cloud02
```
## Example: IRC, Webhook Chat and Email Notifications
- We can notify any Chat Platform webhook or IRC supybot plugin when new environments are released.
- We send email notifications when new environments are defined.
- We also send email notifications with the host list for the environment 7 days prior to activation.
- Furthermore we send email notifications when new environments are provisioned.

```
QUADS: cloud08: 32 (OCP Hybrid RDS Scale) is now active, choo choo! - https://quads.example.com/assignments/#cloud08 - jdoe
```

```
Greetings Citizen,
Expand Down
Binary file modified image/quads-available-web.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified image/quads-foreman-workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2287196

Please sign in to comment.