Tag Archives: nervi

lio fun stuff

Acu multi ani, cand voiai sa faci un target de ISCSI pe Linux, existau tgtd si tgtadm. Pen’ca tgtd rula in userspace, avea ceva penalitati de performanta, ca luai chestii de pe disk si le trimiteai peste retea. Niste oameni, adica Datera prin http://linux-iscsi.org/wiki/LIO au scris toata partea de target si initiator in kernel ca sa nu mai faci context-switching aiurea fara motiv.

Partea misto e ca pe langa ISCSI “normal” au implemenant si primitivele VAAI ale lui VMware si accelereaza diverse operatiuni pe care le face ESXi: gen zero-ing, copiere si scriere de date de pe acelasi LUN etc.

Intr-un proiect de acu aveam nevoie de shared storage pentru niste ESXi-uri si m-am apucat sa fac niste target-uri pe un CentOS7. Initial din toate discurile de aveam sa le export, am exportat unul singur mi-am facut treaba si restul sa le export cand aveam nevoie de ele.

Intr-o zi cu soare am ajuns si la exportat restul de discuri ca aveam nevoie de loc unde sa fac backup, sa mut niste masini pe niste discuri mai rapide etc.

Am adaugat si restul de discuri ca LUN-uri, le-am mapat in ESXi-uri si m-am luat cu alta treaba. A doua zi incepe lumea sa se agite ca bai nu mai merge “serverul”, unde “serverul” era un VM pe care lucrau oamenii. Pana a ajuns la mine asta, pana am terminat ce aveam de facut, a inceput sa mearga “serverul”. Am zis ca cine stie, o fi sughitat reteaua sau ceva (ca lumea era pe Wi-Fi si na… nu e obligatoriu sa mearga mereu ca te mai pui cu laptop-ul aiurea si poate nu ai cel mai bun semnal) si d’aia n-a mers, ca nici nu a stiu lumea sa-mi spuna exact ce inseamna “nu merge”.

A doua zi dupa incident, eram eu pe langa rack-uri si trageam de niste cabluri pe acolo, cand aud un bipait din ala de cand buteaza un server. M-am apucat sa ascult sa vad de unde e, da pana am gasit un monitor, pana l-am montat, pana am luat-o din server in server, totul era iar OK. Dupa aia am luat-o cu verificat de uptime-uri, pana dau de asta cu storage care avea uptime de cateva minute.

Evident, dictai WTF-ul pe fata mea, ca n-atinsesem nimic care sa-l afecteze. Noroc ca mai eram cu cineva acolo pe post de martor, ca zicea lumea ca-i sabotez. E, cat incercam io sa ma uit in loguri sa vad ce-ar fi putut sa aiba (bine, sperand sa gasesc loguri), vad cum incepe un kdump sa ruleze si buf, reboot iar.

Cat am apucat io sa vad ce scria pe ecran, baga ceva cu “BIOS corrupted by…”. Zic sa vezi acu distractie, ca daca e ceva de BIOS si nu exista update la producator, o sa se lase cu sugeri maxime, ca aia n-o sa fixeze peste noapte si o sa dureze pana se prind ce ma-sa are.

Cat ma gandeam eu la posibilitati si ce-ar putea sa aiba, s-a rebutat, a pornit fain frumos, a mai mers vreo 10-15 minute si iar kdump si biiip restart.

Eram asa un pic cu morcovul in cur ca 1) lumea chiar avea nevoie de storage pentru VM-uri 2) eu propusesem solutia. Mai mult 2) ma ardea maxim. Ca ma gandeam c-am pizdit-o grav. Desi era prima oara cand se intampla asta, am auzit de atatea ori scuza asta la diversi cu “pana acu nu mi s-a intamplat” ca ma gandeam ca sigur o sa ma creada din parti clientul daca zic si io asta. Ca eu sigur nu l-as fi crezut pe unul cand zice asta.

Si m-am apucat sa ma gandesc ca ma-sa s-a schimbat intre timp, ce-am facut, unde, de ce. Si nu imi venea nimic in cap sa fi facut acolo, care sa prezinte un risc. Pana cand dupa vreo ora asa, si vreo 2 reboot-uri, m-a palit ca poate e de la ISCSI ca adaugasem alea 2 LUN-uri in portal.

