EDICIóN GENERAL
440 meneos
6185 clics
Gitlab.com fundido por borrar un directorio incorrecto, los backups fallan [ENG]

Gitlab.com fundido por borrar un directorio incorrecto, los backups fallan [ENG]

Gitlab.com, una empresa de gestión de código fuente, ha perdido datos de producción. Un administrador cansado ejecutó un rm -rf sobre un directorio incorrecto que contenía 300 GB. Cuando se dio cuenta sólo quedaban 4.5 GB de datos. Los sistemas de backups que tienen no estaban probados y no han servido para nada. Se están recuperando los datos de un snapshot con algunas horas de antigüedad que además no es completo. La pérdida afecta a la base de datos (incidencias y merge requests) pero no a los repositorios.

| etiquetas: gitlab , rm , backup , directorio , datos
Comentarios destacados:                                  
#1 rm -rf *

¿Qué podría salir mal? :shit:
rm -rf *

¿Qué podría salir mal? :shit:
#1 ¡Eso le pasa por no usar la papelera de reciclaje! >:-(  media
#28 Calla calla, que muchas veces hago Mayus + Supr para "Eliminar definitivamente" (sí, soy de Güindous) y más de una vez me colé, una vez borré la carpeta de películas completita :pagafantas:
#38 Yo lo hice una vez con "Archivos de programa", quería entrar dentro para borrar uno a mano pero se me fue la pinza y le di antes de entrar. Por suerte entre que calculaba y empezaba me di cuenta y no hubo grandes daños xD
#38 Eso te pasa porque no habrás vivido épocas pasadas. La papelera de reciclaje fue una bendición que igual no valoráis bien.
#52 Empecé con MS-DOS, como sabes las capacidades de los discos duros siempre era muy limitada (de aquella), creo que la 'Papelera de reciclaje' apareció con W95 y juraría que de aquella tenía un disco duro de unos 800 Mb, vamos que con 3 o 4 CDs ripeados en MP3 ya tenía petao el disco duro, y la manía ya me quedó desde aquella xD
#75 ¿Empezaste ya con discos duros? Qué suerte, yo empecé con una sola disquetera de 5 1/4. Bueno, en realidad antes con una cinta de casete...

Aún no había salido ni el MS-UNO :troll: .
#88 Bueno, el CPC no lo cuento porque era de mi primo, pero sufrí las interminables cargas con su error después de 35 minutos esperando y esas cosas jajja xD :ffu:, el primer PC creo que lo tuve a finales del 93, 486 DX con ¿4 Mb? de RAM, no recuerdo exactamente. #MomentoViejuno
#75 los CDs con lectura Mp3 no fueron lanzados al mercado hasta el 2002 y con un precio bastante alto, por lo que es muy improbable que en tu Windows 95 de 7 años y 800mb te pusieras a ripear Mp3 :-P
#75 yo empece con unas pinturas en una caverna
#82 Con ese programa si lo acabas de borrar tienes un 99.9% de probabilidades de poder recuperarlo todo.
#38 c: -> boton derecho -> propiedades -> versiones anteriores -> boton derecho encima de la que te cuadre -> abrir en nueva ventana.

De nada.
#28 Fuera de coñas, cuando estudié sistemas operativos una de las prácticas que tuvimos hacer fue crear un sustituto para rm que en vez de borrar enviara a una unidad que funcionase como "papelera de reciclaje"

Es para pensarlo. Que en entornos críticos un rm no borre, sino que mueva a una unidad externa a modo "papelera".
#95 Seguramente sólo serviria para que el admin de sistemas de turno crease un script que borrase y vaciase la papelera de una sola vez ...
#28 ¿De qué serviría? Si lo que necesitaba era eliminar una carpeta para liberar espacio, pasarlo a la papelera no resolvía el problema. Además, suele pasar que no te das cuenta del error hasta mucho después de borrar y vaciar la papelera.
#1 A cualquiera se le olvida el punto en un sudo rm -rf ./
#1 Fuera coñas a mi me pasó una vez cuando se me coló un espacio donde no debía (por las prisas escribiendo):

rm -rf / home/user/folder

