Skip to content

Commit

Permalink
docs: explain RacksDB is now optional
Browse files Browse the repository at this point in the history
Explain RacksDB is now optional in quickstart guide, with method to
disable integration feature in side note, and in overview and
architecture pages.
  • Loading branch information
rezib committed Jan 9, 2025
1 parent 9050109 commit 02f2f2d
Show file tree
Hide file tree
Showing 6 changed files with 103 additions and 81 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
cluster (#418#434).
- conf: Update description of `agent` > `racksdb_version` to describe its new
semantic.
- docs: Update configuration reference documentation.
- docs:
- Explain RacksDB is now optional in quickstart guide, with method to disable
integration feature in side note, and in overview and architecture pages.
- Update configuration reference documentation.

### Fixed
- agent: Fix No module named 'werkzeug.middleware' ModuleNotFoundError with
Expand Down
89 changes: 52 additions & 37 deletions docs/modules/install/pages/quickstart.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -287,43 +287,6 @@ INFO ⸬ Setting read permission on key for slurm user
* xref:usage:manpages/slurm-web-gen-jwt-key.adoc[`slurm-web-gen-jwt-key` command manpage]
--

[#racksdb]
== RacksDB database

Slurm-web uses xref:racksdb:overview:start.adoc[RacksDB] to generate graphical
representation of datacenters racks with the compute nodes. RacksDB database
must be defined with your HPC cluster infrastructure. This is actually quick and
easy easy based on
xref:racksdb:install:quickstart.adoc#examples[the examples provided].

Some requirements must be fulfilled in this database:

* The infrastructure must have the same name as the cluster
<<_initial_setup,previously declared>> in _agent_ configuration file.
* The _compute_ tag must be assigned to all compute nodes declared in Slurm
configuration.

[NOTE]
====
You can choose other tag name but you will have to declare this tag in
xref:conf:conf/agent.adoc#_racksdb[`racksdb` section of agent configuration],
for example:
[source,ini]
----
[racksdb]
tags=blade
----
====

[sidebar]
--
.More links
* xref:racksdb:overview:start.adoc[RacksDB reference documentation]
* xref:racksdb:install:quickstart.adoc[RacksDB quickstart guide]
* xref:racksdb:db:structure.adoc[RacksDB database structure reference]
--

== First Access

Slurm-web is now ready to start! Enable and start the _agent_ and _gateway_
Expand Down Expand Up @@ -639,6 +602,58 @@ xref:misc:troubleshooting.adoc#wsgi[troubleshooting guide] for help.
* xref:conf:wsgi/index.adoc[Production HTTP server setup guide].
****

[#racksdb]
== RacksDB database (optional)

Slurm-web can use xref:racksdb:overview:start.adoc[RacksDB] to generate
xref:overview:overview.adoc#nodes-status[advanced interactive graphical representations]
of datacenters racks with the compute nodes. For this feature, RacksDB database
must be defined with your HPC cluster infrastructure. This is actually quick and
easy easy based on
xref:racksdb:install:quickstart.adoc#examples[the examples provided].

Some requirements must be fulfilled in this database:

* The infrastructure must have the same name as the cluster
<<_initial_setup,previously declared>> in _agent_ configuration file.
* The _compute_ tag must be assigned to all compute nodes declared in Slurm
configuration.

[NOTE]
====
You can choose other tag name but you will have to declare this tag in
xref:conf:conf/agent.adoc#_racksdb[`racksdb` section of agent configuration],
for example:
[source,ini]
----
[racksdb]
tags=blade
----
====

[NOTE]
====
If you don't need this
xref:overview:overview.adoc#nodes-status[advanced interactive graphical representations]
feature, RacksDB integration can be completely disabled with the following lines
in [.path]#`/etc/slurm-web/agent.ini`#:
[source,ini]
----
[racksdb]
enabled=no
----
====

[sidebar]
--
.More links
* xref:racksdb:overview:start.adoc[RacksDB reference documentation]
* xref:racksdb:install:quickstart.adoc[RacksDB quickstart guide]
* xref:racksdb:db:structure.adoc[RacksDB database structure reference]
--

== Metrics (optional)

Slurm-web offers the possibility to
Expand Down
Binary file modified docs/modules/overview/images/arch/slurm-web_integration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 29 additions & 29 deletions docs/modules/overview/images/arch/slurm-web_integration.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 14 additions & 12 deletions docs/modules/overview/pages/architecture.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,20 @@ OpenLDAP, FreeIPA and Active Directory with legacy NIS and RFC 2307 bis schemas.

The *agent* component reads the
xref:conf:policy.adoc[RBAC autorization policy] from a plain INI file with
permissions associated to roles and LDAP groups. The component also extracts
cluster racking topology from xref:racksdb:overview:start.adoc[RacksDB] database
to generate
xref:overview.adoc#nodes-status[graphical representation of nodes status] in the
racks.

Optionally, the *agent* can connect to https://redis.io/[Redis] in-memory
key/value database to save cached data from Slurm. It can also integrate with
https://prometheus.io/[Prometheus] (or compatible) by exporting
xref:overview.adoc#metrics[various Slurm metrics] for storage in timeseries
database. The agent can then query this database to get historical values of
these metrics.
permissions associated to roles and LDAP groups.

Optionally, the *agent* can also:

- Extract cluster racking topology from
xref:racksdb:overview:start.adoc[RacksDB] database to generate
xref:overview.adoc#nodes-status[interactive graphical representation of nodes status]
in the racks.
- Connect to https://redis.io/[Redis] in-memory key/value database to
xref:overview.adoc#cache[save cached data] from Slurm.
- Integrate with https://prometheus.io/[Prometheus] (or compatible) by exporting
xref:overview.adoc#metrics[various Slurm metrics] for storage in timeseries
database. The agent can then query this database to get historical values of
these metrics.

[#protocols]
== Protocols
Expand Down
6 changes: 4 additions & 2 deletions docs/modules/overview/pages/overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,10 @@ Watch your jobs running with visual representation of their progress.
[#nodes-status]
== Nodes Status

Live status of the compute nodes is displayed in a graphical representation of
the racks. Just move the mouse pointer over a specific node to get all details:
Live status of the compute nodes can be visualized in an advanced interactive
graphical representation of the racks based on data extracted from
xref:racksdb:overview:start.adoc[RacksDB]. Just move the mouse pointer over a
specific node to get all details:

image::screenshot_nodes_hovering.png[]

Expand Down

0 comments on commit 02f2f2d

Please sign in to comment.