Le-am demonat de pe ESXi-uri, le-am sters din portal si am asteptat sa vad daca mai crapa.

Si n-a mai crapat.

Dupa ce mi-a trecut sperietura cu asta, am inceput sa ma gandesc ca “ba bine, nu mai crapa, da acu ce cacat fac cu restul de discuri, ca nu pot sa nu le mai prezint la ESXi-uri, ca am nevoie de ele”. Cat timp ma gandeam eu la asta, mi-am adus aminte de kdump. Si m-am apucat sa ma uit prin ele, ca se salvasera toate de cand a inceput sa moara kernelul.

Si mi-a trecut panica, ca absolut de fiecare data crapa in acelasi loc:

[ 5241.534120] BUG: unable to handle kernel NULL pointer dereference at 000000000000001c
[ 5241.534194] IP: [<ffffffff816abb5c>] _raw_spin_lock+0xc/0x30
[ 5241.534245] PGD 0 
[ 5241.534264] Oops: 0002 [#1] SMP 
[ 5241.536014] Call Trace:
[ 5241.536048] [<ffffffffc05d1c90>] ? target_complete_ok_work+0x180/0x330 [target_core_mod]
[ 5241.536109] [<ffffffff810a881a>] process_one_work+0x17a/0x440
[ 5241.536153] [<ffffffff810a94e6>] worker_thread+0x126/0x3c0
[ 5241.536196] [<ffffffff810a93c0>] ? manage_workers.isra.24+0x2a0/0x2a0
[ 5241.536244] [<ffffffff810b098f>] kthread+0xcf/0xe0
[ 5241.536281] [<ffffffff810b08c0>] ? insert_kthread_work+0x40/0x40
[ 5241.536327] [<ffffffff816b4f58>] ret_from_fork+0x58/0x90
[ 5241.536367] [<ffffffff810b08c0>] ? insert_kthread_work+0x40/0x40
[ 5241.536410] Code: 5d c3 0f 1f 44 00 00 85 d2 74 e4 0f 1f 40 00 eb ed 66 0f 1f 44 00 00 b8 01 00 00 00 5d c3 90 0f 1f 44 00 00 31 c0 ba 01 00 00 00 <f0> 0f b1 17 85 c0 75 01 c3 55 89 c6 48 89 e5 e8 a4 2a ff ff 5d 
[ 5241.536649] RIP [<ffffffff816abb5c>] _raw_spin_lock+0xc/0x30
[ 5241.536694] RSP <ffff88085de0fdf8>
[ 5241.536720] CR2: 000000000000001c

Bine, mi-a trecut panica ca m-am gandit eu ca ba, sa vezi ca se confuzeaza in vreo chestie de concurrency ca mai multe host-uri vor chestii relativ similare de pe mai multe discuri in acelasi timp si poate se dezaloca ceva aiurea si d’aia ajunge ala in NULL pointer dereference. Sau poate cand aloca nu si incrementeaza numarul de alocari si prima dezalocare merge da restul nu mai au cum… Sau ceva de SerDes aiurea la scrieri/citiri.

Da’ fiind in _raw_spin_lock cand crapa… slabe sanse sa pot debuga ceva, ca asta e treaba de lucruri low level in kernel.

Long-story short: mai multe LUN-uri intr-un portal exportate la mai multe host-uri != love.

Acum stiam de ce crapa, da nu-mi rezolva problema, si anume sa pot folosi toate discurile din sistem.

Si mi-am adus aminte ca atunci cand am mai avut probleme din astea cand nu mergeau mai multe lucruri in acelasi timp in kernel am folosit VM-uri se separ pe caprarii componentele.

Asa am ajuns ca pentru fiecare disc pe care trebuie sa-l export sa fac cate o masina cu KVM la care sa-i atasez discul din host, sa fac cate o configuratie simpla de ISCSI target si s-o prezint mai departe la ESXi-uri. E o solutie scarpinata pe dupa ureche, da’ merge si pentru ca virtualizare si discuri din host in VM direct, nu se observa nici un overhead.

Nu e cea mai eleganta solutie, dar merge fara prea mult efort de administrare.

tcp ecn/cwr & panos

Scriu postul asta in aproape Noiembrie 2017. Nu ca n-ar avea blog-ul timestamp, da e bine de retinut ca e vorba de sfarsitul lui 2017. Si e important acest aspect.

Pentru un client cu nevoi de Client-to-Site VPN am ales sa folosesc PaloAlto Networks VM-100. Ca are capabilitati misto, e super click-click de folosit, si pe langa VPN pot sa fac si alte lucruri bune cu el in retea.

Cum focusul principal e VPN-ul acum, m-am apucat voiniceste sa configurez GlobalProtect sa ajunga lumea de pe unde o fi in reteaua interna. Si da-i si configureaza, salveaza si incearca sa te conectezi pe portul 443 la firewall sa te loghez in portal sa downloadezi clientul, sa-l instalezi si sa te conectezi.

Pula. Ca nu mergea neam. Vreo 3 zile am incercat toate bifele de acolo, ca poate imi scapa mie ceva. Bai da nimic. O singura regula de firewall cu Any-Any-Allow-Log. Ca nu pot da gres cu asta cand lasi traficul sa curga in toate directiile.

Dupa ce n-a vrut si n-a vrut, am zis sa sun pe cine stiam eu ca s-a mai dat cu PaloAlto. Se uita omul, face config de la zero ca eu il stersem sa nu fi uitat vreo chestie si sa debugheze aiurea. Rezultatul: fix pula. Coincidenta face ca omul sa fie fost la un curs de refresh de PAN si l-a pus si pe ala de era instructor sa se uite. Teoretic trebuia sa mearga, practic nu mergea.

Si ca sa fie treaba si mai si, cateodata puteai accesa portalul pentru cateva minute pana cand iar nu mai mergea, dar doar daca fix in acelasi timp te dadeai pe interfata de management a echipamentului. Ca daca tot e voodoo, sa fie pana la capat.

Plecand de la premisa ca e buna configuratia, omul de l-am sunat s-a apucat sa faca dump de pachete, sa vedem daca ajung la jucarie. Si ajungeau bine mersi, doar ca erau “silent dropped”. De ce? Pai pentru ca toate pachetele de SYN aveau si flag-urile de ECN si CWR setate. Cu care firewall-ul nu avea nici o problema sa le accepte pentru management, dar avea o problema cand se duceau spre portalul minune pentru VPN. Care stau in mortii lor fix pe acelasi echipament, si pachetele trec fix prin acelasi loc si morti in inima, singura diferenta e portul pe care stau componentele.

Sa retinem, la sfarsit de 2017 inca mai sunt unii si altii care nu au auzit de ECN.

Pentru ca eu n-am ce sa-i fac, m-am apucat sa vorbesc cu suportul. Care primul nivel de suport este evident format din indieni incompetenti, dar care sunt foarte bine dresati sa caute motive sa dea vina pe tine din ce cauza nu merge jucaria si sa inchida cazul. Si sa scrie in notitele de la caz aproape orice altceva decat ca este o problema cu produsul.

Ultima scremere e ca IP-ul extern il iau prin DHCP si s-a gandit Pradeep ca poate de acolo e, desi el se conecta pe interfata de management la echipament fix prin acea interfata. Dar probabil ca in logica indieneasca o avea vreun sens.

Si cireasa de pe tort (cel putin pana acum) e ca dupa ce am stat iar cateva ore sa refaca configuratia de cateva ori, a scris pe notitele de la caz ca “we discussed that this is a cosmetic issue”. Asta o zic asa, sa nu zica lumea p’aci ca’s am ceva in mod gratuit cu indienii cand zic despre ei ca majoritatea sunt imbecili “summa cum laude”.

Asta dupa ce prima oara mi-a zis senin ca “da, pai dezactiveaza ECN pe clientii care o sa se conecteze si asta”. S-o dezactivez pe ma-sa. Ca daca voiam sfaturi cretine despre cum sa depanez problema ma duceam in parc sa discut cu un caine despre asta.

Si acu ca sa ma laud, am gasit si workaround temporar la problema pana ma termin de certat cu astia si isi fixeaza cacatul de produs. Am mai configurat o interfata pe firewall, am bagat-o intr-un alt VR si am legat-o intr-un Linux, legat fix pe DHCP la acelasi provider. Si pe Linux am un redir care asculta pe 443 pe interfata externa si trimite toate conexiunile pe IP-ul de pe interfata de la firewall. Ca stack-ul de IP de la Linux nu e scris de oameni care nu stiu sa citeasca un RFC si sa implementeze corect ce scrie acolo si il doare fix intre buci ca vin pachete cu SYN+ECN+CWR. Si uite asa merge treaba, cu workaround-uri din astea tembele. La workaround-ul asta am ajuns gandidu-ma cum sa fac sa scap de flag-urile alea fara sa impactez clientul.

Deci da, nu toata lumea stie ca internetul a mai evoluat din 2000 pana azi.

paharul naravas

Aseara stateam in fata unui pahar. Mai sorbeam un pic din el, ma mai uitam la el. Ne imprieteniseram un pic asa. Pana cand m-a atacat din senin, sarind direct pe degetul mare de la picior.

Si degetul s-a suparat ca n-am ripostat ca nu l-am tras pe pahar la raspundere si s-a umflat sangele in el. Dar ghinion, ca s-a umflat unde nu trebuia, sub unghie.

Asa ca de dimineata in loc sa ma trezesc cand trebuia sa sune ceasul, m-a trezit degetul, ca bai avem o problema.

Am schioptat incet-incet pana la Floreasca la urgente la Ortopedie sa vad care mai e treaba pe acolo. Mi-am facut si vreo 2-3 radiografii la deget, din toate pozitiile de ziceam ca-s la sedinta foto: acum drept, acum aplecat intr-o parte, acum si de deasupra…

Acolo radiografia functioneaza pe principiul urgentele primele, aia din spital pe locul doi si daca nu mori, stai la coada. Si am stat, am schiopatat pe acolo, intr-un final am ajuns sa ma iradiez un pic de control.

Noroc ca nu s-a rupt nimic, dar aveam un hematom de toata frumusetea. Cum statea el sub unghie ca manechinul in vitrina si se uita la mine. Si la doctor, care doctor s-a suparat pe el si a zis ca-l rezolva sa nu se mai uite asa.

Si acum, partea interesanta – cum se repara una din asta:

  1. Imbibi niste vata in spirt si ii dai foc.
  2. Iei un ac mai gros asa si il inrosesti in focul creat la pasul 1.
  3. Cu acul rosu dai o gaura in unghie pana iese sangele. Dupa aia mai impingi un pic de control, sa fii sigur.
  4. Repeti pasul trei de vreo 3-4 ori in zone diferite pana obtii o fantana arteziana de toata frumuseata
  5. Strangi din dinti cat faci pasii 3-4, ca e live fara nici un fel de anestezic
  6. Bandajezi piciorul, incerci sa-l pui la loc in bocanc si te duci acasa.

Daca ai sange rece, poti face asta si acasa fara nici un fel de problema :)

