O que é uma boa lista de itens a serem executados para limpar e executar o openstack 40 bundle - ppc64le

3

Para o teste de prova de conceito (POC) do pacote Openstack 40, precisamos reconstruir o ambiente várias vezes devido a problemas encontrados. O que é lista de itens a serem considerados ao ter que reconstruir. Observe que esta lista de verificação NÃO é somente do pacote do Openstack 40. Muitas dessas informações de lista de verificação são relevantes para limpar o juju e os endpoints para redirecionar uma implantação desfeita.

O IBM POC encontrou uma série de problemas, conforme listado abaixo. O processo de lista de verificação adicionado a essa pergunta lista o que pode ser feito para reorientar o processo e corrigir os problemas abaixo.

Quando o nêutron foi instalado, perdemos a conectividade de rede no nó de inicialização. Isso foi devido a não ter a ponte configurada corretamente nesse nó. Houve um problema com o seccomp fazendo com que as coisas não se comunicassem. Nós passamos por isso ignorando seccomp por enquanto.

Quando o encanto do juju tentou mudar a senha no banco de dados do mysql que falhou. Houve algumas ocorrências que as pessoas tinham atingido esse problema, mas nunca conseguimos fazer nada com scripts. Para contornar isso, estamos redefinindo manualmente a senha e reiniciando a implementação.

    
por David Bostjancic 21.10.2015 / 22:39

1 resposta

3

Usando o ambiente manual para a sequência abaixo. Observe que a seqüência abaixo pressupõe que você utilize instantâneos virsh. É altamente recomendável configurar os nós e, em seguida, tirar um instantâneo de cada um deles para que você possa voltar facilmente para o ponto limpo. Para a IBM POC que tivemos (usando o pacote openstack 40)

  1. VM1 que executou o MAAS / juju. Isso foi em um nó de computação separado.
     Essa VM consideramos o implementador do MAAS ou o servidor do implementador do jujum.  Um instantâneo disso foi feito onde o MAAS / juju foi instalado onde nenhum ambiente foi construído.
  2. VM2, VM2, VM3 e VM4 executando o ubuntu 14.04 em um nó   Instantâneo de todas essas VMs criadas com a configuração de rede para conversar entre si e NÃO ter cliente jujud nos terminais.

Esta lista de verificação indica como reconstruir rapidamente se as VMs foram provisionadas pelo MAAS e, em seguida, precisa apenas reconstruir via juju. O MAAS é usado para provisionar. O juju é usado através do envionamento manual para provisionar todo o software. Se falhar ou algo ficar confuso, você poderá limpar as VMs e então reconstrua usando o ambiente manual do juju. Isso é muito fácil.

1 Limpar os endpoints

Como limpar o ponto final quebrado?

Como resolver "A máquina ERROR já está provisionada" na configuração manual?

rm -rf /var/lib/juju
rm -rf /etc/init/juju*
ps -ef | grep juju

mate a máquina de processamento usando juju

Como posso reverter para um instantâneo de uma VM perdida? se o ambiente estourar

link ver parte inferior da página

Exemplo de comando

:

fora do virsh

virsh snapshot-revert --domain ubuntovm --snapshotname 1441158838

no virsh

snapshot-revert --domain vm3  --snapshotname 1444163918

2. Verifique se todas as VMs de terminal têm acesso à internet

Isso pode ser feito de várias maneiras. Usamos abaixo para que pudéssemos ter a interface do Firefox disponível, se necessário, para os endpoints.

Comece a seguir em cada VM:

x11vnc -create -forever -bg -env FD_TAG=my_xfce_1 -env FD_SESS=xfce -rfbport 5901

Observe que, no momento deste documento, você não pode usar o vnc para o ppc64le. Usar  x11vnc. Você precisa instalar o x11vnc antes deste comando, não discutido aqui.

BSO (IBM) e acesso ao firefox: Certifique-se de que você pode acessar:    link

3. Limpe o servidor juju

Como faço para desinstalar e reinstalar o juju no servidor de implantação devido a problemas?

Você pode limpar completamente o servidor de implantação juju, conforme listado abaixo, ou você pode   atalho e remova os arquivos /root/.juju/ e comece tudo de novo. Depende   como você quer começar limpo. Limpar jup /root/.juju/ e começar de novo   geralmente é bom o suficiente. Observe que, se você criar um instantâneo adequado da VM, não precisará fazer isso.

Para remover completamente:

sudo apt-get remove juju-core   
sudo apt-get remove --auto-remove juju  
sudo apt-get remove juju-quickstart
sudo apt-get remove juju-deployer

/root/.juju/ remove o diretório e todos os diretórios de arquivos sob ele

Exemplo:

rm -rf /root/.juju/jclient
rm -rf /root/.juju/environments
rm -rf /root/.juju/ssh
rm -rf /root/.juju/.deployer-store-cache

Em seguida, reinstale os pacotes:

sudo add-apt-repository ppa:juju/stable
sudo apt-get update 
sudo apt-get install juju-core
sudo apt-get install juju-quickstart
sudo apt-get install juju-deployer
juju-quickstart -i