el espacio entre la / y el home hace que primero borre todo y luego intente borrar el subdirectorio home/user/folder...
#48 Wow... qué putadón.
#48 Mal de muchos... conozco a uno que hizo algo parecido, desde la / ejecutó # rm -Rf . /ruta/completa/copiada/y/pegada/para/no/equivocarse
#48 A mi se me colo un espacio borrando unos directorios en vez de rm -fr nombDir* hice rm -fr nombDir *. No veas la gracia. En todo caso a los que nos dedicamos a trastear con sistemas es algo que en mayor o menor medida nos ha pasado alguna vez.
#48 Por eso aunque sea aburrido como confirmar los password 2 veces, es interesante el parametro -I quedando como rm -rfI <loquesea> .
#48 Me apunto a este carro... Y no una sola vez...
#48 hace muuuucho tiempo que cogí la manía de hacer ls /home/user/folder, cursor arriba, inicio suprimir suprimir rm -rf :hug:
#48 O usas una distribución antigua de narices o una chapucera que modifica las opciones por defecto de forma estúpida, el rm de Linux (y el de BSD) hace años que lleva activado el preserve-root por defecto, si intentas borrar la raíz te sale un aviso de que no lo puedes hacer si no le pasas el flag contrario explícitamente.

Ejemplo acabado de ejecutar en esta máquina como root:
rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

Vamos, que lo de le di a rm -rf / sin querer es un mito desde hace mucho tiempo.
#48 yo hice un

rm -rf ~ *

el espacio entre * y ~ no debía estar, era para borrar backups creados por el editor (no recuerdo si era emacs), me borró un proyecto de la universidad a 5 minutos de cerrar el servidor de entregas
#48 Sí, yo también le dí una vez al botón derecho -> elimimar -> si. Luego entre en la papelerá y repetí: boton derecho->eliminar->sí, seguro.
Todo eso sin darme cuenta. :troll:

(no, en realidad un formateo a propósito por estar haciendo el tonto;luego descubrí que quizás podría haber recuperado todo, o casi todo, pero no lo sabía... :shit: )
#1 Diselo al que lo ejecutó que debe estar en su casa
#76 Más bien estará en caza para ser ejecutado.
#1 www.youtube.com/watch?v=nc0hPGerSd4 sesión en directo de como lo intentan arreglar
#1 Eso en Windows no pasa :-)
#1 Todo.
#1 ¿EXplicación para no iniciados?
Que entradilla más fashion.
#2 Si esto lo lee mi madre, se queda igual no, peor.
#4 Ella diría: "¿A que voy yo y los encuentro?" Y de repente, sin que nadie sepa como, backups recuperados.
#4 Peor que una completa ignorante, lo dudo.
#4 ¿cómo lo pondrías tú para que lo entendiese tu madre?
Eso en la nube no hubiera pasado :shit: :troll:
No entiendo casi nada pero suena a marronazo gordo
#6 Para no entender lo has pillado bien
#9 Es un monton de mierda que huele desde aquí.
#6 www.youtube.com/watch?v=i_cVJgIz_Cs Pongamos un poco de música a la situación.
#30: Y con error de inconsistencia. :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D :-D
#30 veo esta mas apropiada
youtu.be/3hBIAgQPygY
Me da que si ejecutas rm -rf, a poco que lleves un tiempito administrando, no lo haces sin querer.
#8 Eso pienso yo; no me puedo creer que un Administrador introduzca "por error" una instrucción que sabe que lo va a borrar todo; aquí alguien no está contándolo todo.

Edito. La explicación que señala #12 ya tiene más sentido. Los nombres de los directorios eran muy semejantes, pero aún así el fallo es de cuidado.
#8 #13 Errores cometemos todos, seamos developers, sysadmins, médicos, candidatos a las primarias del PSOE, presidentes o traficantes de droga. Lo que una mañana recién levantado puede sonar como un error de bulto impensable, puede suceder cuando llevas 14 horas pegándote con un puto upgrade. Que no le quita hierro a la cagada, pero el que este libre de pecado...

Y aclarado esto, recordad chicos: Para directorios "presuntamente" vacíos que deban desaparecer, rmdir es vuestro amigo. :-D

cc #33 #80
#8 Yo tuve una cagada similar en un servidor de desarrollo hace años sudo rm -rf /
#33 esas cosas pasan...