A venit un asistent si mi-a explicat cele de mai sus pe scurt: “O sa-ti dam niste gauri cu un ac inrosit in foc. Esti de acord?”. M-am uitat la el, m-am uitat la deget si am zis: “Ce poate sa fie rau in asta?”.

Discutiile intre doctor si asistenti erau misto, “hai sa ii dam foc” – cand vorbeau despre mine in spatele cortinei. Asta e momentul ala incepi sa te gandesti ca de obicei expresiile de genul “ce poate fi rau in asta?” sunt de obicei “famous last words” :))

Acum degetul meu arata de parca a fost impuscat cu alice. Si toata saptamana trebuie sa stau cu el in sus sa nu i se mai urce sangele la unghie, sa iau niste pastile, sa mai schimb bandajul si sa astept sa scada tensiunea in unghie. Si sa merg pe calcaie.

internetul in germania

… e prost si exagerat de scump.

Da sa incep cu inceputul: daca vrei internet, te duci sa semnezi contract cu ce operator vrei tu, ca oricum primesti doar DSL care e pe infrastructura lui Deutsche Telekom si merge dupa cum ai norocol de zona. De la prost la foarte prost.

Unde stau acu, cea mai buna viteza de o poti avea este 16Mbps/1Mbps (down/up). A durat o luna si un pic pana s-a facut instalarea efectiva. Care instalare a constat in vizita unui om de le Telekom (ca asa se zice la ei, ca deja sunt germani…) sa lege doua cacaturi de fire la alte doua cacaturi de fire si uite asa sa ajungi pana la un DLSAM.

