• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    INDIANCentralizovaná správa stanic a ostatních prvků v síti - automation/monitoring/alerting a dalsi devops nastroje
    INDIAN
    INDIAN --- ---
    RAGNAROK: priznam se ze vzdycky kdyz mam problem podobnyho typu, napisu si radsi vlastni filtr na par radku nez kilometr dlouhej strudl standardnich filtru
    INDIAN
    INDIAN --- ---
    MUXX: mam nulovou zkusenost, ale myslim ze ansible bude na to pomerne dobre vybaveny:
    Community.Vmware — Ansible Documentation
    https://docs.ansible.com/ansible/latest/collections/community/vmware/index.html
    MUXX
    MUXX --- ---
    Dělali jste někdo VM ve vmware vSphere přes nějaký tool ansible/terraform/saltstack/packer atd? Já to dělal před lety přes vlastní powercli/python skripty, ale zajímalo by mě jaký je nejlepší přístup dnes. Klient má asi 50 VM a další VM už by chtěl dělat IaaC (Linux redhat). Potřeboval bych nějaký tipy jak na to, protože jsem vmware několik let nepoužíval. Napadá mě udělat leda nějaký jednoduchý deployment skript pro zakladni VM a soustředit se spíš na ansible a správu OS. Vmware cluster je pronajatý od nějakého providera v Německu a chtějí u něj zatím zůstat.
    RAGNAROK
    RAGNAROK --- ---
    V ansiblu bych potreboval pridat neco do dictionary ale tak aby se variables expandovaly rekurzivne:
    - ansible.builtin.set_fact:
    	MyDick: "{{MyDick|combine({item.key : item.value})}}"
      with_dict:
        TS: "{{ansible_date_time.iso8601_basic_short}}"
    	IN: "hello_{{TS}}"
    To mi hodi error 'TS' not defined.

    Prisel jsem jen na nasledujici a to se mi nelibi:
    - ansible.builtin.set_fact:
    	MyDick: "{{MyDick|combine({item.key : item.value})}}"
      with_dict:
    	TS: "{{TS}}"
    	IN: "hello_{{TS}}"
      vars:
    	TS: "{{ansible_date_time.iso8601_basic_short}}"
    CHOROBA
    CHOROBA --- ---
    libssl vs. paramiko
    RAGNAROK
    RAGNAROK --- ---
    QUIP:
    zatim jeste ne, nekdy zkusim. diky za napad.
    QUIP
    QUIP --- ---
    RAGNAROK: Aha, tak tohle jsem nikdy nepouzil. Je ale zvlastni, ze se nezepta na passphrase. Nezkousel jsi v Ansible pouzit jiny ssh backend? SSh vs Paramiko?
    RAGNAROK
    RAGNAROK --- ---
    QUIP:
    jo to je jasny to je otravny. to by pak mel resit vault.

    QUIP:
    sshd_config mam nastaveny tak, ze nejdriv server pozaduje ssh klic (uz desifrovany pomoci pasphrase) a pak pokud klic je spravny se jeste zepta na heslo system usera pod kterym se prihlasujes.

    passphrase (sshkey passphrase)=heslo k sifrovanemu klici
    password=heslo system usera

    Kdyz nekdo nepozorovane ziska tvuj zasifrovany klic, tak ho muze behem chvile desifrovat offline a pak se vesele prihlasit bez toho aniz by server neco zjistil. Takhle nekdo muze ziskat tvuj klic, desifrovat ho, ale pak jeste musi rozlousknout heslo usera.

    Jak jsem psal v ansiblu se mi nepodarilo rozjet authentikaci pomoci multifactor vsech tri: passphrase, sshkey, password.
    Vzdy jen 2 metody z toho. Tj. bud jen sshkey bez passphrase+password nebo jen sshkey s passphrase.
    QUIP
    QUIP --- ---
    Kdyz si to znova ctu, tak jsem mozna jen nepochopil spravne, jak to mas nastavene a ceho presne se snazis dosahnout. Ja mam na serverech povolene prihlasovani pouze klicem a klice maji passphrase (prihlaseni s heslem mam zakazane). V Ansible mam nastaveny klic pro prihlaseni. Pokud se tim klicem zkusim prihlasit a nebezi agent, tak mi normalne v CLI vyskoci prompt pro zadani passphrase.
    QUIP
    QUIP --- ---
    RAGNAROK: To mas nejaky divny. Me to funguje i bez agenta, jenze je otravny, kdyz spustis ulohu na 20 masin, dvacetkrat zadavat heslo ke klici. Proto pouzivam radeji agenta.
    RAGNAROK
    RAGNAROK --- ---
    AQUARIUS:
    Tak s agentem to jede diky. Skoda ze to nejde bez.
    RAGNAROK
    RAGNAROK --- ---
    AQUARIUS:
    Agentovy jsem se chtel vyhnout ale ted budu zkouset ssh-agent.
    AQUARIUS
    AQUARIUS --- ---
    RAGNAROK: Co použít ssh agenta?
    RAGNAROK
    RAGNAROK --- ---
    Zkousim v ansible authentikaci pres ssh.
    Server ma nastaveno AuthenticationMethods pubkey,password
    Klic ma passphrase.

    V ansiblu se mi zatim povedlo jen authentikace: pubkey a passphrase nebo pubkey a password.

    Kombinace passphrase, pubkey a password ale nejde. Ansible se na passphrase nezepta.

    Jde to vubec?
    CHOROBA
    CHOROBA --- ---
    dela to, co update-alternative command dela v debianu
    QUIP
    QUIP --- ---
    FATBOZZ: Co presne ten modul dela? Z popisu na webu jsem to uplne nepochopil. To vytvori system wide symlink, nebo jen pro pouziti Ansible (v ansible home?)
    A tim "install" se mysli, ze vytvori symlink, nebo ze to nainstaluje balik package managerem?
    FATBOZZ
    FATBOZZ --- ---
    A tohle by se nehodilo ?
    community.general.alternatives module – Manages alternative programs for common commands — Ansible Documentation
    https://docs.ansible.com/ansible/latest/collections/community/general/alternatives_module.html
    QUIP
    QUIP --- ---
    HEINZZ: Ono je to nasledovne:
    Kdyz si nainstalujes neco, co zavisi na Pythonu, tak se ti nainstaluje i Python a mas tam jen ten konkretni, napriklad "python3.9".
    Muzes si ale nainstlaovat i tzv meta balik python3, ktery ti udela ten symlink "python3", nebo meta balik python, ktery ti udela i symlink "python". (ve skutecnosti to dela symlinky na vicero souboru: bin/2to3-3, bin/idle3, bin/pydoc3, bin/python3, bin/python3-config, libdata/pkgconfig/python3.pc)

    Ty symlinky nemuzou byt soucasti python-3.9 balicku, protoze by to kolidovalo se stejnymi symlinky z balicku python-3.7 atp.

    Pokud bych na to sel z opacne strany a rekl, ze chci nainstalovat balicek "python" a je mi jedno, jake verze, tak se nainstaluje ta defaultni verze, coz je ted tusim 3.9 a k tomu se nainstalujou i oba dva meta balicky, protoze retezec zavislosti je "python" > "python3" > "python3.9".
    Tedy "pkg install python", nainstaluje to, co ty povazujes za defaultni na Debianu.

    No a ja to u sebe asi vyresim tak, ze si upravim svuj meta balik, ktery mam pojmenovany "ansible-client", coz neobsahuje zadne soubory, jenom seznam zavislosti, ktere je potreba nainstalovat tam, kde chci provozovat Ansible (sudo + python39). Upravim to na "sudo + python3", pri pristi aktualizaci se mi tak na vsechny stroje nainstaluje meta balik "python3", ktery vytvori ty symlinky a ja pak muzu upravit ansible_python_interpreter na /usr/local/bin/python3

    Takze vsem diky za prinosnou diskuzi :)
    HEINZZ
    HEINZZ --- ---
    QUIP: OK sry, v *BSD nejsem zbehlej a na deb-based linuxu kde se vetsinou pohybuju je tohle soucasti python* balicku..
    QUIP
    QUIP --- ---
    HEINZZ No to jsem popisoval tady QUIP. Da se to zaridit, aby tam symlinky byly, ale defaultne nejsou.
    Ten muj konkretni pripad by to ted asi vyresilo nejjednodusim zpusobem.
    Ale je pro me zajimave i zamysleni nad tou manipulaci s ansible_python_interpreter v ramci jednotlivych tasku v playbooku (tak nejak akademicky) :).
    Kliknutím sem můžete změnit nastavení reklam