<creole>
    <files>
        <file name="/etc/smartd.conf" filelist="eole-smartmontools" />
        <file name="/etc/default/smartmontools"
              source="smartmontools.default"
              filelist="eole-smartmontools" rm="True"/>
        <file name="/etc/smartmontools/run.d/10mail"
              source="smartmontools.mailscript"
              mode="0755"
              filelist="eole-smartmontools" />
    </files>

    <!-- ********************************************************************* -->

    <variables>

        <!-- Activation des services -->
        <family name="services">

            <variable name="activer_smartmontools" type="oui/non"
                      description="Activer de smartmontools">
                <value>non</value>
            </variable>

        </family>

        <family name="smartmontools">

            <!--
                ENVOIS DES MAILS
            -->

            <variable name="smartmontools_mail" type="oui/non"
                      description="Activer l'envois des mails">
                <value>non</value>
            </variable>

            <variable name="smartmontools_mail_dests" type="string"
                      description="Adresses mails destinataires des alertes"
                      mandatory="True"
                      multi="True"/>

            <variable name="smartmontools_period_alerts" type="number"
                      description="Période en secondes entre deux mesures des alertes SMART"
                      mode="expert">
                <value>60</value>
            </variable>

            <variable name="smartmontools_period_attrs" type="number"
                      description="Période en secondes entre deux mesures des attributs SMART"
                      mode="expert">
                <value>7200</value>
            </variable>

            <!--
                GESTION DES DEVICES
            -->

            <variable name="smartmontools_auto_detect" type="oui/non"
                      description="Détecter les périphériques à monitorer">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_devs" type="string"
                      description="Liste des peripheriques"
                      multi="True"
                      mandatory="True">
                <value>/dev/sda</value>
            </variable>

            <variable name="smartmontools_devs_type" type="string"
                      description="Type des peripheriques"
                      multi="True">
                <value>auto</value>
            </variable>

            <variable name="smartmontools_devs_attrs_fail_ignore" type="number"
                      description="Liste des ID d'attributs d'usage a ignorer"
                      multi="True" mode="expert">
            </variable>

            <variable name="smartmontools_devs_attrs_change_ignore" type="number"
                      description="Liste des ID d'attributs changant a ignorer"
                      multi="True" mode="expert">
            </variable>

            <!-- <variable name="smartmontools_devs_type_number" type="number" -->
            <!--           description="Identifiant du disque sur le controleur"> -->
            <!--   <value>0</value> -->
            <!-- </variable> -->


            <!--
                SURVEILLANCES
            -->

            <variable name="smartmontools_attr_warn" type="number"
                      description="Écart entre la valeur actuelle et le seuil generant un avertissement"
                      mode="expert">
                <value>1</value>
            </variable>

            <variable name="smartmontools_autosave" type="oui/non"
                      description="Activer la sauvegarde automatique des attributs"
                      mode="expert">
                <value>oui</value>
            </variable>


            <variable name="smartmontools_data_collect_online" type="oui/non"
                      description="Activer la collecte des données SMART en ligne"
                      mode="expert">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_data_collect_offline" type="oui/non"
                      description="Activer la collecte des données SMART hors ligne"
                      mode="expert">
                <value>oui</value>
            </variable>

            <!--
                COLLECTE DE DONNÉES IMMÉDIATE
            -->
            <variable name="smartmontools_immediate_data_collect_self_test"
                      type="oui/non"
                      description="Activer la collecte immédiate des données hors lignes"
                      mode="expert">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_immediate_data_collect_months"
                      type="string"
                      description="Mois d'activation de la collecte immédiate des données hors lignes"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_immediate_data_collect_days"
                      type="number"
                      description="Jours du mois d'activation de la collecte immédiate des données hors lignes"
                      multi="True" mode="expert">
                <value>0</value>
            </variable>

            <variable name="smartmontools_immediate_data_collect_week_days"
                      type="string"
                      description="Jours de la semaine d'activation de la collecte immédiate des données hors lignes"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_immediate_data_collect_hours"
                      type="number"
                      description="Heures d'activation les tests hors lignes"
                      multi="True" mode="expert">
                <value>6</value>
                <value>12</value>
                <value>18</value>
            </variable>

            <!--
                TEST COURT
            -->
            <variable name="smartmontools_short_self_test" type="oui/non"
                      description="Activer les tests courts"
                      mode="expert">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_short_months" type="string"
                      description="Mois d'activation des tests courts"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_short_days" type="number"
                      description="Jours du mois d'activation des tests courts"
                      multi="True" mode="expert">
                <value>0</value>
            </variable>

            <variable name="smartmontools_short_week_days" type="string"
                      description="Jours de la semaine d'activation des tests courts"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_short_hours" type="number"
                      description="Heures d'activation les tests courts"
                      multi="True" mode="expert">
                <value>4</value>
                <value>20</value>
            </variable>

            <!--
                TEST LONG
            -->
            <variable name="smartmontools_long_self_test" type="oui/non"
                      description="Activer les tests longs"
                      mode="expert">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_long_months" type="string"
                      description="Mois d'activation des tests longs"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_long_days" type="number"
                      description="Jours du mois d'activation des tests longs"
                      multi="True" mode="expert">
                <value>0</value>
            </variable>

            <variable name="smartmontools_long_week_days" type="string"
                      description="Jours de la semaine d'activation des tests longs"
                      multi="True" mode="expert">
                <value>dimanche</value>
            </variable>

            <variable name="smartmontools_long_hours" type="number"
                      description="Heures d'activation les tests longs"
                      multi="True" mode="expert">
                <value>22</value>
            </variable>

            <!--
                TEST DE TRANSPORT
            -->
            <variable name="smartmontools_conveyance_self_test"
                      type="oui/non"
                      description="Activer les tests de transport"
                      mode="expert">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_conveyance_months" type="string"
                      description="Mois d'activation des tests de transports"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_conveyance_days" type="number"
                      description="Jours du mois d'activation des tests de transports"
                      multi="True" mode="expert">
                <value>0</value>
            </variable>

            <variable name="smartmontools_conveyance_week_days" type="string"
                      description="Jours de la semaine d'activation des tests de transports"
                      multi="True" mode="expert">
                <value>tous</value>
            </variable>

            <variable name="smartmontools_conveyance_hours" type="number"
                      description="Heures d'activation les tests de transports"
                      multi="True" mode="expert">
                <value>23</value>
            </variable>


            <!--
                TEMPERATURE
            -->

            <variable name="smartmontools_track_temp" type="oui/non"
                      description="Activer la supervision de la température">
                <value>oui</value>
            </variable>

            <variable name="smartmontools_temp_diff" type="number"
                      description="Ecart de température générant une alerte (0 désactivé)">
                <value>10</value>
            </variable>

            <variable name="smartmontools_temp_info" type="number"
                      description="Température d'avertissement">
                <value>35</value>
            </variable>

            <variable name="smartmontools_temp_crit" type="number"
                      description="Température critique générant un mail">
                <value>45</value>
            </variable>

        </family>

        <separators>
            <separator name="smartmontools_data_collect_online">Collecte automatique des données</separator>
            <separator name="smartmontools_immediate_data_collect_self_test">Tests de collecte des données SMART</separator>
            <separator name="smartmontools_short_self_test">Tests courts</separator>
            <separator name="smartmontools_long_self_test">Tests longs</separator>
            <separator name="smartmontools_conveyance_self_test">Tests de transport</separator>
            <separator name="smartmontools_track_temp">Température</separator>
        </separators>

    </variables>

    <constraints>

        <condition name="hidden_if_in" source="activer_smartmontools">
            <param>non</param>
            <target type="family">smartmontools</target>
            <target type="filelist">eole-smartmontools</target>
            <target type="servicelist">smartmontools</target>
        </condition>

        <!--
            GESTION DES MAILS
        -->

        <condition name="hidden_if_in" source="smartmontools_mail">
            <param>non</param>
            <target type="variable">smartmontools_mail_dests</target>
        </condition>

        <!-- À faire lorsque eole-exim sera prêt -->

        <!-- <fill name='calc_multi_val' target='smartmontools_mail_dests'> -->
        <!--     <param type='eole'>system_mail_to</param> -->
        <!-- </fill> -->

        <!--
            GESTION DES DEVICES
        -->

        <condition name="hidden_if_in" source="smartmontools_auto_detect">
            <param>oui</param>
            <target type="variable">smartmontools_devs</target>
        </condition>

        <check name="valid_enum" target="smartmontools_devs_type">
            <param>['auto', 'sat', 'ata', 'scsi', 'usbcypress', 'usbjmicron', 'marvell']</param>
            <!--
                The following need a multi of multi to describe disks to
                monitor:
                'megaraid,N', '3ware,N', 'areca,N', 'cciss,N', 'hpt,L/M/N'
            -->
        </check>

        <check name="valid_entier" target="smartmontools_period_alerts">
            <param name="mini">0</param>
            <param name="maxi">86400</param>
        </check>

        <check name="valid_entier" target="smartmontools_period_attrs">
            <param name="mini">0</param>
            <param name="maxi">86400</param>
        </check>

        <group master="smartmontools_devs">
            <slave>smartmontools_devs_type</slave>
        </group>


        <check name="valid_entier" target="smartmontools_devs_attrs_fail_ignore">
            <param name="mini">1</param>
            <param name="maxi">255</param>
        </check>

        <check name="valid_entier" target="smartmontools_devs_attrs_change_ignore">
            <param name="mini">1</param>
            <param name="maxi">255</param>
        </check>

        <check name="valid_entier" target="smartmontools_attr_warn">
            <param name="mini">0</param>
        </check>

        <condition name="hidden_if_in" source="smartmontools_immediate_data_collect_self_test">
            <param>non</param>
            <target type="variable">smartmontools_immediate_data_collect_months</target>
            <target type="variable">smartmontools_immediate_data_collect_days</target>
            <target type="variable">smartmontools_immediate_data_collect_week_days</target>
            <target type="variable">smartmontools_immediate_data_collect_hours</target>
        </condition>

        <condition name="hidden_if_in" source="smartmontools_short_self_test">
            <param>non</param>
            <target type="variable">smartmontools_short_months</target>
            <target type="variable">smartmontools_short_days</target>
            <target type="variable">smartmontools_short_week_days</target>
            <target type="variable">smartmontools_short_hours</target>
        </condition>

        <condition name="hidden_if_in" source="smartmontools_long_self_test">
            <param>non</param>
            <target type="variable">smartmontools_long_months</target>
            <target type="variable">smartmontools_long_days</target>
            <target type="variable">smartmontools_long_week_days</target>
            <target type="variable">smartmontools_long_hours</target>
        </condition>

        <condition name="hidden_if_in" source="smartmontools_conveyance_self_test">
            <param>non</param>
            <target type="variable">smartmontools_conveyance_months</target>
            <target type="variable">smartmontools_conveyance_days</target>
            <target type="variable">smartmontools_conveyance_week_days</target>
            <target type="variable">smartmontools_conveyance_hours</target>
        </condition>

        <!--
            COLLECTE DE DONNÉES IMMÉDIATE
        -->
        <check name="valid_enum" target="smartmontools_immediate_data_collect_months">
            <param>['tous','janvier','fevrier','mars','avri','mai','juin','juillet','aout','septembre','octobre','novembre','decembre']</param>
        </check>

        <check name="valid_entier" target="smartmontools_immediate_data_collect_days">
            <param name="mini">0</param>
            <param name="maxi">31</param>
        </check>

        <check name="valid_enum" target="smartmontools_immediate_data_collect_week_days">
            <param>['tous','lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']</param>
        </check>

        <check name="valid_entier" target="smartmontools_immediate_data_collect_hours">
            <param name="mini">0</param>
            <param name="maxi">23</param>
        </check>

        <!--
            TEST COURT
        -->
        <check name="valid_enum" target="smartmontools_short_months">
            <param>['tous','janvier','fevrier','mars','avri','mai','juin','juillet','aout','septembre','octobre','novembre','decembre']</param>
        </check>

        <check name="valid_entier" target="smartmontools_short_days">
            <param name="mini">0</param>
            <param name="maxi">31</param>
        </check>

        <check name="valid_enum" target="smartmontools_short_week_days">
            <param>['tous','lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']</param>
        </check>

        <check name="valid_entier" target="smartmontools_short_hours">
            <param name="mini">0</param>
            <param name="maxi">23</param>
        </check>

        <!--
            TEST LONG
        -->
        <check name="valid_enum" target="smartmontools_long_months">
            <param>['tous','janvier','fevrier','mars','avri','mai','juin','juillet','aout','septembre','octobre','novembre','decembre']</param>
        </check>

        <check name="valid_entier" target="smartmontools_long_days">
            <param name="mini">0</param>
            <param name="maxi">31</param>
        </check>

        <check name="valid_enum" target="smartmontools_long_week_days">
            <param>['tous','lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']</param>
        </check>

        <check name="valid_entier" target="smartmontools_long_hours">
            <param name="mini">0</param>
            <param name="maxi">23</param>
        </check>

        <!--
            TEST DE TRANSPORT
        -->
        <check name="valid_enum" target="smartmontools_conveyance_months">
            <param>['tous','janvier','fevrier','mars','avri','mai','juin','juillet','aout','septembre','octobre','novembre','decembre']</param>
        </check>

        <check name="valid_entier" target="smartmontools_conveyance_days">
            <param name="mini">0</param>
            <param name="maxi">31</param>
        </check>

        <check name="valid_enum" target="smartmontools_conveyance_week_days">
            <param>['tous','lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']</param>
        </check>

        <check name="valid_entier" target="smartmontools_conveyance_hours">
            <param name="mini">0</param>
            <param name="maxi">23</param>
        </check>

        <!-- <condition name="hidden_if_not_in" source="smartmontools_devs_type"> -->
        <!--   <param>3ware,N</param> -->
        <!--   <param>cciss,N</param> -->
        <!--   <target type="variable">smartmontools_devs_type_number</target> -->
        <!-- </condition> -->

        <!-- <group master="smartmontools_devs_type"> -->
        <!--   <slave>smartmontools_devs_type_number</slave> -->
        <!-- </group> -->

        <!-- <check name="valid_entier" target="smartmontools_devs_type_number"> -->
        <!--   <param name="mini">0</param> -->
        <!--   <param name="maxi">15</param> -->
        <!-- </check> -->

        <!--
            TEMPERATURE
        -->

        <condition name="hidden_if_in" source="smartmontools_track_temp">
            <param>non</param>
            <target type="variable">smartmontools_temp_diff</target>
            <target type="variable">smartmontools_temp_info</target>
            <target type="variable">smartmontools_temp_crit</target>
        </condition>


        <check name="valid_entier" target="smartmontools_temp_diff">
            <param name="mini">0</param>
            <param name="maxi">65</param>
        </check>
        <check name="valid_entier" target="smartmontools_temp_info">
            <param name="mini">0</param>
            <param name="maxi">65</param>
        </check>
        <check name="valid_entier" target="smartmontools_temp_crit">
            <param name="mini">0</param>
            <param name="maxi">65</param>
        </check>

    </constraints>

    <help>

        <family name="smartmontools">
            Supervision SMART des
            disques. http://fr.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology.
        </family>

        <variable name="activer_smartmontools">
            Activer le service de supervision SMART
            (smartmontools). Valeur par défaut: "non".
        </variable>

        <variable name="smartmontools_mail">
            Activer l'envois des mails lors d'alertes. Valeur par
            défaut: "non".
        </variable>

        <variable name="smartmontools_mail_dests">
            Liste des adresses mails destinataires des alertes
            SMART. Valeur par défaut: "".
        </variable>

        <variable name="smartmontools_auto_detect">
            Activer l’autodétection des disques. Smartd cherchera
            automatiquement tous les périphériques block. Valeur par
            défaut: "oui".
        </variable>

        <variable name="smartmontools_devs">
            Liste des périphériques supervisés par le service
            SMART. Seuls les peripheriques de disque internes ont une
            chance d'etre compatible SMART. Valeur par défaut:
            "/dev/sda".
        </variable>

        <variable name="smartmontools_devs_type">
            Type des périphériques supervisés par le service SMART. Les
            périphériques peuvent etre du type "ATA" (ata), "SCSI"
            (scsi), "SATA" (sat), "MARVELL" (marvell). Valeur par
            défaut: "sat".
        </variable>

        <variable name="smartmontools_period_alerts">
            Liste des durées entre deux mesures d'alerte. Une mesure
            par disque. Le maximum est d'une mesure par jour
            (86400s). Valeur par défaut: "60".
        </variable>

        <variable name="smartmontools_period_attrs">
            Liste des durées entre deux mesures des attributs. Une
            mesure par disque. Le maximum est d'une mesure par jour
            (86400s). Valeur par défaut: "7200" (2h).
        </variable>

        <variable name="smartmontools_devs_attrs_fail_ignore">
            Liste des identifiants, de 1 à 255, des attributs SMART à
            ignorer lors de la vérification des erreurs ou de l'usage
            des périphériques. Cette liste est commune à tous les
            périphériques. Valeur par défaut: "".
        </variable>

        <variable name="smartmontools_devs_attrs_change_ignore">
            Liste des identifiants, de 1 à 255, des attributs SMART
            dont les changements de valeur sont à ignorer. Cette liste
            est commune à tous les périphériques. Valeur par défaut:
            "".
        </variable>

        <variable name="smartmontools_attr_warn">
            Écart entre la valeur d'un attribut et son seuil générant
            un avertissement. Cela permet de voir lorsque des
            attributs se rapprochent de la valeur seuil sans la
            dépasser. Valeur par défaut: "1".
        </variable>

        <variable name="smartmontools_autosave">
            Activer la sauvegarde automatique des attributs
            SMART. Valeur par défaut: "oui".
        </variable>

        <variable name="smartmontools_data_collect_online">
            Activer la collecte en ligne des données SMART (option
            smartctl "-s"). Incorrectement appellee "online test", ces
            collectes n'ont aucun impacte sur les performances. Il est
            possible de repérer quels attributs sont mis à jours par
            cette option dans la page de l'agent zephir de
            surveillance des attributes SMART: colonne "mise à jour" =
            "Always". Valeur par défaut: "oui".
        </variable>

        <variable name="smartmontools_data_collect_offline">
            Activer la collecte des données SMART (option smartd
            "-o"). Incorrectement appellee "offline test", ces
            collectes ont possiblement un impacte sur les
            performances, bien que la collecte doit s’arrêter lors
            d’activités du disque. Il est possible de repérer quels
            attributs sont mis à jours par cette option dans la page
            de l'agent zephir de surveillance des attributes SMART:
            colonne "mise à jour" = "Offline". Valeur par défaut:
            "oui".
        </variable>

        <!--
            COLLECTE DE DONNÉES IMMÉDIATE
        -->
        <variable name="smartmontools_immediate_data_collect_self_test">
            Activer la collecte immédiate des données hors
            ligne. Durée généralement inférieure a 10mn. Valeur par
            défaut: "oui".
        </variable>

        <variable name="smartmontools_immediate_data_collect_months">
            Liste des mois ou programmer la collecte immédiate des
            données hors ligne. Valeur par défaut: "tous".
        </variable>

        <variable name="smartmontools_immediate_data_collect_days">
            Liste des numeros de jours du mois ou programmer la
            collecte immédiate des données hors ligne. Valeur par
            défaut: "0" (tous les jours).
        </variable>

        <variable name="smartmontools_immediate_data_collect_week_days">
            Liste des jours de la semaine ou programmer la collecte
            immédiate des données hors ligne. Valeur par défaut:
            "tous".
        </variable>

        <variable name="smartmontools_immediate_data_collect_hours">
            Liste des heures de la journée ou programmer la collecte
            immédiate des données hors ligne. Valeur par défaut: "6,
            12, 18".
        </variable>

        <!--
            TEST COURT
        -->
        <variable name="smartmontools_short_self_test">
            Activer les tests courts. Durée généralement inférieure a
            10mn. Valeur par défaut: "oui".
        </variable>

        <variable name="smartmontools_short_months">
            Liste des mois ou programmer les tests courts. Valeur par
            défaut: "tous".
        </variable>

        <variable name="smartmontools_short_days">
            Liste des numeros de jours du mois ou programmer les tests
            courts. Valeur par défaut: "0" (tous les jours).
        </variable>

        <variable name="smartmontools_short_week_days">
            Liste des jours de la semaine ou programmer les tests
            courts. Valeur par défaut: "tous".
        </variable>

        <variable name="smartmontools_short_hours">
            Liste des heures de la journée ou programmer les tests
            courts. Valeur par défaut: "4, 20".
        </variable>

        <!--
            TEST LONG
        -->
        <variable name="smartmontools_long_self_test">
            Activer les tests longs. Durée généralement de plusieurs
            dizaine de minutes. Valeur par défaut: "oui".
        </variable>

        <variable name="smartmontools_long_months">
            Liste des mois ou programmer les tests longs. Valeur par
            défaut: "tous".
        </variable>

        <variable name="smartmontools_long_days">
            Liste des numeros de jours du mois ou programmer les tests
            longs. Valeur par défaut: "0" (tous les jours).
        </variable>

        <variable name="smartmontools_long_week_days">
            Liste des jours de la semaine ou programmer les tests
            longs. Valeur par défaut: "dimanche".
        </variable>

        <variable name="smartmontools_long_hours">
            Liste des heures de la journée ou programmer les tests
            longs. Valeur par défaut: "22".
        </variable>

        <!--
            TEST DE TRANSPORT
        -->
        <variable name="smartmontools_conveyance_self_test">
            Activer les tests de transports (uniquement ATA). Ce test
            a pour but de desceller les problèmes liées au transport
            des disques. Durée de généralement de quelques
            minutes. Valeur par défaut: "oui".
        </variable>

        <variable name="smartmontools_conveyance_months">
            Liste des mois ou programmer les tests de
            transports. Valeur par défaut: "tous".
        </variable>

        <variable name="smartmontools_conveyance_days">
            Liste des numeros de jours du mois ou programmer les tests
            de transports. Valeur par défaut: "1" (tous les jours).
        </variable>

        <variable name="smartmontools_conveyance_week_days">
            Liste des jours de la semaine ou programmer les tests de
            transports. Valeur par défaut: "tous".
        </variable>

        <variable name="smartmontools_conveyance_hours">
            Liste des heures de la journée ou programmer les tests de
            transports. Valeur par défaut: "23".
        </variable>

        <variable name="smartmontools_track_temp">
            Activer la supervision de la température des
            disques. SMART peut rapporter des alertes sur la
            température. Valeur par défaut: "oui".
        </variable>

        <variable name="smartmontools_temp_diff">
            Écart de température générant une alerte SMART. Si la
            température entre deux mesures dévie d'au moins
            smartmontools_temp_diff alors une alerte est générée. La
            valeur "0" désactive cette fonctionnalite. Valeur par
            défaut: "0".
        </variable>

        <variable name="smartmontools_temp_info">
            Limite de température en dégrée celcius entrainant une
            alerte de type INFO dans les journaux systèmes. Valeur par
            défaut: "35".
        </variable>

        <variable name="smartmontools_temp_crit">
            Limite critique de température en dégrée celcius générant
            une alerte de type critique et un mail s'il est
            activé. Valeur par défaut: "45".
        </variable>

    </help>
</creole>