Solo se moja el q se mete al rio.
#8 Nop, pero puedes haber realizado un mierdascript en dos minutos, en el que se cuela un "/" en los parámetros, y dejas la máquina pelada. :-S

Suerte que los backups eran "de verdad", no como los de la noticia, mágicos xD
#8 A poco que lleves un tiempito administrando sabes que es la forma más sencilla de borrar una serie de archivos y/o carpetas sin tener que ir uno por uno y/o tener que repetir comandos por que una carpeta no está vacía u otros motivos.

Que sí, que es arriesgado y puedes cagarla mucho pero también es desesperante responder a los errores que van saliendo cuando quieres borrar el contenido y el comando no es suficientemente agresivo para ello.

Y como indican en un script es aún más fácil…   » ver todo el comentario
#99 Nota: rm -rf / no hace nada. Hace tiempo que rm incorpora una medida de seguridad para no borrar la raiz:
rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-VCxIABGiryG7_z_6jHdVik/pub

Via reddit. Es una cagada de proporciones industriales .. :-x
del google doc:

2017/01/31 23:00-ish
YP thinks that perhaps pg_basebackup is being super pedantic about there being an empty data directory, decides to remove the directory. After a second or two he notices he ran it on db1.cluster.gitlab.com, instead of db2.cluster.gitlab.com
2017/01/31 23:27 YP - terminates the removal, but it’s too late. Of around 310 GB only about 4.5 GB is left - Slack
#12 este no encuentra otro trabajo en su vida.
#14 En EEUU puede que no pero en España seguro que se lo rifan muchos polí...

Ya, ya, ya me lo cojo yo: :calzador:
#14 El error humano es normal y puede pasarle a cualquiera. Lo que no tiene razón de ser es que no hubieran testeado nunca el sistema de backups :wall: :wall: :wall:
#57 Coincido, todos somos humanos y todos metemos la pata.
#14 #57 Ya lo dice el antiguo aforismo latino "Errare humanum est, et maior calamitas cum abaco."

Es decir: "Errar es humano, pero para cagarla bien hace falta un ordenador." :-D
#57 Culpa del sysadmin, pero segun mi experiencia es un tema de politica de empresa. Ocurre lo mismo en desarrollo. Cuantas veces un desarrollador ha dicho que un sistema no estaba listo para ir a produccion, pero desde arriba se ha dicho que se ponga en produccion igualmente.

El problema es que la gente que esta tocando directamente los sistemas son jovenes y no tienen la experiencia y/o el valor para decir NO a segun que cosas. Yo hoy en dia no tocaria un sistema en producccion sin estar segurisimo de que los backups funcionan perfectamente...
#57 No testear el sistema de backups también es un error humano...

Goto #180
#57 El error no es justificable cuando eres un profesional, te la juegas, datos críticos dependen de ti y especialmente cuando existen formas de testear que la operación peligrosa que vas a ejecutar hace lo que tú crees que le has mandado hacer.

Para dedicarse a esto hay que tener una mínima autodisciplina. Un día te saltas eso, y casualmente pasa. A nadie le da por cerrar los ojos a propósito mientras conduce porque le pican o los tiene doloridos. Esto es lo mismo.

