Notas de Versão da Série Folson

Visão Geral da Versão

O ciclo de lançamento da versão Folsom trouxe diversos grandes avanços para a experiência do usuário do Horizon enquanto também reintroduz a rede Quantum como peça central do Dashboard do OpenStack.

Destaques

Rede (Quantum)

Com o Quantum sendo um projeto central para a versão Folsom, trabalhamos bem próximos com o time Quantum para trazer suporte de rede de volta ao Horizon. Isso aparece em dois lugares principais: O painel Redes nos dashboards Projeto e Administração, e a aba rede no fluxo de trabalho Lançar Instância. Espera-se melhorias adicionais nessas áreas na medida que o Qauntum continua a amadurecer e mais usuários adotam esse modelo de gerenciamento virtual de rede.

Experiência do Usuário

Fluxos de Trabalho

De longe, a maior alteração de UI/UX na versão Folsom é a introdução de fluxos de trabalho programáticos. Esses componentes permitem aos desenvolvedores criar interações concisas que combinam tarefas discretas, abrangendo diversos serviços e recursos de forma fácil de usar e com um mínimo de código de referência. Dentro de um fluxo de trabalho, objetos relacionados podem também ser dinamicamente criados de modo que os os usuários não percam seu lugar quando percebem que o item que eles queriam não está atualmente disponível. Veja exemplos desses fluxos de trabalho em Lançar Instância, Associar IP Flutuante, e Criar/Editar Projeto.

Navegador de Recursos

Outro componente novo legal é uma interface projetada para recursos de “navegação” que está aninhada sob um recurso pai. O object store (Swift) é um excelente exemplo disso. Agora, há uma navegação consistente de alto nível para contêineres no painel esquerdo do “navegador” enquanto o painel direito lhe permite explorar dentro desses contêineres e sub-pastas.

Melhorias na Experiência do Usuário

  • O suporte a Timezone está agora habilitado. Você pode selecionar sua timezone preferida no painel de Configurações do Usuário.

Comunidade

  • Desenvolvedores de terceiros que desejem construir no Horizon podem começar muito mais rápido utilizando os novos modelos de dashboard e painel. Veja os documentos sobre criação de um dashboard e criação de um painel para mais informações.

  • Um conjunto completo de documentações para desenvolvedores sobre como fazer a internacionalização, localização e tradução do projeto OpenStack está agora disponível.

Nos bastidores

  • A biblioteca python-swiftclient e as bibliotecas python-cinderclient são agora utilizadas de modo subjacente em vez de usar cloudfiles e python-novaclient respectivamente.

  • A internacionalização do JavaScript do lado cliente agora é possível, adicionalmente ao código Python do lado servidor.

  • A autenticação Keystone agora é tratada por um backend adequado de autenticação Django, oferecendo uma segurança significativamente melhor e mais confiável ao Horizon.

Outras melhorias e correções

Algumas das áreas gerais de melhorias incluem:

  • Imagens agora podem ser adicionadas ao Glance através do fornecimento de uma URL de onde o Glance possa obter a mesma.

  • Quotas agora são mostradas dinamicamente através do dashboard Projeto.

  • Endpoints de API são agora mostrados no painel Arquivo RC do OpenStack de modo que eles possam ser organicamente descobertos pelo usuário final.

  • DataTables agora suporta uma linha de somatório no final da tabela.

  • Melhor suporte para navegadores (Safari e IE particularmente).

  • Menos chamadas de API aos endpoints OpenStack (melhora o desempenho).

  • Melhor validação de quais ações são permitidas e quando.

  • Tratamento de erros e mensagens de erro melhorados.

Problemas Conhecidos e Limitações

IPs Flutuantes e Quantum

Devido à adição muito tardia do suporte ao IP flutuante no Quantum, a integração do Nova é inexistente, assim, chamadas de API relacionadas a IP Flutuante para o Nova irão falhar quando sua implantação de OpenStack utilizar Quantum para Rede. Isso significa que ações do Horizon tais como “alocar” e “associar” IPs flutuantes não funcionarão também, uma vez que elas confiam nas APIs subjacentes.

Paginação

Algumas páginas do “index” não funcionam completamente com a paginação da API ainda, fazendo com que elas exibam apenas o primeiro pedaço de resultados retornados pela API. Esse número geralmente é 1000 (como no caso dos resultados do novaclient), mas varia um pouco.

Exclusão de um grande número de recursos simultaneamente

O uso da caixa de seleção “selecionar todos” para excluir um grande número de recursos via API pode causar atrasos de rede (dependendo da configuração). Isso é devido às APIs que não suportam a exclusão em massa nativamente, e consequentemente o Horizon tem que enviar requisições para excluir cada recurso individualmente nos bastidores.

Compatibilidade Retroativa

A versão Folsom do Horizon deve ser totalmente compatível com as versões Folsom e Essex do restante dos projetos centrais do OpenStack (Nova, Swift, etc.). Enquanto alguns recursos funcionam significativamente melhor com uma pilha Folsom devido às correções de erros no serviços subjacentes, não deve haver nenhuma limitação sobre o que irá ou não funcionar. (Observação: O Quantum não era um projeto central do OpenStack no Essex, e portanto, esta declaração não se aplica ao gerenciamento de rede.)

Em termos de APIs fornecidas para extender o Horizon, há um punhado de mudanças retroativamente incompatíveis que foram feitas:

  • Os modelos de filtros can_haz e can_haz_list foram renomeados para has_permissions e has_permissions_on_list respectivamente.

  • Os modelos específicos de dashboard base.html (ex: nova/base.html, syspanel/base.html, etc.) foram removidos em favor de um modelo simples base.html.

  • Em conjunção com o item anterior, os blocos de modelo específico de dashboard (ex: nova_main, syspanel_main, etc.) foram removidos em favor de um único bloco de modelo main.

No geral, porém, grande esforço foi feito para manter compatibilidade para desenvolvedores de terceiros, os quais podem ter construído em cima do Horizon até agora.