Notas de Versão da Série Grizzly

Visão Geral da Versão

O ciclo de liberação Grizzly viu melhorias abrangentes para a experiência geral do usuário, grandes melhorias de estabilidade, muita coisa nova em rede, gerenciamento de instância e gerenciamento de recursos de imagem, um esclarecimento arquitetural necessário de longa data, e grandes aumentos em engajamento da comunidade! Leia mais para obter os detalhes.

Destaques

Novos Recursos

Rede

O Quantum adicionou um grande número de novos recursos no Grizzly, incluindo suporte L3 (roteadores), balanceadores de carga, infográfico da topologia de rede, melhor compatibilidade com as APIs de rede do Nova (requisição de VNIC ao lançar uma instância; grupos de segurança e integração de IP flutuante) e displays informativos amplamente melhorados.

Upload Direto de Imagem para o Glance

Agora é possível (embora haja inúmeras implicações de implantação/segurança) fazer upload de arquivo de imagem diretamente de um disco rígido de usuário para o Glance através do Horizon. Para imagens de vários GB ainda é fortemente recomendado que o upload seja feito utilizando o CLI do Glance. Outras melhorias neste recurso virão em lançamentos futuros.

Suporte a Especificações Extras de Flavor

No Folsom, o Nova adicionou suporte para “especificações extras” em flavors–metadados adicionais que os agendadores personalizados poderiam usar para o agendamento apropriado de instâncias.

Migrar Instância

Administradores agora tem a capacidade de migrar uma instância de seu host atual via painel de Instâncias do dashboard do administrador.

Melhorias na Experiência do Usuário

“Não Autorizado” & “Sendo desconectado”

A shocking number of the problems first-time deployers of OpenStack have can be summarized as “I thought I set everything up, then I tried to log into the dashboard and I was immediately logged back out.” The root cause of this was that in an effort to be as secure as possible any 401 or 403 response from any service API was being treated the same as if it was an attempt to access an unauthorized portion of Horizon, and the user was summarily logged out with little to no information as to why.

In Grizzly we have instead chosen to improve this by treating service API 401 and 403 errors as slightly less severe than unauthorized access attempts to restricted areas of Horizon. The reason for this is threefold:

  1. Para um usuário não mal-intencionado, esses erros são quase 100% o resultado de uma configuração incorreta e isso possibilita a depuração.

  2. Um usuário mal-intencionado pode fazer exatamente as mesmas solicitações “não autorizadas” através da CLI como fazem através do dashboard; não são concedidos privilégios especiais.

  3. Os erros da API são gerados por sistemas externos que não estão sob o alcance de nosso projeto e, enquanto devemos tentar respeitar e tomar as medidas adequadas sobre esses erros, não devemos fazer nada drástico ou mesmo potencialmente destrutivo por causa deles.

Seguindo em frente o usuário não será desconectado, mas nenhuma informação será preenchida na página e serão apresentadas mensagens de erro informando que elas não são autorizadas para os dados que tentaram acessar.

Reorganizações

Algumas confusões de usuários de longa data foram corrigidas em Grizzly.

Primeiramente, o painel de Acesso à API (contendo endpoints da API do usuário, arquivos rc, e credenciais EC2) foi movido de Configurações para a seção Acesso & Segurança do Projeto dashboard.

Segundo, os painéis Quotas Padrão e Serviços (que eram ambos estritamente informativos) foram combinados dentro de abas em um único painel Informações de Sistema para deixar claro que esses painéis são relacionados pelo tema, e para criar um local para exibição de telas informativas como essas.

Gerenciamento de IP Flutuante em Um Click

A common complaint from users was that associating a floating IP to an instance involved numerous clicks and form selections for something that the majority of users had no knowledge of and didn’t care about. As such, a one-click “simple” floating IP association option has been created. For deployments which only have a single floating IP pool, this allows users to ignore explicit floating IP management and just click a button to associate or disassociate a floating IP with an instance.

Imagens Organizadas

A tabela Imagens tem agora um novo recurso: filtros pre-definidos para ver suas próprias imagens, imagens que foram compartilhadas com você, ou imagens públicas. Isso torna mais fácil e mais agradável encontrar as imagens que você procura.

Melhorias na Edição de Regras do Grupo de Segurança

Se um grupo de segurança não está associado a uma instância antes de ser iniciado, então você terá um acesso muito limitado à instância após a implantação. Você só será capaz de acessar a instância a partir de um console de VNC.

No Grizzly isso tudo foi reformulado para ser significativamente mais simples, e para que forneça tanta ajuda contextual e racionalização quanto possível.

Ícones!

Em um esforço para tornar o dashboard mais fácil de usar, adicionamos ícones aos botões de ação mais comuns em todo o dashboard.