A mí ejecutar esto sin testearlo antes cuando había lo que había en juego me parece una negligencia grave.
#14 Solo el que toca puede equivocarse.
#81 Con esa frase seguro que ligas un montón.. xD
#14 Pues precisamente aunque YP fue quien originó el error humano (que tal como está explicado yo lo entiendo ya que tienes varias terminales de maquinas de un cluster que son prácticamente idénticas y si no te fijaste bien en el prompt la lias) también es el que ha originado la posibilidad de recuperar los datos ya que hizo un snapshot del LVM antes de meter la zarpa y el resto de backups no funcionan, salvo ese....
#12 Las claves de acceso deberían ser distintas las de prod que dev/pprod y a prod, solo deberías poder realizar tareas automatizadas y si pasa algo, entras manualmente a la maquina a la maquina.
#19 A la máquina a la máquina a la máquina.
#19 se le pide al máquina que mire la máquina a ver si máquina.
#19 Salvo que se usen claves de ssh... sin password (que los hay... y muchos... :roll: )
#19 claves de acceso???? xD se valida con clave criptografica, habitualmente
#12 Culpa de Linux por ser tan rápido! si hubiera tardado más, como otros SO, se hubieran perdido menos cosas...
Consecuencias para los que tenemos repositorios?
#15 Los repositorios están intactos (y las wikis, que también están en git). El problema es la información adicional que se guarda en la base de datos, como pull requests, comentarios, etc.
#15 no han borrado repos, solo su db
#15 Lo que tenemos nuestra propia instancia de GitLab en nuestro propio servidor porque no nos fiamos de que no pasen cosas de estas... ninguna en absoluto :-D
Por suerte gracias a git, cualquiera que tenga copia del repositorio puede restaurarlo.
#16 Lo malo es que no fueron los repos lo que se perdió.
Bueno, pues seré yo el primero en preguntarlo: ¿esta mierda por qué es relevante?
#20 Porque afecta a desarrollo de software de diferente indole. Sin saber a cuantos usuarios y de que clase (si son empresas o particulares) la perdida de información, por pequeña que sea, puede causar desde retrasos a grandes extragos que solo pueden solventarse con horas y horas de analisis. A nivel comercial puede hacerte perder la carrera con otro producto por ejemplo. O que tuvises una presentación preparada y no puedas cumplir debidamente o a saber. Es un problema que puede deribar en otros muchos.
#21 Gracias
#21 Te perdono las tildes pero ese "deribar" duele.
#26 Ya no me deja editar :-(
#26 #27 Las prisas al escribir causan a veces extragos.
#61 No te creas que son las prisas, asumo mi parte de culpa. Esa se me ha escapado sin prisas.
#66 Puede que tengas algo de lisdexia.
#85 No creo, nunca he tenido problemas relacionados con eso, simplemente no presto mucha atención ni le dedico el esfuerzo que debería para corregirme como es debido (no estoy orgulloso de ello, es solo por aclararlo). No se por qué he adquirido esa forma de escribir, pero es más dejadez que un problema.
#90 Pregunta: ¿eres programador, o administrador de sistemas? Porque si lo eres, esa dejadez sería criminal, y básicamente de lo que va esta noticia: escribir db1 en vez de db2.
#61 También, también.
#61 Extragos de Whisky...

Torrente, me debes 5000 pesetas de Whisky...
#26 Yo me quedé en los "extragos" :-)
#29 Si nos vamos a poner puntillosos las oraciones terminan con un "." por norma general, no con un emoticono xD

PD: Es solo por tontear, acepto las correciones ;)
#26 Hace extragos.
#21 derivar
#39 Por que me corrijais 7 veces no lo voy a poder editar xD. Ya se pasó el tiempo.
#40 "índole" lleva tilde :troll:
#65 y análisis xD

EDIT: Y pérdida, si hay unas pocas.
#21 Tú no serás bombero, no? :troll: :troll: :troll: :troll:
#93 No tengo pulmón para eso xD
#93 Y por cierto, las interrogaciones en español se abren con el signo "¿". :-P

Ya vais dos que me corregís cometiendo faltas xD
#21 hombre... es git.... en ese sentido no es tan sumamente grave....

Pero es un marron muy gordo y es gracioso q no me pase a mi....

:-D
#20: Tu imagínate que eres arquitecto en 1960, y de repente el conserje decide "limpiar un poco" y tirar a la basura todos los papeles de la oficina, vas a por ellos al contenedor pero ya pasó el camión de la basura.

Pues esa es la que han mangado. Te recomiendo la canción "No te olvides de poner en WHERE en el DELETE FROM" para que lo entiendas mejor. :-D :-D
#53 ¿Pero solo 300 GB? ¿Quién guarda su información ahí? ¿Obama?
#63 no se han borrado los datos en si, o sea, el código. Sino la base de datos con pull requests y demás. Sino, sería mucho mas que 300Gb.
#53 No hace falta estar en 1960. Estube en una empresa de alarmas y sistemas de seguridad, que para pasar una ISO, llevó todos sus planos y carpetas de proyecto de papel a un almacén, ... Y hasta aquí puedo leer. No logramos recuperar nada, porque nadie sabe a que almacén se llevó, si se destuyó, o si se perdieron por el camino. ?(
#91 jajajajajajajajaajja
#53 pero existe un snapshot, así que en tu ejemplo es tienes los papeles en el escritorio, el conserje lo tira, pero en tu caja fuerte tienes los papeles de ayer, y sólo has perdido los de hoy.
#20 Aquí hay muchos informáticos y hacer un "rm -rf" en el sitio equivocado es nuestra segunda mayor pesadilla.
La mayor pesadilla es la que describe este vídeo:
www.youtube.com/watch?v=i_cVJgIz_Cs
#97 Ya me imaginaba. Solo pretendía meterme un poco con vosotros.
#97 o hacer drop a la base de datos erronea xD
#20 Porque abundamos los frikis de IT en meneame y estas cosas nos molan :-)
Y el "administrador cansado" ... ¿ya está más descansado?
;)
#32 Si ahora ya puede descansar en la cola del paro :troll:

