O chestie pe care n-am vazut-o mentionata este ca intre "am un server
legacy, cum il upgradez" si "foloseste ansible (sau whatever), asa e cool
si hip si modern" mai e un salt mental destul de important. Sculele de
management automat se folosesc cand ai (sau vrei sa ai) infrastructura pe
care poti sa o razi sa o faci de la zero fara batai mari de cap, si asta se
face doar repetand pasii astia de destule ori. Daca ai UN server (sau ma
rog, suficient de putine incat sa fie fiecare un fulg de nea aparte care a
fost configurat manual de-a lungul a cativa ani), e relativ complicat sa
treci din mers la mentalitatea de "productie de serie". Asta se face doar
construind pe curat mediul langa (pe un sever nou) de suficient de multe
ori sa ai curajul sa-ti muti traficul live acolo. Lucrul asta poate fi
dificil din mult mai multe motive, nu toate de ordin tehnic. Sigur ca
merita facut efortul dar nu e de loc neglijabil, si partea cu "inveti
ansible sau puppet" este cea mai simpla chestie din tot procesul.

Sursa: cam de vreo 15 ani incoace lucrez sau ma stradui sa lucrez in stilul
asta si inca n-am vazut vreo situatie unde sa fi mers cu succes "din mers"
tranzitia de la "intri pe server si faci chestii as needed" la "intri pe
server doar foarte rar ca sa investighezi ceva". Tot timpul a fost nevoie
sa reinstalez pe curat masinile langa (ocazional de cateva ori pe zi).
Intr-un mediu cloud e ceva mai simplu, pe "serverul din debara" e cel mai
complicat. Cel mai complicat este insa sa te dezveti sa te loghezi pe
masina sa faci lucruri, si asta nu se face cu ocazia upgrade-ului.

-- 
P.


On Fri, Jun 26, 2020 at 10:57 PM Adrian Sevcenco <adrian.sevce...@cern.ch>
wrote:

> On 6/26/20 7:48 PM, Adrian Popa wrote:
> > Ok, mulţumesc amândurora pentru sfaturi/idei.
> >
> > Încă o întrebare legată de ansible. Să zicem că îmi definesc propriile
> > playbook-uri în care îmi fac deploy la aplicaţie. Cum e mai bine - fac
> > deploy de mână pe un server de test şi testez că merge acolo după care mă
> > uit prin history şi scriu playbook-ul, sau încep să scriu playbook-ul şi
> îl
> > tot rulez/modific până merge aplicaţia? Care e mai productiv mod de
> lucru?
> pai vezi ca exista
> -C, --check           don't make any changes; instead, try to predict some
>                          of the changes that may occur
>    -D, --diff            when changing (small) files and templates, show
> the
>                          differences in those files; works great with
> --check
>
> ;)
>
> dar in principiu nu ar trebui sa fii surprins de nimic ca iti scrii
> taskurile de mana .. mai intii iti scrii "piesele de lego" (taskurile)
> si apoi le combini .. un task poate sa includa si alte taskuri
> astfel un playbook e doar o constructie de lego
>
> sfatul meu e mai intii sa citetesti si sa lecturezi usor searchuri de
> "ansible howto" pe google :) pana sa pui mana sa faci diverse
>
> estimez un max 12 ore de documentatie pentru a incepe sa scrii taskuri
> si apoi pe masura ce iti traduci "vreau ca masina sa aiba aceasta stare"
> in taskuri individuale ce apoi le compui, o sa fii din ce in ce mai
> comfortabil cu ansible :)
>
> Succes!
> Adrian
>
> P.S. vezi ca multe/majoritatea modulelor din pagina cu module are si
> exemple de folosire
>
>
> >
> > On Fri, Jun 26, 2020 at 3:56 PM Adrian Sevcenco <adrian.sevce...@cern.ch
> >
> > wrote:
> >
> >> On 6/26/20 2:51 PM, Adrian Popa wrote:
> >>> Salut,
> >> Salut!
> >>
> >>> Hmm, ansible sună interesant pentru problema asta... Mersi de sfat.
> Măcar
> >>> aşa ar rămâne documentat ce e pe fiecare server...
> >>>
> >>> Nu am eu foarte mare experienţă cu ansible, dar presupun că o să încep
> să
> >>> caut playbook-uri pentru diverse taskuri şi o să le customizez după
> >>> nevoi... Recomanzi să încep de la https://galaxy.ansible.com/, sau
> >> există o
> >>> resursă mai bună?
> >> well.. e dupa gust :) pe galanxy gasesti roluri complete unde doar
> >> setezi niste parametrii si gata ... dar daca vrei sa stii ce se
> >> intimpla, ca inceptator iti prinzi urechile ...
> >>
> >> eu pas cu pas mi-am definit taskurile mele si apoi mi-am definit
> >> playbook-urile incluzand aceste taskuri .. nu e elegant si felxibil ca
> >> un role dar stiu exact ce am pus si unde ... dupa ceva vreme probabil
> >> ajung natural la roluri
> >>
> >> iti recomand sa ai pagina asta la indemana :D
> >>
> https://docs.ansible.com/ansible/latest/modules/modules_by_category.html
> >>
> >> in principiu un playbook are host-ul definit obligatoriu dar eu mi-am
> >> facut un scriptulet care lanseaza playbookul cu hostul din argument
> >> https://github.com/adriansev/bin-scripts/blob/master/ansplay2host
> >>
> >>
> >>> P.S. De la Centos 7 la 8 există upgrade path, sau e aceeaşi problemă?
> >> Oare
> >> nici la asta .. din cate am "auzit" de abia de la 8->9 va fi
> >> infrastructura pregatita pentru asta
> >>
> >>> pe Ubuntu de ce se poate şi pe CentOS nu? Sau intrăm în holy flame war?
> >> pai .. nu e acelasi lucru ... daca vrei poti sa zici : de ce pe debian
> >> se poate si pe centos nu :))
> >>
> >> IMHO raspunsul scurt e ca rpm-ul a suferit schimbari/inbunatatiri
> >> radicale (backward incompatible) pe cand apt-ul (sau cum s-o numi
> >> infrastructura de packaging) nu ...
> >>
> >> dar fedora are distro upgrade de pe vremea lui 16 parca ... nu sunt
> >> sigur de loc pe memoria mea dar oricum de multa vreme (si ca sa incerc
> >> si eu un flame war : de dinainte sa renunte debian la sysinit :))) )
> >>
> >> Adrian
> >>
> >>
> >>> Mersi!
> >>>
> >>> On Fri, Jun 26, 2020 at 12:31 PM Adrian Sevcenco <
> >> adrian.sevce...@cern.ch>
> >>> wrote:
> >>>
> >>>> On 6/26/20 11:55 AM, Adrian Popa wrote:
> >>>>> Salut,
> >>>> Salut!
> >>>>
> >>>>> Am mai multe servere cu Centos6 în subordine (unele fizice, altele
> >>>>> virtuale). Văd că nu există o procedură suportată de upgrade la
> Centos7
> >>>> (o
> >>>>> să încerc distrorejuve pe un vm să vedem ce iese). Aş vrea să întreb
> -
> >>>> care
> >>>>> a fost abordarea voastră în situaţii similare? Tentativă de upgrade,
> >> sau
> >>>>> install pe curat? În caz de install pe curat, în afară de backup
> /etc,
> >>>>> /home, date aplicaţii, listă pachete + install pe target + test aţi
> mai
> >>>>> făcut şi alţi paşi? Există o procedură de reinstall cu portare
> >>>>> setări/aplicaţii documentată pe undeva?
> >>>> eu nu stiu sa existe posibilitatea trecerii de la 6 la 7 mai ales ca
> din
> >>>> cate imi amintesc s-au schimbat chestii la rpmdb ...
> >>>> sfatul meu ar fi sa faci clean install
> >>>> /home-ul poate linistit sa ramana la fel (mai ales daca e inexistent
> in
> >>>> cazul serverelor)
> >>>>
> >>>> la servicii trebuie sa evaluezi daca formatul lor e portabil .. eu
> >>>> pentru mysql->mariadb si postgres am facut dump complet (mai ales ca
> la
> >>>> postgres folosesc upstream repo)
> >>>>
> >>>> de asemeni mi-a folosit investitia de timp pentru familiarizarea cu
> >>>> ansible : am scris retete (aproape) distro-agnostice pentru serviciile
> >>>> ce necesitau configuratii adaptate, iar pentru celelalte retete doar
> de
> >>>> pus la loc fisierele cu configuratii
> >>>>
> >>>> firewall-ul poate fi configurat tot independent de distro
> >>>>
> >>>> dupa toata aceasta pregatire, cu un kickstart pregatit, instalarea de
> >>>> centos 7 si apoi rulatul retetelor a durat 30 min.. dureaza mai mult
> >>>> coafatul, daca te trezesti ca ai mult prea multe pachete in plus (asta
> >>>> cand o faci prima oara e o procedura iterativa, pana iti dai seama ce
> ai
> >>>> nevoie, ce scoti etc dureaza cateva iteratii)
> >>>> Dupa rodajul cu 1-2 servere, poti sa ajungi la 10-15 min de re-intors
> in
> >>>> productie (bine, depinde si de volumul de install, viteza la local sau
> >>>> remote repository etc)
> >>>>
> >>>> HTH,
> >>>> Adrian
> >>>>
> >>>> _______________________________________________
> >>>> RLUG mailing list
> >>>> RLUG@lists.lug.ro
> >>>> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
> >>>>
> >>> _______________________________________________
> >>> RLUG mailing list
> >>> RLUG@lists.lug.ro
> >>> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
> >>>
> >>
> >>
> >> --
> >> ----------------------------------------------
> >> Adrian Sevcenco, Ph.D.                       |
> >> Institute of Space Science - ISS, Romania    |
> >> adrian.sevcenco at {cern.ch,spacescience.ro} |
> >> ----------------------------------------------
> >>
> >> _______________________________________________
> >> RLUG mailing list
> >> RLUG@lists.lug.ro
> >> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
> >>
> > _______________________________________________
> > RLUG mailing list
> > RLUG@lists.lug.ro
> > http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
> >
>
>
> --
> ----------------------------------------------
> Adrian Sevcenco, Ph.D.                       |
> Institute of Space Science - ISS, Romania    |
> adrian.sevcenco at {cern.ch,spacescience.ro} |
> ----------------------------------------------
>
> _______________________________________________
> RLUG mailing list
> RLUG@lists.lug.ro
> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
>
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro

Raspunde prin e-mail lui