“Mais Ações”, Melhor

A instância está bloqueada no momento. Para habilitar novas ações nela, por favor, desbloqueie-a selecionando Desbloquear Instância no menu de ações.

We’ve now improved it so that the button to open the menu is clearly labeled and the hitbox for clicking it is significantly larger.

Comunidade

Docs, docs e mais docs!

Grandes quantidades de nova documentação foram adicionadas durante o ciclo Grizzly, principalmente as seções que documentam: todas as configurações disponíveis para Horizon e OpenStack Dashboard; considerações de segurança e implantação; e guias mais profundos sobre como personalizar o painel de controle do OpenStack.

Reunião IRC

Durante o ciclo Grizzly, começamos a realizar uma reunião de projeto semanal no IRC. Isso tem sido extremamente benéfico para o crescimento e progresso do projeto. Confira a página wiki do “OpenStack Meetings” para detalhes específicos.

Nos bastidores

Nomes do Painel de Legado & Separação de Código

Muito cedo no ciclo Grizzly aproveitamos a oportunidade para fazer um trabalho de limpeza e refatoração de longa data. O painel de controle “nova” foi renomeado para “projetar” e o painel de controle “syspanel” foi renomeado para “admin” para refletir melhor seus respectivos propósitos.

Além disso, foi criada uma separação melhor entre o código relacionado ao código-quadro principal do Horizon (que não está relacionado especificamente com o OpenStack) e o código OpenStack Dashboard. Neste ponto, o código * all * relacionado ao OpenStack vive no diretório OpenStack Dashboard, enquanto o framework Horizon é completamente agnóstico e é um aplicativo Django reutilizável.

Delimitadores de Object Storage e Objetos Pseudo-pasta

Quando a interface de armazenamento de objetos da Horizon foi adicionada pela primeira vez, a documentação da Swift recomendou a adição de objetos de 0 bytes com um tipo de conteúdo especial para denotar pseudo-pastas dentro de um contêiner. Desde então, eles decidiram que esta não é a prática recomendada e que as pseudo-pastas só devem ser demarcadas por um caractere delimitando (geralmente “/”) no nome do objeto.

O Horizon foi atualizado para usar esse método, o que deve melhorá-lo de acordo com a forma como a maioria das implantações está usando o armazenamento de objetos.

Outras melhorias e correções

  • Suporte à tokens PKI do Keystone.

  • Edição de flavor ficou significativamente mais estável.

  • Grupos de segurança podem ser adicionados a uma instância em execução.

  • As cotas de volume são manipuladas pelo serviço apropriado, dependendo se o Cinder está ou não habilitado.

  • As caixas de confirmação de senha estão agora validadas para coincidir as senhas com o lado do cliente para um retorno mais imediato.

  • Vários ajustes para mostrar mais e melhor informação sobre instâncias e volumes nas suas páginas de visualização.

  • Suporte unicode melhorado para os painéis do Object Storage.

  • Logout agora tenta excluir o(s) token(s) associados com a sessão corrente para evitar ataques de repetição, etc.

  • Várias correções para compatibilidade e renderização do browser.

  • Muitos, muitos outros ajustes de erros e melhorias. Verifique o Launchpad para obter a lista completa do que aconteceu com o Grizzly.

Problemas Conhecidos e Limitações

Editando um sabor que resulta em um erro de API excluirá o sabor.

Due to the way that Nova handles flavor editing/replacement it is necessary to delete the old flavor before creating the replacement flavor. As such, if an API error occurs while creating the replacement it is possible to lose the old flavor without the new one being created.

Criação de Topologias de Rede Complexas

Due to several Quantum features landing very late in the Grizzly cycle, it is not possible to create particularly complex networking configurations through the OpenStack Dashboard. These features will continue to grow throughout future releases.

Recurso Balanceador de Carga

The Loadbalancer feature landed in the 11th hour for both Quantum and Horizon and, though we did our best to test it, may still contain undiscovered bugs. It is best considered a “beta” or “experimental” feature for the Grizzly release.

Plugin Quantum Brocade Não Compatível

The Brocade plugin for Quantum does not support key features of the floating IP addresses API which are considered central to Horizon’s functionality. As such, it is not compatible with the Grizzly release’s Quantum integration.

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

The Grizzly Horizon release should be fully compatible with both Grizzly and Folsom versions of the rest of the OpenStack core projects (Nova, Swift, etc.). While some features work significantly better with an all-Grizzly stack due to bugfixes, etc. in underlying services, there should not be limitations on what will or will not function.

Overall, great effort has been made to maintain compatibility for third-party developers who may have built on Horizon so far.