Como eu adiciono uma chave pública para um repositório debian privado ao usar o juju para implantar um serviço?

3

Estou tentando implantar um serviço (digamos, keystone) usando o juju-deployer e configurei o "openstack-origin" para o repositório debian privado que configuramos. Eu configurei a origem do openstack assim:

"openstack-origin": "deb http://local-mirror.company.com/ubuntu-cloud trusty-updates/juno main"

Quando eu implantar o serviço, ele adiciona o repositório debian à lista de fontes adicionando um novo arquivo /etc/apt/sources.list.d/juju_deb.list e o conteúdo é o mesmo do que eu configurei como openstack-origin para:

deb http://local-mirror.company.com/ubuntu-cloud trusty-updates/juno mainu

Até aí tudo bem. O problema é que, quando o sistema instala pacotes desse repositório, vemos o seguinte erro:

WARNING: The following packages cannot be authenticated!
  python-dogpile.core python-netaddr python-six python-stevedore
  python-oslo.config python-pbr python-keystoneclient
  python-keystonemiddleware python-ldappool python-sqlalchemy python-migrate
  python-alembic alembic python-oslo.i18n python-oslo.utils python-oslo.db
  python-oslo.serialization python-posix-ipc python-eventlet python-amqp
  python-oslo.messaging python-pycadf python-dogpile.cache
  python-sqlalchemy-ext python-keystone keystone
E: There are problems and -y was used without --force-yes

Se eu entrar manualmente nesse sistema no qual o juju está tentando instalar o serviço, poderei reproduzir o problema executando um sudo apt-get -y install keystone e também poderei ver o seguinte erro se eu tentar sudo apt-get update :

W: GPG error: http://local-mirror.company.com trusty-updates/juno Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5EDB1B62EC4926EA

Então ... minha pergunta é como faço para juju adicionar a chave pública apropriada a este sistema quando ele adiciona o repositório debian à lista de fontes para que quando ele tentar instalar o pacote nós não recebamos um erro de hook ? Para ser claro, não estou perguntando como adicionar a chave manualmente usando o apt-key - Eu preciso ser capaz de adicionar a chave do juju-deployer quando o novo serviço for implementado.

    
por Alex Iannicelli 16.09.2015 / 17:38

2 respostas

3

Para os charms do OpenStack, uma chave para uma entrada de origem deb url pode ser especificada na configuração de configuração openstack-origin, separada por um caractere de pipe. Quando a chave é incluída como parte da configuração de origem de openstack, os charms tentam importar a chave de keyserver.ubuntu.com.

por exemplo. juju set openstack-nova nova-computação openstack-origin="deb link principal vívido | FA0FD8E1"

Uma coisa a notar é que os charms do OpenStack usam as informações de origem de openstack para determinar qual release do OpenStack está sendo instalado. Como tal, é muito importante incluir o codinome da versão do OpenStack nos espelhos deb ou ppas. Não fazer isso resultará em erros ao implantar os feitiços.

    
por Billy Olsen 07.10.2015 / 01:54
2

Um novo bug foi gerado.

Para resumir:

Os charms do OpenStack fornecem uma opção de configuração para especificar um repositório apt arbitrário, mas não fornecem um mecanismo para adicionar uma chave pública correspondente para cenários em que um repositório apt personalizado é hospedado fora do Launchpad.

    
por beisner 06.10.2015 / 23:40