Observe que, se você está testando, provavelmente quer colocar o bundle instalável em outro diretório para não perdê-lo. Sugestão é algo assim:

/root/.juju2/bundles

4. Reconstruir o ambiente (ambiente do servidor de implementação juju)

Basta criar o ambiente, marcá-lo como padrão e salvá-lo. Não execute de juju-quickstart -i.

Para o IBM POC, usamos o MAAS como fornecimento inicial de VM. Uma vez feito isso, você pode criar snapshots e depois disso, só tem que reconstruir as VMs dos snapshots. Se você fizer dessa maneira, o ambiente juju que você usa é a definição manual, já que os endpoints de destino já foram provisionados.

5. Ambiente de bootstrap

  juju bootstrap --show-log --debug -e manual

Se você estiver usando o juju pela primeira vez ou durante o teste, adicione --debug e --show-log porque     dá-lhe uma boa sensação de progressão.

6. Adicione todos os outros servidores

O ambiente manual coloca a primeira VM no ambiente. Você então usa o comando juju add-machine para adicionar todas as outras VMs. Para openstack 40 bundle you precisa de um total de 4 máquinas, então faça o seguinte (defina com seus ipaddresses obviamente)

juju add-machine ssh:[email protected] -show-log --debug
juju add-machine ssh:[email protected] -show-log --debug
juju add-machine ssh:[email protected] --show-log --debug

7. Implantar ambiente

Para o IBM POC, tivemos que copiar o openstack40.yaml da loja de charme porque    tinha que ser corrigido para a arquitetura ppc64el. Nós também fizemos alguns outros    muda para o yaml para fazê-lo funcionar.

   juju-deployer -c /root/.juju/bundles/openstack40.yaml -s 90 -d -v openstack40.yaml

O openstack40.yaml acima tem 3 alterações:    1. Uso de ppc64el    2. para opção de adicionar painel openstack       depurar: 'sim'    3. Senhas para o mysql        senha de root: PASSW0RD        sst-password: PASSW0RD

NOTA: O passo 8 tem partes que se sobrepõem a este passo, leia o passo 7/8 em conjunto.

8. Durante a implantação do processo, corrija os arquivos de configuração do contêiner lxc

Para este POC, o lxc não iniciou na primeira duas VMs. Nós não depuramos  longe o suficiente.Não sei se todo mundo vai acertar isso, mas estamos listando  aqui apenas no caso de outros acertarem.

Pacote de juju implantado O OpenStack 40 tem contêineres linux não iniciados?

Ao implantar o pacote do OpenStack 40, o ambiente não tem juju-trusty-lxc-template instalado na construção do ambiente. Quando você inicia a implantação O juju-trusty-lxc-template é eventualmente instalado. Então, isso é sugerido para o primeiras duas máquinas na lista de status juju. Tem que consertá-los.

  1. Edite /etc/lxc/default.conf e adicione

     lxc.seccomp =
     lxc.arch = ppc64le
    
  2. Durante o processo de implantação, assista ao diretório /var/lib/lxc/

    para criação de juju-trusty-lxc-template / directory.
    Eu usei o winscp para assistir a criação do arquivo durante a implantação. Não é um bom caminho para fazer isso, você tem que observar o processo de implantação e verificar para arquivo de vez em quando. Quando lá o lxc existe, está pendente e não Não comece até tarde no processo. Então você tem tempo para consertar o arquivo.

    Uma vez existe o diretório, então

    vi /var/lib/lxc/juju-trusty-lxc-template/config  and add:
    
    lxc.seccomp =
    lxc.arch = ppc64le
    

    Certifique-se de linha em branco no final. Se não, então parâmetros adicionais  são adicionados e podem ser acrescentados à última linha que você adicionou  incorretamente.

    Não encontramos uma boa maneira de fazer isso, portanto, acima da pergunta de solução de problemas explica o que fazer enquanto a implantação está em execução.

9. O encanto do mysql falha e requer que as senhas sejam configuradas

Veja outro askubunto para este problema o mysql falha devido a  "Não foi possível definir a senha para Percona". Vejo: mysql / percona: Não é possível definir a senha para o usuário "root" do Percona Server - ppc64el

Dicas para depurar e assistir à implantação:

a) na máquina deployer juju

Verifique se você tem isso para poder verificar o processo.   Ao reconstruir o ambiente em uma janela separada, em /root/.juju/ issue

 juju status > jujudeploylog10132015.txt  

periodicamente para salvar registros, alterar a data no arquivo

b) Sugestão é ter duas janelas abertas no SSH, uma para a visão do      Comando juju-deployer e outro na 1ª VM no ambiente manual      fazendo cauda em / var / log / juju / tail -f ./all-machines.log      Isso permite observar a construção do ambiente de openstack.

c) Se estiver usando o pacote openstack 40, a UI do OpenStack horizon estará no      última VM. Verificando as informações de status do juju informa o lxc em que o horizonte está ativado.      Use isto: http: /// horizon

    
por David Bostjancic 21.10.2015 / 22:40