Novidades nos testes do kernel Linux
Sistemas operacionaisNotícias

Novidades nos testes do kernel Linux

Em recente reunião do Linux Kernel Plumbers, que ocorreu em Lisboa, Portugal, o tópico “automação de testes para o kernel Linux” foi discutido. Os principais desenvolvedores do Linux uniram-se com o objetivo de empregar esforços em uma estrutura de testes sólidos: o KernelCI. Agora na Open Source Summit Europe, em Lyon, França, o KernelCI passa a ser um projeto da The Linux Foundation e receberá os investimentos e recursos necessários.    

Antes de tudo, você realmente sabe o que é Linux, se ele é apenas um kernel? Confira logo abaixo o vídeo do Gabriel do canal Toca do Tux, abordando o assunto.  

Aprofundando mais neste assunto, verá à definição oficial da The Linux Foundation. Aposto que muita coisa será desmistificada, vindo da própria fundação que mantém o Linux, confira o artigo clicando aqui.   

O Desenvolvimento do kernel Linux

Atualmente o kernel Linux é desenvolvido por uma gigantesca comunidade, composta por pessoas físicas, organizações sem fins lucrativos, diversas empresas e eventuais colaboradores. O método utilizado para organização do projeto, é através da LKML (Linux Kernel Mailing List). Digamos que seja uma enorme lista de e-mails, na qual os desenvolvedores interagem entre si e sugerem mudanças e implementações no código. Contudo, esta forma nem sempre é uma das melhores para as diversas tarefas, questões relacionadas aos patches são um bom exemplo dado por Russel Currey, um dos desenvolvedores do kernel Linux, explicando:  

“[Ao contrário de um projeto baseado exclusivamente no GitHub ou GitLab], em que uma solicitação ‘pull’ contém todas as informações necessárias para mesclar um grupo de alterações; um e-mail contendo, digamos, o patch 7/10, não possui esse contexto. É quase impossível saber de uma mensagem do e-mail, se uma série de patches foi mesclada, rejeitada ou substituída. Em geral, as listas de discussão simplesmente não possuem o mesmo nível de metadados que os sites de hospedagem de projetos contemporâneos e isso dificulta ainda mais o problema de CI [Integração Contínua]”.  

Nesse contexto surge o KernelCI, projetado inicialmente para auxiliar o teste do Linux em uma gama de hardwares muito ampla. Pois, os testes eram realizados em um número bem limitado e específico de hardwares. Basicamente os desenvolvedores efetuavam testes em seus próprios equipamentos. Assim a certeza de um bom funcionamento era garantida para os hardwares mais comuns e populares no mercado, caso contrário, era bem provável que teste algum tenha sido realizado em equipamentos “específicos”.  

Greg Kroah-Hartman, mantenedor da versão estável do Linux, explica:  

“O Linux roda em todos os lugares e em tantos hardwares diferentes, mas os testes neles foram mínimos. A maioria das pessoas, estavam apenas testando as poucas coisas com as quais se importava. Então, queremos testá-lo com o mesmo hardware que nós. Poderia garantir que realmente oferecemos suporte a todo o hardware que afirmamos oferecer suporte “.  

Os planos para utilização do KernelCI vão mais além do que implementar testes automáticos em hardwares. Como bem explicou, Kevin Hilman, seu co-fundador e engenheiro sênior da BayLibre em uma palestra na Open Source Summit Europe:  

“Nós nos reunimos no Linux Plumbers. Um dos grandes problemas que temos agora é que temos seis ou sete projetos diferentes para teste de código que enviavam relatórios aos desenvolvedores e mantenedores do kernel. Isso estava ficando realmente irritante, então nos reunimos e dissemos: ‘escolha um para usarmos como uma estrutura ‘, portanto, concordamos com o KernelCI, então todos trabalharemos juntos, para não duplicar nossos esforços e resultados”.   

Após consolidar efetivamente o novo KernelCI, não somente os testes em diferentes hardwares serão realizados. Como, seu objetivo passa a unificar os diferentes tipos de testes no kernel Linux. A atual deficiência do modelo de discussão através dos e-mails, para lidar com patches, será solucionada com um único local para armazenar, visualizar, comparar e acompanhar os resultados do inúmeros testes.  

kernel-linux-testes-automatização-kernelci-hardware-open-source
Imagem – Davide Boscolo

Segundo o vice-presidente para desenvolvimento de negócios e consultoria open source e colaborador do KernelCI Collabora, Guy Lunardi,

“Desde que o Linux tenha se tornado crucial para a sociedade, é essencial obter uma cobertura abrangente de testes do Kernel Linux. Ao aplicar a filosofia de código aberto ao teste, a arquitetura distribuída pelo KernelCI, permite que toda a comunidade do kernel colabore em torno de um único sistema de IC [Integração Contínua] upstream”.  

O Linux tornou-se tão relevante e essencial para o cenário atual da tecnologia, que esforços para potencializar suas qualidades e sanar seus defeitos são desenvolvidos e implementados corriqueiramente. Não obstante, sua utilização transcende barreiras e sua atuação engloba uma infinidade de soluções no mercado. Agora com esse sistema de automatização, o KernelCI, versões de longo tempo de suporte (LTS) passarão a englobar um maior número de equipamentos e problemas já conhecidos. Problemas de mal funcionamento de hardware deixarão de existir, ou diminuirão drasticamente. Isso irá melhorar a qualidade, estabilidade e manutenção do kernel Linux. No final, toda uma comunidade será beneficiada.  

O que você espera com tais mudanças? Você têm algum hardware que não funciona plenamente no Linux?  

Participe de nossa comunidade Diolinux Plus, fique por dentro das novidades e compartilhe suas opiniões.  

Até o próximo post, te espero aqui no blog Diolinux, SISTEMATICAMENTE! 😎  

Fonte: KernelCI, ZDnet.


Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!