Modemul DSL a venit cu instructiuni din alea de configurare din 3 pasi: bagat in priza, conectat sarma de DSL, bagat user/pass si gata. Ai internet. Dar nu. Ca dupa ce a venit ala, a mai durat cateva ore pana cand cineva probabil a mai butonat ceva in DLSAM/BRAS sa ajunga conexiunea la providerul ales, in cazul asta 1&1. Care zice lumea ca e cel mai bun dintre toate ofertele proaste pe care le ai la dispozitie.

Setup modem: 20min (pana am gasit plicul cu user si parola).
Legat doua fire: o luna si un pic.

Treaba asta se intampla vineri, undeva pe dupa-masa a mers internetul. Pana luni dupa-masa. Dupa care pula.

Noroc cu prieteni nemti care sa sune la suport, ca astia engleza nu prea sprechanesc deloc, doar asa prin restaurante ca-ti vor banii. Dupa nenumarate apeluri la suport, se pare ca vineri o sa vina cineva sa vada ce si cum si dupa aia mai vedem. Pentru ca desi linia e sincronizata in DLSAM, se pare ca nimeni nu e capabil sa spuna de ce mortii lor nu se autentifica modemul sa am internet.

Si vineri se uita lumea, nu inseamna ca o sa si fixeze, desi io sper.

