:PROPERTIES:
:ID:       7a81bb2d-a6cf-4a2d-8308-0de97fab1856
:mtime:    20220130132903
:ctime:    20220110091205
:END:
#+title: OCF resource agent
#+filetags: :Pacemaker:Cluster:

* Présentation
 * /Open Cluster Framework resource agent/ est un exécutable permettant de controller une ressource d'un cluster,
 * Une resource = tout ce qui peut être géré par un cluster (IP, FS, BDD ou une VM par exemple),
 * Un /OCF resource agent/ peut être utilisé par les applications de gestion de cluster /Pacemaker/ et /RGmanager/,

* Implémentation
 * Pas de language dédié (shell généralement),
 * Règle de nommage: lower kebab case (a-ocf-agent-exemple).

* Howto
 * Installer ~resource-agents~ package:
#+BEGIN_SRC shell
apt-get install resource-agents
#+END_SRC
 * Tester la conformité d'un ~resource-agent~ créé :
#+BEGIN_SRC shell
ocf-tester -n <nom du resource-agent> <chemin vers le script du resource agent>
#+END_SRC
 * A installer dans le répertoire ~/usr/lib/ocf/resource.d/<provider>/~ pour créer une nouvelle ressource:
#+BEGIN_SRC shell
sudo pcs resource create <id de la resource> [<standard>:[<provider>:]]<type>
#+END_SRC
   
* Références
 * https://github.com/ClusterLabs/resource-agents/blob/main/doc/dev-guides/ra-dev-guide.asc
 * https://dopensource.com/2017/04/27/creating-custom-ocf-resource-agents/