Todo Ops que se precie ha dicho mas de una vez: "mierda" ejecutando un comando en producción.
No olvidéis poner el "where" en vuestros "delete from":
youtube.com/watch?v=i_cVJgIz_Cs
#34 el ser humano es extraordinario.
Demasiado poco nos pasa a los sysadmin... el día que nos organicemos, paramos el mundo de verdad, y a vivir como mad max pero matando lusers! VIVA WARDOG!
#35 Que de tiempo sin actualizar lleva el tio.
Y me quedé con las ganas de leer el final de un nuevo mundo.
#58 Pues compra el libro, que ahí viene. :-P
#92 lo sé.
#35 ahí ahí, yo podría dejar a un par de muy grandes empresas, de las del ibex, bien jodidas, pero seamos realistas, no lo haremos nunca....
¿De verdad hay gente que mete sus proyectos en la nube y no se guarda una copia?
#37 Si lees la noticia verás que el problema no es de los repositorios (código y Wiki), sino de la base de datos (incidencias y merge requests)
#37 Gitlab es un repositorio remoto, o sea que tu proyecto lo tienes en el repositorio local siempre y una copia en el remoto. Si Gitlab perdiera todo pues lo metes en otro remoto (github, bitbucket, etc...).
#37 eeeeeeeeeeeste....

Eeeeeeeee

:-(
#37 git es distribuido, tu siempre tienes el repositorio local. Pero no se han borrado los datos sino los metadatos del repositorio por así decirlo. o sea, información de commits, pull requests, cosas así.
Por favor todos los que hayais ido de vacaciones a Gitlab mandad todas las fotos que sacasteís. Necesitaremos toda la ayuda posible para recuperar los datos.
#42 Ha sido un rm -rf en un servidor, no una banda de islamistas dedicándose a arrasar las obras de arte de un museo.
Para que luego digan que los admin no tenemos responsabilidad. Te puedes cargar de una sentada millones se horas se trabajo.
#43 Pues la verdad es que nunca he oído a nadie decir que los admins no tienen responsabilidad.
Debe ser una putada nivel épico, pero me he quedado obsoleto y ya no entiendo la terminología informática, aunque me ha parecido entender, en román paladín, que ha borrado lo que no debía borrar y las copias seguridad no funcionaron.

Pero cucha, que el no comprender la terminología y no estar seguro de qué dice la noticia, no es óbice o valladar para que un digno meneante haga comentarios como si supiera de qué estoy hablando :-)
#46 Señor lanzó orden de eliminación de todos los archivos del servidor 1, cuando quería hacerlo en el 2. El 2 es el de pruebas y el 1 es el bueno, el que ve el público, el de producción. Cuando se dio cuenta pidió copia de seguridad, pero una de las mayores empresas gestoras vieron que no había (no fucionaba) . Recuperó una copia idéntica de como estaba el servidor hace un día (snapshot) pero aun faltaban datos.
Me quedo con las jetas de los inutiles de la foto del artículo.
Se les ve la gota de sudor bajando por la frente ante un despido inminente, por jaberla cagado.
#47 No jodas, no puedes echar a nadie por una mierda asi.
#47 El problema no es equivocarse, el problema es equivocarse siempre en lo mismo.

