Misc a écrit 6298 commentaires

  • # Le cloud de bull ?

    Posté par  (site web personnel) . En réponse au journal Système d'exploitation "made in france" -- Cocorico. Évalué à 6.

    Moi, j'ai entendu dire que l'équipe cloud de Bull s'est fait débauché par Mirantis ( qui a d'ailleurs aussi forké les meetups en créant un contre groupe sur paris pour faire d'autres rencontres, mais juste pour eux ).

    peut être ceci explique pourquoi il réponds pas ?

  • [^] # Re: Hébergement

    Posté par  (site web personnel) . En réponse au journal Help Me Quit ou comment j'ai arrêté de fumer en aidant des gorilles. Évalué à 4.

    Sinon, tu peux aussi regarder du coté d'openshift ( https://www.openshift.com/products/pricing ). Je sais pas vraiment si c'est moins cher pour ton use case, mais je pense que pour ton site perso, un prix de 0$ me parait pas mal ( sans le ssl, ça fait du 30$ avec ).

  • [^] # Re: Autres projets utilisant seccomp-bpf

    Posté par  (site web personnel) . En réponse au journal Seccomp, une sandbox intégrée au noyau Linux…. Évalué à 4.

    Sans rajouter de code, non.

    En rajoutant du code ( grosso modo ~ 10 lignes de selinux, plus sans doute une 10 à 20aine de lignes pour ta configuration, ou plus ), tu peux faire une transition d'un type selinux qui a l'accès au réseau à un type qui le supporte pas.

    C'est pas trop dur à faire, faut juste s'en tirer avec le peu de code d'exemple qui existe. Par exemple la fonction condSELinuxContext du patch https://lists.fedoraproject.org/pipermail/devel/2013-September/188732.html

    Ou ce genre de chose, ou tu forkes après :
    http://cgit.freedesktop.org/systemd/systemd/commit/?id=7b52a628f8b43ba521c302a7f32bccf9d0dc8bfd

    ( ce que iodine fait aussi, par exemple )
    https://github.com/yarrick/iodine/blob/eca80f769bfeaa3a33392c569506f1186e3a4654/src/common.c#L241

    Et faire une policy qui permette la transition :
    http://danwalsh.livejournal.com/23944.html
    https://wiki.gentoo.org/wiki/SELinux/Tutorials/How_does_a_process_get_into_a_certain_context

  • # Et sinon, y a systemd

    Posté par  (site web personnel) . En réponse au journal Seccomp, une sandbox intégrée au noyau Linux…. Évalué à 4.

    Alors même si ça ne fait pas exactement la même chose, et que je pense que mettre seccomp dans un programme permet de rajouter un filtre après traitement divers et variés, il est possible d'utiliser systemd pour avoir une partie des avantages de seccomp sans rajouter de code.

    Cf https://lwn.net/Articles/507067/

    perso, je trouve ça un peu contraignant, mais ceci dit, c'est pas pire que selinux à ce niveau la, donc why not ?

  • [^] # Re: Lapin

    Posté par  (site web personnel) . En réponse à la dépêche Red Hat rachète la société Inktank à l'origine de Ceph. Évalué à 5.

    Grosso modo, pour les projets modernes, tu as 3 cas d'usages. Un usage. Le mode "block" ( ie, tu exportes un bloc ), le mode filesystem ( ie, tu export directement un file system ) et le mode objet ( ie, tu exportes des objets, un peu comme swift et s3 ).

    Gluster est surtout fort dans filesystem, ce qu'il fait nativement, et on a rajouté les 2 autres modes par dessus.

    Ceph au contraire est à la base un système d'objet distribué sur lequel on rajoute le mode filesystem et block.

    Donc chacun a ses faiblesses et ses forces. Ceph a une architecture plus complexe que Gluster, ce qui lui permet d'être entièrement distribué. Par contre, gluster a un système de layer, ce qui permet d'être plus souple ( à mon sens ) d'un point de vue de ce que tu peux rajouter.

    Mais je connait surtout gluster et pas trop Ceph, donc je dit peut être de la merde.

    Doc l'idée, c'est d'avoir 2 systèmes, pour adresser 2 cas d'usages différents, avec des fondements différents d'un point de vue technique.

  • [^] # Re: Léger détail

    Posté par  (site web personnel) . En réponse au journal C'est vendredi, c'est permis, aka, MS devrait faire une offre à MS pour sa boite. Évalué à 6.

    C'est vrai, et puis un vendredi de pont, c'est un peu comme un samedi. Bon, le jour aprés, c'est aussi un peu comme un samedi ceci dit.

  • [^] # Re: Léger détail

    Posté par  (site web personnel) . En réponse au journal C'est vendredi, c'est permis, aka, MS devrait faire une offre à MS pour sa boite. Évalué à 4.

    Oui, c'est pas à moi qu'il faut le dire.

    Et pour être franc, j'aurais été déçu que personne ne pointe la chose. Il y a plein de trucs à redire sur les suppositions de ce poste de blog, et c'est pour ça que je pensais qu'il était parfait pour une discussion durant un vendredi, comme par exemple, la perception "business" et le fait que les communautés sont oubliés.

    Mais bon, ça ne prends pas, personne ne discute, tant pis :)

  • [^] # Re: Fedora

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 2.

    Je n’aime pas trop miser sur des outils spécifiques : je peux
    être amené à changer de distribution

    alors utilise l'outil spécifique pour lancer un truc comme ansible

    et par ailleurs, on n’est jamais sûr qu’ils ne disparaissent pas
    brusquement

    au contraire d'un outil non spécifique ? les choses partent pas "brutalement", c'est plus les gens qui découvrent brutalement qu'il fallait suivre les changements. Je dit pas que c'est simple ceci dit, vu comme le monde du libre bouge. Mais par exemple, puppet, non spécifique, a des soucis de versions en fonction du client puppet, qui lui même depend de la version de ruby et des gems. De même, ils ont retiré les manifests en ruby dans la version 3.0, et y a des gens qui s'en servaient.

    En effet, j'ai pas installé de Fedora 20, j'ai juste fait un yum search firstboot et j'ai pas vu qu'il était installé, pas dispo. Et donc en effet : https://admin.fedoraproject.org/pkgdb/acls/name/firstboot

    Cela a été remplacé par gnome-initial-setup ( https://fedoraproject.org/wiki/Features/NewFirstboot ), qui en effet ne propose pas un réglage aussi fin que tu voudrais de ldap, ceci étant reservé à la commande authconfig

    Il est présent dans EL7 ceci dit.

  • [^] # Re: OSEF

    Posté par  (site web personnel) . En réponse au journal Ubuntu 14.04 LTS : Pourquoi il vaudrait mieux ne pas du tout s'en servir. Évalué à 3.

    Mais RH dit que c'est pas supporté pour RHEL. Et pour Fedora, la communauté se bat depuis des années pour savoir si ça marche ou pas, et comment ( ie, preupgrade/fedup vs yum ). Y a pas moyen de tester de façon exhaustive, mais les gens le font et corrige à la main et disent de le faire. Et parfois, garder une vielle configuration montre des comportements inattendus dans les softs.

    Ça marche avec Debian, mais c'est pas non plus "j'ai rien à faire" comme on m'a vendu ça y a plusieurs années ( et dieu merci, sinon j'aurais pas eu de boulot à corriger ça ).

  • [^] # Re: Pitoyable

    Posté par  (site web personnel) . En réponse au journal Ubuntu 14.04 LTS : Pourquoi il vaudrait mieux ne pas du tout s'en servir. Évalué à 4.

    RedHat, que tu sembles tant aimer, supporte encore un kernel
    2.6.18 en 2014. Je ne crois pas que ce soit encore upstream.
    Donc cela ne semble pas infaisable.

    Je pense aussi que c'est faisable, mais je pense aussi que Canonical n'a pas les moyens qu'a Red Hat en terme de dev à temps plein, donc je peux dans une certaine mesure comprendre les doutes des gens.

    Tout le monde demande du MySQL, de plus :
    - Tu peux installer MariaDB à partir des repo
    - Très peu de distributions utilisent MariaDB par défaut, donc
    il ne faut pas pointer du doigt Ubuntu comme si c'était une
    exception.

    Je pense que la raison, c'est plus le coté totalement faux jeton de Mark Shuttleworth vis à vis d'Oracle. Tout comme Mark a fait un volte face sur le bug #1, il fait de la com pour faire plaisir à Oracle, car les devs Oracles sont venus tout d'un coup faire du taf avec les distros le jour ou les gens ont dit "tiens, et si on prenait Mariadb à la place, car Oracle ferme trop Mysql". Et pour moi, c'est clairement parce que RHEL part sur du Mariadb par défaut dans la 7 que Canonical tente de se distinguer car sinon, ça part pour être libreoffice vs openoffice à nouveau.

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 2.

    Pour le reste, c'est pas parce qu'ils n'ont aucune compéténce en
    lutherie que le violoniste ou le simple mélomane ne sont pas
    habilités à juger de la qualité d'un instrument (les luthiers ne
    fabriquent pas les violons pour d'autres luthiers).

    Ils ne jugent pas l'instrument, mais le son qu'on arrive à en tirer, et autant la prestation de la personne que l'instrument.

    Ici, on a clairement des gens qui vont pas voir les résultats. Et je doute aussi que de nombreux mélomanes viennent sortir des arguments comme "mais ce violon contredit les principes de Stradivari" ( à prendre pour l'argument des principes Unix ) ou "mais non, regarde, c'est aussi facile de jouer avec les cordes mises comme ça, mais ça joue pas toute les notes, mais je m'en fout, j'ai pas besoin du Do mineur, et j'ai jamais eu le cas ou je devais me servir de plus d'une corde à la fois" ( à prendre pour les nombreux exemples de scripts d'init du thread ).

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 1.

    Je pense qu'il y a une incompréhension. Le premier message, il dit "on va permettre de le compiler pour un usage ou systemd n'est pas lancer".

    "After udev is merged into the systemd tree you can still build it for usage outside of systemd systems, and we will support these builds officially."

    Jamais il ne dit ou promer comment il faut le compiler, il parle juste d'usage après build.

    Le second message dit la même chose, d'une autre façon. Je comprends que ça soit pas ce que tout le monde veuille et un peu plus de clarté aurait sans doute grandement éviter les incompréhensions, mais en relisant bien, c'était marqué noir sur blanc.

  • [^] # Re: Il y a desktop et desktop.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 4.

    Je ne peux pas être sûr que je n’aie pas raté un outil génial
    pour le faire après l’installation

    Si tu fait des trucs comme "installer des tas de machines", il y Kickstart, tout comme dans la doc de RHEL.

    On configure nos postes clients linux en ldap + kerberos via sssd grâce à ça. ( avec authentification offline possible ).

    Y aussi l'intégration autofs :
    https://fedoraproject.org/wiki/Features/SSSDAutoFSSupport

    Sinon, y a comme depuis toujours authconfig qui fait exactement ça, en gtk et en mode texte.

    Et puis, le dialogue que tu cherches existe encore, il est passé à firstboot, la 2nd partie de l'installeur :

    https://fedoraproject.org/wiki/QA:Testcase_SSSD_LDAP_Identity_and_LDAP_Authentication

  • [^] # Re: USE="-systemd"

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 7.

    Le but ici était de montrer que l'on peut faire des scripts
    bash aussi court que systemd.

    Parfait, et mon but est de montrer que faire des scripts bash, ça donne en général des scripts incorrects dans des cas d'usages qui sont pas totalement farfelus.

    Docker ne faisant pas parti de slackware (ni de debian) donc
    ça ne me choque pas plus que ça.

    Les outils lxc vont avoir les mêmes soucis, et ils sont disponibles sur Slackware de ce qu'on me dit. Docker fait parti de Debian, cf https://packages.debian.org/fr/sid/docker.io .

    Mais y a pas que docker/lxc/vserver/openvz/etc, y a aussi les bons vieux chroots. Même si c'est mal de part l'isolation inexistante entre le chroot et dehors, le souci est le même, et des gens qui ont des systèmes dans des chroots, y en a.

    Critiquer des options (restart/stop…) que ne fait pas systemd
    c'est plutôt marrant quand même. Par curiosité, tu fais
    comment l'équivalent sous systemd ?

    L'équivalent de quoi, de stop, start ? C'est déjà de base. Y a stop, start, reload, restart, try-restart, reload-or-restart, reload-or-try-restart. Et c'est fait sans avoir à copier coller que restart, c'est stop + start X fois, etc.

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 3.

    Bémol quand même, il ne faut pas oublier l'épisode udev. Le fait
    d'intégrer (en revenant sur sa parole) pareille pièce à systemd
    ça s'appelle quand même forcer la main.

    Qui est revenu sur sa parole ?
    Que je sache, le mainteneur du code d'udev l'a fait de manière consciente et volontaire upstream.

    Et bon, faut pas oublier que personne ne force la mise à jour d'un soft, que udev a été forké par des devs Gentoo ( fork que pas grand monde semble utiliser à vue de nez ), donc le mainteneur downstream avait largement les moyens d'éviter qu'on force quoi que ce soit. Donc ta vision me semble ne pas coller avec la réalité documenté.

    Car c'est bien connu, dès que tu installes un BSD, en sus des
    orgasmes portés à 180 minutes tu deviens développeur système.

    Au vue du nombre de gens qui s'estiment compétent en design de système unix qui postent régulièrement sur les news et journaux en rapport avec systemd, oui. Ou alors, c'est la premise "compétent en design de système" qui est fausse, car "avoir le temps pour contribuer" est déjà réglé. Si tu as le temps de poster sur linuxfr, tu as le temps de coder.

  • [^] # Re: USE="-systemd"

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 7.

    En effet, voir ce thread :
    https://linuxfr.org/users/claudex/journaux/chronique-des-dinosaures-retrogrades#comment-1534946

    Ce script la à un bug en plus. Si tu utilises docker, alors les processus dans le container sont visibles de l'extérieur.

    Exemple:

    $ docker run -i -t ubuntu /bin/bash
    # vi
    

    et sur un autre terminal:

    $ ps fax | grep -A 2 /bin/docker        
    13583 ?        Ssl    0:00 /usr/bin/docker -d
    14007 pts/3    Ss     0:00  \_ /bin/bash
    14054 pts/3    S+     0:00      \_ vi
    

    Donc "killall vi" en root lancé en dehors du docker va tuer le processus vi dans le container docker ( ie, du lxc tout con ).

    Si tu remplaces vi par httpd, tu as un bug, sauf à vouloir que ton script httpd externe tue le processus qu'il lance et celui lancé ailleurs.

    Et je passe sur le fait que httpd peut aussi lancer des processus qui s'appelle pas "httpd", au hasard, tout les processus wsgi lancé par mod_wsgi, et qu'ils vont totalement être oublié en cas de problème par le "killall httpd". IE, le nettoyage est incomplet.

    Ensuite, dans l'action restart, le signal envoyé par le script est SIGTERM. Ce qui veut dire qu'un processus peut l'ignorer et/ou ne pas le traiter à temps, et donc que apache peut continuer de tourner, ce qui fait que le démarrage va échouer. Bien sur, jamais apache n'est surchargé et jamais il ne va mettre trop longtemps à mourir. Et jamais personne ne va injecter du code dans un processus apache via un interpréteur embarqué php. Car bon, tout le monde a retiré mod_php, qui tourne dans le même espace mémoire qu'apache par design, non ?
    (et je parle pas d'attaque sr le code de php, je parle d'une personne qui va utiliser pcntl_signal en php dans une page pour dire à apache d'ignorer SIGTERM ou ce genre de trucs crades. J'ai pas testé, mais je serais pas étonné que ça marche).

    Mais bon, j'imagine que "utiliser des containeurs" et "avoir des processus apache qui partent modérément en sucette" arrive pas si souvent, c'est juste la faute à pas de chance, et qu'on peut continuer à garder des scripts rempli de boilerplates et de bugs parce que c'est mieux (tm) ?

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 6.

    Non ! C’est justement en voulant à tout prix essayer de gérer
    les 0.1% (et encore) de cas tordus directement dans le script
    qu’on en est venu à des scripts d’init de deux cents lignes

    Je suis pas sur que les coupures de courant et l'usage de puppet/ansible/etc rentre dans les 0.1%. Surtout les coupures de courant. Parce que bon, si tu veux faire un script buggué pour toi en te disant "ça a pas besoin d'être robuste", pas de souci, mais tu comprends bien que les gens qui font des softs pour les autres (exemple, les distributions) veulent des solutions plus solide que ton script, et donc que pour eux, il faut soit avoir des scripts qui font des trucs que tu trouves inutiles, soit se prendre des bugs et la réputation de faire du taf de merde ( réputation à juste titre ).

    D’ailleurs, que propose systemd dans ce cas de figure ?

    De lancer le soft en premier plan, donc il peut connaitre le pid sans souci. Ou de faire comme d'hab, utiliser les cgroups. Le fichier de pid sert juste à signaler "je suis prêt" et à donner le nom du PID, mais sinon, je pense que l'option "GuessMainPID" doit marcher si tu insistes sur "passer en arrière plan".

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 8.

    En fait, en cherchant un peu, j'ai trouvé d'autres soucis.

    4) ton script s'appuie sur le pid, donc si on perds le fichier, on perds une partie de l'etat. Pire encore, si on reboote la machine brutalement ( coupure de courant ), le fichier pid reste la, et bloque le démarrage de stunnel. Ou, si stunnel écrase le fichier existant, alors on peut imaginer l'inverse, on lance 2 fois le script ( cf point 6 ), et le 2eme fait qu'on perds le pid du premier, sauf si stunnel n'écrit pas le pid car le premier est lancé.
    Et je parle pas d'avoir /var/lib en readonly ( livecd, etc ). Mais bon, c'est un détail, on peut supposer trivialement que ça se trouve dans /var/run, un truc poussé par systemd au passage.
    C'est un tmpfs donc ça régle le souci.

    5) il n'y a aucun nettoyage de l’environnement. Si ma locale est en français, alors stunnel sera en français, avec ce que ça implique ( message de log, format des dates, etc ). Parfois, ça change rien. Et parfois, ça change. Et comme c'est un script, tu peux toujours avoir quelqu'un qui le lance en dehors de service ou équivalent. Un souci que systemd n'a pas en forçant le passage par systemctl.

    6) ton script ne renvoie pas de code de retour différents pour status. Donc un outil comme puppet va pas réussir à voir si le logiciel est lancé ou pas. Et les codes de retour sont spécifiés dans la LSB. Encore une fois, systemd unifie ça et évite de refaire le code à chaque fois.

    7) Il se passe quoi si stunnel mets plus d'une seconde à s’arrêter, et que tu fais un restart ( genre ta machine est bien surchargé avec plein de load ). Réponse, il se relance pas, parce que le stop ne garanti pas que le process est coupé. C'est aussi un souci que systemd gère correctement ( en étant sur que les processus sont morts, dans le cgroup ).

    Tout ça, ça se corrige dans ton script. Mais c'est surtout pour montrer que c'est pas aussi simple que ça de faire un truc robuste ( car bon, en dehors des commentaires de Linuxfr, les machines ont des coupures de courants, les machines ont du load, les gens utilisent puppet/ansible, les processus se plantent, les gens font des erreurs de config ).

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 8.

    je vois un certain nombre de souci avec ton script.

    1) il se passe quoi si la config de stunnel fait que le pid est ailleurs ? Faut changer le script. mais du coup, comme le script est sous le controle du gestionnaire de paquet, y a un conflit si le packageur mets à jour le script.

    2) tu part du principe que le PID dans $PIDFILE est celui de stunnel. C'est une supposition dangereuse à faire. Par exemple, stunnel crash ( un bon segfault des familles ), le pid est repris par un autre process. Tu fait un status, il va te dire que stunnel tourne, alors que non. Du coup, tu fait un stop. Et le process qui a repris le PID se fait tuer.

    3) il se passe quoi si quelqu'un configure stunnel par erreur pour ne pas passer en background ? Le script bloque. En fonction du systéme d'init, ça peut bloquer le boot.

    Alors bien sur, systemd va pas forcément résoudre le point 1. mais systemd va te dire "le fichier PID n'est pas la, j'ai un souci" si tu utilises PIDFile et que rien n'apparait. Systemd va pas avoir le souci du 2. Et pour le 3, c'est pareil, systemd va voir qu'il y a un souci, et comme il fforke avant de lancer, il va pas bloquer quoi que ce soit.

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 3.

    Ou rubyd, à un moment, faudrait évoluer.

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 7.

    C'est exactement ce que fait inetd. Et comme stunnel est à TLS
    ce que inetd est à IP, pourquoi systemd ne prend pas en charge
    l'initialisation des sockets TLS, dans leur logique ça devrait
    être le cas ?

    Si c'est pas le cas, alors ta vision de la logique des developpeurs est fausse.

    Il me semblait qu'une gestion des dépendances permettaient de
    lancer les services dans un ordre correct et non pas dans
    n'importe quel ordre.

    Si tu arrives à déterminer quand un service est effectivement démarré. C'est tout le noeud du problème. sysinit et d'autres s'en préoccuppent pas vraiment. Ça marche la plupart du temps, mais tu es obligé de faire ça en série, en partant du principe que ça démarre assez vite. parfois, tu rajoutes des sleep par ci par la, mais bon. On a vu le cas chez mandriva avec les cartes réseaux qui mettent 10 secondes à avoir leur ip, et les services notés "aprés le réseau" ne pas réussir à écouter comme il faut. Et puis parfois, tu as pas le souci, et tu sais pas ce qui est différent.

    Upstart s'y prends différement. Il va suivre les process avec ptrace et voir le nombre de fork fait et à partir de la, dire "ok, il est lancé". C'est buggué, je vais pas revenir la dessus, j'ai collé les liens à chaque discussion sur systemd.

    Donc la vrai solution, c'est que le service dise "je suis prêt".
    D'ou la discussion sur le BTS Debian sur le sujet, avec l'idée d'utiliser sigstop (comme upstart ), refuser car posant divers souci. Systemd propose un protocole qui consiste à envoyer un message sur une socket donné par systemd lors du lancement, mais faut patcher le code des programmes, et ça se fait pas tout seul ( bien que de mon expérience, c'est pas le code le plus problématique, c'est les autotools ). Donc en attendant, il y a des heuristiques. On considére que le service est pret quand il a forké, quand il fait un fichier de pid, ou on utilise l'activation par socket, pour les cas ou "programme pret == programme qui écoute". Comme les sockets sont ouvertes avant de lancer toutes les unités, alors les dépendances ne sont plus importantes si la dépendance exprime juste "j'ai besoin de me connecter à tel service gére par la socket activation". Ça supporte dbus, les fifo, les messages netlink, etc, donc ç'est large. Ensuite, oui, si ton service depend d'un truc plus compliqué, alors la bonne façon, c'est de rajouter le protocole de notification, ou de faire comme avant, se dire que ça va marcher sans synchronisation.

    systemd supporte-t-il l'activation pour les services utilisant
    les "raw socket" (vrai question) ?

    Non, pas que je sache. Je pense pas que ça soit super complexe à rajouter, et je suppose qu'un truc comme snort pourrait s'en servir, mais j'ai quand même du mal à voir des cas d'utilisation. Ceci dit, je garde l'idée le jour ou je m'ennuie et j'ai envie de faire du C.

    Quand à la gestion des crash, c'est indépendant de
    l'activation des socket de systemd et, pour faire juste, il
    faudrait communiquer avec le service afin de contrôler son
    fonctionnement. Le service peut sembler fonctionnel alors
    qu'en fait il est planter, donc on est obliger de prévoir une
    solution supplémentaire capable de parler le protocole du
    service afin de s'assurer qu'il fonctionne correctement.

    la réalité est plus compliqué que ça. Tu as plusieurs façons de planter, et c'est pas parce qu'un outil ne couvre pas tout les cas imaginables que couvrir 50% est inutile, loin de la. Déjà, tu peux faire de l'activation comme inetd avec 1 process par client. La, je pense que j'ai pas besoin de dire pourquoi ça marche quand le process se plante. Mais même avec 1 process pour tout les clients, il est relancé si jamais ça se gauffre, vu que c'est un retour l'état de début.

    Quand à avoir un process qui ne marche pas mais qui tourne encore, il y a aussi un système de watchdog ou le process signal "je tourne encore" à intervalle régulier. Bien que ça ne règle pas le cas "je tourne mais je dit de la merd", ça donne un truc de plus entre le simple "le pid est la donc c'est bon" et le plus lourd "je lance une analyse compléte de la réaction du serveur" que ferait un nagios.

    Il faut bien voir que plus un test est léger, plus on peut le lancer souvent. Exemple, voir qu'un process est planté pour systemd, c'est 3 fois rien. Mais plus il est leger, moins il couvre de choses. Dans le cas extrême d'un site, voir que 15 urls renvoient pas "error 500" en suivant un scénario web précis , c'est un chouia plus lourd, tu va pas le lancer tout les 10 secondes. Dans le cas d'un watchdog dans systemd, c'est un bete timer, et je pense que faire ça chaque 30 secondes ( ie, une écriture dans un socket ), c'est pas la mort.

    Encore une fois, l'idée est pas de remplacer, mais de profiter de la poistion du gestionnaire d'init pour proposer des features en plus, à un autre endroit sur une échelle "precision/lourdeur" de test.

  • [^] # Re: Toujours le même problème: centralisation

    Posté par  (site web personnel) . En réponse au journal Les applications "cloud" sont elles un danger pour internet?. Évalué à 3.

    Bien sur, mais la centralisation me parait quand même assez inévitable. Il y a un avantage économique à se regrouper pour les acteurs donc soit ils le font, soit ils perdent l'avantage économique face à ceux qui le font. La mutualisation est donc naturel. Même dans le libre, quand on regarde bien.

    Ensuite, le souci n'est pas la mutualisation/centralisation en soit, mais l'hyper centralisation. Et le souci n'est pas tant la centralisation que le cout pour un nouvelle entrant qui pourrait changer ça. La centralisation ne serait pas un si gros souci si quelqu'un pouvait venir et sans un effort trop couteux, combattre ça. IE, dans le cas du cloud, si tu peux concurrencer un peu les acteurs existants avec une fraction de leur moyen. Je ne sais pas à quel point c'est possible.

    Depuis plusieurs mois, je lit les articles sur hacker news, qui sont assez souvent "silicon valley centric", et le destin d'une startup, c'est de se faire absorber par les gros ou de crever, ç'est assez flippant. IE, l'état "petite boite" est transitoire et personne ne le cache.

  • [^] # Re: Lennux Is Not UniX

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 2.

    Pas le même protocole, même si ça réponds au même besoin haut niveau.

    Mais on peut aussi rajouter "fait le dispatch vers des fichiers textes pour garder la compatibilité avec l'existant", chose que journald fait faire par syslog.

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 10.

    Sauf que la gestion n'est pas propre, "socket activation" en est
    la preuve. Si la gestion était propre, un service réseau ne
    démarrerait qu'après le réseau. Là, on fait croire au service
    que le réseau est là alors qu'on a juste systemd et son socket
    en carton …

    Alors d'abord, ça veut rien dire "démarrer le réseau". Tu veux dire quoi, avoir une ip routable, un accès potable au net, juste avoir 'lo', avoir une ip interne, de l'ipv6 ou v4, avoir tout les interfaces lancés ?

    Ensuite, les sockets, c'est aussi des sockets unix. Ça marche sans le réseau que je sache.

    Enfin, l'activation par socket permet l'activation à la demande. exemple, ton serveur ssh qui sert une fois de temps en temps, pour pas que ça occupe de la ram ( oui, tu t'en fous sans doute avec 1 serveur ssh et 40G de ram, mais y a des gens avec moins de ram, ou avec plus qu'un serveur ssh, cf containeurs ).

    L'activation permet aussi le démarrage dans un ordre non garanti, et permet de relancer en cas de crash.

    Et puis bon, c'est juste ce que inetd fait, tu serait pas en train de dire qu'un truc d'unix serait pas propre ?

  • [^] # Re: If it works, don't fix it.

    Posté par  (site web personnel) . En réponse au journal Chronique des dinosaures rétrogrades. Évalué à 6.

    Alors tu serais surpris de voir qu'il y a quand même beaucoup de différences sur les distribution. Exemple, le cycle de release ( 2 ans, 6 mois, 8 mois, 9 mois , 2 ans glissant ), la gouvernance du projet, les méthodes de constructions, les choix techniques comme les installeurs, les outils de bases ( zypper, yum, etc ), et que chaque différence permet d'expérimenter.