Si acu cu internetul: pentru doar 20EUR luna primesti 16Mbps/1Mbps cu limita la maxim 100GB pe luna. Care s-ar putea micsora daca isi pune DTAG mintea ca vor sa-i lasa pe prosti doar cu 75GB pe luna, ca e mai ieftin sa vinzi conexiuni limitate decat sa investesti infrastructura.

La jumatatea anului 2013 in Germania, cea mai jmechera tara din UE, situatia cu internetul e cam cum era prin Romania in 1998-2000 cand Romtelecom avea monopol si se pisa pe toata lumea. Numai ca la astia e mai rau ca nu ii lasa nimeni pe altii sa-si faca retele de comunicatii separate. Doar DTAG are voie.

Postul asta il scriu de pe laptop care e lagat la un telefon cu cartela prepaid de date care la care platesc 15EUR/1GB. de date. Si doar seara si un pic dimineata, ca in timpul zilei e cu treaba plecat telefonul :(

Si uite asa ma plimba ca vita prin Berlin toata ziua fara vre-un scop anume, neputand sa fac nimic util pentru ca asa e cand e monopol: se fixeaza problemele cand vrea pula alora care au monopol. Si nu se grabeste nimeni, ma mir cum de inca n-au facut reclamatie ca-i deranjam de prea multe ori cu telefoanele sa-i intrebam cand mortii lor au de gand sa fixeze problema.

DTAG = Deutsche Telekom = Telekom pentru evitarea confuziilor.

manager

Manager. Asta am vrut io sa fiu acu vreo 3 ani or so. Ca am zis ca gata, e timpul sa trec la alt nivel. Cu toate ca imi place atunci la fel cum imi place si acum sa surubaresc la tot felul de chestii cat mai tehnice, sa stiu cum functioneaza, sa le configurez pana crapa.

Da revenind. Initial ma chemam Team Leader, da suna asa, d’ampulea. Si orgoliu mare pe mine, cum adica doar un amarat de Team Leader. Eh, am facut ce-am facut si am primit functia mult dorita de Manager.

Si toate bune si frumoase pana pe la inceputul anului asta cand am inceput sa-mi caut de munca in Olanda. Unde am inceput sa primesc rejecturi pentru ca eram overqualified, nu eram suficient de tehnic (desi scriam in CV ca fac stuff tehnic) sau mai stiu io ce alte scuze. Pe alea cu “nu stii olandeza” am inceput sa le ignor, ca si daca as vrea, nu invat olandeza tehnic intr-o luna.

Eh, si m-am mai interesat io un pic pe la aia care imi dadeau reject, si se pare ca la ei acolo managerul face chestii de management, nu sta sa butoneze noptile la mai stiu io ce dude. Si o data ajuns manager, nu mai vrei sa dai inapoi.

Calculul lor e corect din punct de vedere teoretic. Practic ma enerveaza de-mi sar mucii, ca tot primesc reject la job-uri de le-as putea face fluierand. Da ei cauta tehnic, nu manager. Si direct cu rejectu peste ochi.

M-am gandit si sa-mi titulatura in CV, da parca nu-mi vine, ca pe de alta parte fac si treaba aproape buna de manager. Si as vrea sa fiu luat pe bun si nu pe baza de minciuni.

Da, deci nu e neaparat bine sa fii Manager in anumite circumstante :(( Si nici daca nu vrei sa albesti inainte de termen.

dageabism maxim

Ieri am fost la Aviodrome, sa vad avioane.

Si am zis sa fac poze cu camera de filmat, numai ca abia acasa cand am scos SD card-ul sa copiez pozele mi-am dat seama ca nu am facut nici o poza.

Motivul e ca io apasam pe buton sa faca doar focus, nu il apasam pana la capat sa faca poza.

Si uite asa am simulat c’am facut cine stie cate zeci de poze :((

Lucrul bun e am vizitat un 747 peste tot. Si am vazut si io cum e la first class, si pe upper deck langa piloti, cum arata zona de cargo, si plimabandu-ma prin si pe langa el, am ajuns la concluzia ca e al dracu de mare, adica e impresionant cand mergi pe sub el. Si aripile, si motoarele si tot.

Si l-am tot pozat in toate directiile, si acum PULA poze. Asa ofticat eram aseara…

goodbye htc

Ma gandesc de ceva vreme sa-mi iau un telefon nou candva. Pana acum in partea de SmartPhone am avut doar HTC: Desire si Desire S. Primul a mers OK si l-am folosit fara probleme o perioada, iar al doilea l-am luat ca l-am dat pe primul mai departe.

Desire S arata mai business decat Desire. ce nu mi-a placut la el e ca se reseta aleator, am tot trimis crash reports la HTC da cre’ca i-a durut fix in cur ca fixuri n-au iesit.

Intre timp i-am pus Cyanogenmod 7.1 si merge de n-are aer. am scapat si de Sense care cred ca e exemplul perfect de bloatware pe telefoane mobile. nu zic ca ultima versiune de Sense n-arata misto, da nu aduce chiar atat de multa utilitate in utilizarea telefonului incat sa merite sa fie pus peste Android.

Cum sunt mai techie asa, am tot cautat pe forumuri cand iese si un build de Android 4.0 pentru Desire S ca totusi e telefon nou si are destul RAM sa tina noul OS. Eh, se pare ca HTC nu e foarte sigur ca o sa dea drumul la Android 4.0 pe Desire S ca cica daca nu pot sa faca sa mearga si Sense pe telefon, n-o sa faca update.

Asta a fost momentul de “Muie HTC” si taiat de pe lista de producatori de telefoane mobile de la care ma gandesc sa cumpar aparate.

Acum ramane pe piata doar Samsung care mai face telefoane cu Android din punctul meu de vedere. Care Samsung se pare ca n-are o problema sa dea la oameni Android 4 si fara sa puna bloatware pe telefoane.

Sper ca aia de la Cyanogenmod sa faca mai repede un build de Android 4 si pentru telefonul meu, ca pe producator il doare in cur o data ce a vandut la prosti ca mine un telefon cu Android 2.3. Probabil se asteapta sa-mi cumpar un telefon nou doar ca sa am Android 4. In cazul asta s-o suga.

Un client suparat.

bfd si junos 11.1 pe ex4200 in virtual chasis

Distributed periodic packet management (PPM) of Bidirectional Forwarding Detection (BFD) protocol traffic is not supported for virtual routing instances. As a workaround, use the centralized PPM model by disabling distributed PPM with the command set routing-options ppm no-delegate-processing. [PR/580774: This is a known software limitation.]

…sau cum sa-ti futi juma de sambata intrebandu-te de ce nu merge BFD-ul intre un stack de EX-uri si doua routere, iar intre cele doua routere merge :(

oglinda, oglinjoara

Duminica dimineata, aproape treaz eram cu bagajele in spinare pregatit de drumul lung spre Cluj. Si surpriza: careva noaptea mi-a ciordit oglinda de pe stanga de la masina. Si uite asa am bagat io pana la destinatie fara oglinda stanga. Distractiv era ca trebuie sa ma intorc sa vad daca nu vine careva cand aveam nevoie de oglinda, ca cu aia din interior nu m-am inteles, chiar daca am orientat-to spre stanga mult.

450km si 90RON mai incolo am iar oglinda la masina. Sper sa nu mai dispara. Macar cine a luat-o a facut-o cu grija ca a lasat intacte fierele si mufele de la incalzirea oglinzii.