Announcement

Collapse
No announcement yet.

PB Import: "undefined function set_time_period"

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • PB Import: "undefined function set_time_period"

    Bonjour,

    j'utilise la version suivante de Oreon:
    Oreon v: 1.2.2-RC2

    Dans la partie "Configuration" -> "Nagios" -> "Load a Nagios.conf", après le téléchargement d"un fichier tar.gz contenant plusieurs fichiers .cfg de Nagios, j'obtiens le message d'erreur suivant:

    "Fatal error: Call to undefined function: set_time_period() in /usr/share/oreon/class/NagiosConfigFile.class.php on line 719 "

    Et fffectivement, dans les sources je ne retrouve pas de définition pour la fonction set_time_period.

    Quelqu'un pourrait-il m'éclairer ?

    Crdlmnt

  • #2
    Je confirme :

    $ rgrep set_time_period /srv/cvs/oreon/Oreon/
    /srv/cvs/oreon/Oreon/class/NagiosConfigFile.class.php: $oreon->hes[$hostEscalation_id]->set_time_period($hostEscalationArr['he_escalation_period']);/srv/cvs/oreon/Oreon/class/NagiosConfigFile.class.php: $oreon->ses[$serviceEscalation_id]->set_time_period($serviceEscalationArr['se_escalation_period']);

    Apparement, la fonction set_time_period n'est pas définie et a été oubliée...
    Raphaël 'SurcouF' Bordet
    Je ne teste pas mes plugins en root, tu ne testes pas tes plugins en root...
    Dons Paypal

    Comment


    • #3
      Alors en fait le probleme n'est pas la.
      C'est le nom de la fonction qui est faux, le code juste dans le fichier NagiosConfigFile.class.php est :

      Code:
      Ligne 719
      $oreon->hes[$hostEscalation_id]->set_escalation_period($hostEscalationArr['he_escalation_period']);
      Et non 
      $oreon->hes[$hostEscalation_id]->set_time_period($hostEscalationArr['he_escalation_period']);
      Je me permets aussi de rajouter que pour l'upload de conf, les commentaires DANS les definitions ne passent pas. Si elles sont placees avant ou apres, pas de problemes.
      Romain Le Merlus
      Centreon Forge
      MERETHIS

      Comment


      • #4
        Bonjour,

        Alors en fait le probleme n'est pas la.
        C'est le nom de la fonction qui est faux
        Ce qui signifie que le code n'a pas été testé? Ou tout au moins, cette partie du code n'a pas été testée?

        Comment


        • #5
          Mais c bien le but d'une RC Cedric, tester les nouvelles fonctionnalites de sorties :wink: !

          On a effectivement pas pris en compte tous les cas.
          Romain Le Merlus
          Centreon Forge
          MERETHIS

          Comment


          • #6
            Bonjour,

            On a effectivement pas pris en compte tous les cas.
            Certes. Mais à mon avis, il suffisait de créer un objet de chaque type avec toutes les directives définies pour chaque objet pour vérifier que cela fonctionnait "à peu près". Même quand on sort une RC, il faut qu'elle soit un tant soit peu testée. Certes, il est improbable de couvrir tous les cas possibles et imaginables mais on peut couvrir une bonne partie assez facilement. Enfin, moi, ce que j'en dis...

            Comment


            • #7
              Bonjour et merci pour ces précisions.

              en attendant une nouvelle version, je vais patcher les sources de la RC2 de mon coté.

              Pour la prochaine fois, je reporterai un bug sous Flyspray - à condition que je parvienne à me connecter puisque je me fais rejeter systématiquement...

              @+

              Comment


              • #8
                C'est pas gagné.

                J'ai patché mes sources, pour remplacer la fonction set_time_period_ par set_escalation_period et lorsque je charge une conf comme indiquée dans mon premier message, je tombe sur une nouvelle erreur:

                Fatal error: Call to a member function on a non-object in /usr/share/oreon/class/NagiosConfigFile.class.php on line 966

                La ligne 966 est la suivante:

                if (isset($checkCommandArr[0]) && isset($this->services[$i]['use']) && !strcmp($oreon->services[$this->serviceHash[$this->services[$i]['use']]]->get_check_command(), $this->commandHash[$checkCommandArr[0]])) {

                Un nouveau bug a reporté - je vais essayer avec Flyspray...

                @=

                Comment


                • #9
                  Attention, cette fonction n'est a remplacer que dans le cas des host_escalation !!! (et apres relecture pour le services_escalation egalement, ligne 1126)

                  Qu'as tu apporter comme modifs ailleurs ?
                  Romain Le Merlus
                  Centreon Forge
                  MERETHIS

                  Comment


                  • #10
                    [RESOLVED] PB Import: "undefined function set_time_peri

                    Bonjour,

                    Le second problème n'est pas un bug mais une erreur de chargement de fichier. Résultat, je n'avais aucun service, donc en générant la config, on obtiens ce message d'erreur.

                    Concernant ma configuration, j'ai fait plusieurs changements puisque je travaille sur une RedHat avec une installation à base de RPMS.

                    J'ai donc crée un RPM Oreon en patchant vos sources pour prendre en compte:
                    - la procédure d'installation que vous fournissez ( ./install.sh )
                    - l'erreur précédente avec set_escalation_period
                    - nagios installé dans /etc/nagios/ avec ses logs dans /var/log/nagios/
                    - une procédure de désinstallation de Oreon qui soit "clean"

                    [ en plus, j'ai autorisé Nagios v2 parce que c'est ce qui m'intéresse... Je sais c'est pô bien, je ne le recommande pas mais c'est ce qui m'intéresse...]

                    @+

                    Comment

                    Working...
                    X