Cualquier administrador de sistemas competente ha metido la pata más de una vez. Son esas metidas de pata las que nos hacen mejorar y llegar a la expertez. Si por meter la pata se despidiese a la gente mi director de recursos humanos debería despedirse a si mismo varias veces, porque le ha declarado nulos los jueces varios despidos, dos ERE y la empresa se ha comido una multa por cesión ilegal de trabajadores.…   » ver todo el comentario
#47 Si despides a gente por cometer un error... contratarás a gente que todavía no lo ha cometido.
Eso sí que es de inútiles.
Don't drink and root.
Hombre, son un poco cutres también. En cualquier servidor guarro tienen backups, que estas cosas pasan. Que no están borrando el portátil de su casa.
Ah vale , pone que los backups no funcionaron. Pues la cagada es esa no el borrado accidental. Lo grave es que el backup no funcione, por que podría haber sido peor. Al que se le debería caer el pelo es al del backup no al que borro.
#51 de nada sirve un backup si no compruebas que esta bien hecho xD
#69 sí sí. Pero la cagada es esa.
#69 no tienes un backup hasta que intentas recuperar los datos de el
#69 según Schrödinger el Backup esta bien hecho, hasta que lo compruebas ... :troll:
Vamos, que "la ha liao parda"
Mariano rajoy habrá apuntado el código para un amigo ?
Ignatius J Reilly seal of approval.
Tomo nota de esta 'graciosa anécdota' para exponérsela al próximo amigo o conocido que me recomiende ciegamente la subida y almacenamiento de todos mis archivos en 'la nube'. ;)
#62 las veces que se pierden datos en la nube comparadas con las que se pierden en un ordenador personal deben ser 1 a mil. No pondría algo que no quiero que se borre en un pendrive o un disco duro de mi casa.
#62 El problema no es la nube, el problema es no conservar los archivos también en local, como también es un problema no tener una copia de tus archivos en local. Con lo fácil que es hacer copias.
Vamos, que mas les vale a todos los empleados de esta empresa ir actualizando su perfil de infojobs...
Tengo un repositorio en gitlab, desde las 12 de la noche intentando mandar un push, veo que esta en mantenimiento, espero media hora, sigue en mantenimiento, recargo la web en algun momento de la noche, veo la cagada, menos mal que tickets y PRs tengo pocas xD
La pesadilla de cualquier sysadmin... estar cansado y darle al enter luego de cualquier "rm ..."
#77 Y sin estar cansada, lo que os podría contar.

Un chupito por la eliminación de un fichero que no es, el reboot del servidor equivocado, destruir alguna base de datos haciendo el animal y otros actos semejantes.

El lunes detecté que unos backup de bases de datos que no funcionaban desde mayo del año pasado. Dos días corrigiendo unos scripts que no sé por qué dejaron de funcionar, ni quien fue el psicópata que los puso en producción de manera tan chapucera (daban miedo).
Y yo a punto de pagar por tener Github... y ahora investigando GitLab (que no conocía) veo que Bitbucket tiene repos privados gratis también.

¿Alguna recomendación? :-D El único problema es que necesitamos GitLFS para subir assets gráficos MUY pesados.

(Aunque ver que GitLab tiene tan poca seguridad me escama muchísimo)
#78 Si eres universitario tienes 2 años gratis de Github pro. Si no lo eres, puedes usar bitbucket para repos privados y github para los públicos.
#100 Me sobran diez años para volver a ser universitario :-D Pero gracias de todos modos.
#78 BitBucket va muy bien, personalmente lo prefiero a GitHub (el desarrollo basado en PR no me gusta, favorece a los llaneros solitarios o es la sensación que me da, cada uno trabajando en su propia copia del repo).

Tiene soporte para GitLFS, pero no sé exactamente las condiciones. En mis repos dice que tengo 110Gb disponible para GitLFS, pero no sé si es compartido entre todos los repos o cada repo. Supongo que será compartido.

confluence.atlassian.com/bitbucket/git-large-file-storage-in-bitbucket
Voy a hacer un clone de mis repositorios relevantes. Son de Github, pero estas cosas lo acojonan a uno.
Yo hice una vez "rm -rf http://". Vivía en la Atlántida en aquel momento.
#83 suerte que google tenía backup de todo, incluídas las contraseñas y las cestas de compra de toda la intelnet
No me gustaría estar ahora mismo en esa oficina.
#84 Lo cierto es que están todos desde casa:
www.youtube.com/watch?v=nc0hPGerSd4
A great power comes with a great responsibility. Think before you type.
«123
comentarios cerrados

menéame