Sempre que eu configuro uma implantação devstack ou OpenStack, quero adicionar a imagem mais recente do servidor LTS Ubuntu. Tive sucesso várias vezes no passado e acredito que isso pode ser alcançado com algo como:
wget http://uec-images.ubuntu.com/releases/12.04.2/release/ubuntu-12.04.2-server-cloudimg-amd64-disk1.img
glance image-create --is-public true --disk-format qcow2 --container-format bare --name "precise" < ubuntu-12.04.2-server-cloudimg-amd64-disk1.img
Pergunto-me, porém, onde posso encontrar a documentação oficialmente suportada para fazer isso? Como posso contribuir para isso? Às vezes, tenho problemas e sem instruções oficiais, nunca tenho certeza se é o comando acima ou minha implantação. Tentei adicionar essas instruções aos documentos oficiais do OpenStack e / ou aos comentários do Disqus que o acompanhavam em duas ocasiões, mas eles seriam removidos e não consigo encontrar um manual consistente e suportado para fazer isso, eu esperaria um procedimento muito básico.
Além disso, e as opções indescritíveis de cloud init para imagens de convidados? Onde posso encontrar instruções sobre como usá-las? Do terminal e da interface da web? Uma vez eu tive que procurar essas informações no código fonte.
O que encontrei até agora é o site que lista as imagens disponíveis , mas que não indica quais são os formatos das imagens - sempre preciso pesquisar no Google para obter essas informações. Existe o wiki do UEC que lista muitas receitas sobre como criar suas próprias imagens, mas não como usar as existentes (ou as imagens pré-fabricadas da nuvem do ubuntu). Depois, há a categoria "nuvem" mais facilmente encontrada no ubuntu.com, que apenas vincula a alguns panfletos promocionais e a lista de informações não informativas da nuvem.
Eu sei que este é um relatório de semi-bug (que eu gostaria de ver corrigido ou ajudar a corrigir :)), mas também gostaria de saber as respostas para as perguntas que fiz.
fonte
Respostas:
Como estava com o mesmo problema, acabei baixando todas as imagens prefixadas "trusty-server-cloudimg-amd64". Havia um tar que, quando descompactado, continha um README.files que fornecia algumas informações:
Esse arquivo tar compactado contém arquivos relevantes para esta imagem da máquina. Cada nome de arquivo é prefixado por uma cadeia constante que indica informações de liberação e arquitetura. O prefixo, por exemplo, pode ser 'maverick-server-cloudimg-amd64'; nesse caso, os arquivos serão nomeados como maverick-server-cloudimg-amd64.img maverick-server-cloudimg-amd64-vmlinuz-virtual
Todos ou alguns dos seguintes arquivos podem estar presentes no arquivo morto:
.img Este arquivo é uma imagem de partição. Ele pode ser empacotado, carregado e registrado no EC2, Eucalyptus ou OpenStack como uma Amazon Machine Image (ami / emi).
-disk1.img Esta é uma imagem de disco compactada qcow2. Ele pode ser carregado no OpenStack ou inicializado diretamente via kvm. Você provavelmente deve descompactar a imagem (qemu-img convert) antes de usá-la em um ambiente que não seja de teste.
-uefi1.img Esta é uma imagem de disco compactada qcow2 que possui particionamento GPT e um carregador de inicialização UEFI. É inicializável via UEFI, BIOS / GPT e PVGRUB (com suporte para tabelas de partição GPT. É inicializável no OpenStack ou diretamente via kvm. Você provavelmente deve descompactar as imagens (qemu-img convert) antes de usá-las em um ambiente sem teste .
-root.tar.gz Este é um arquivo tar compactado que contém o conteúdo do sistema de arquivos raiz. Essencialmente, 'tar cpzf - /'.
-vmlinuz-virtual Este é um kernel do Linux. Pode ser empacotado, carregado e registrado o UEC como uma Imagem do Amazon Kernel (aki / eki). A string '-virtual' representa o pacote Ubuntu Linux de onde este kernel veio. Pode ser potencialmente '-server' ou outra string.
-initrd-virtual Este é um initrd do Linux. Pode ser empacotado, carregado e registrado o UEC como uma imagem do Amazon Ramdisk (ari / eri). Nem todas as imagens requerem um initrd e, portanto, esse arquivo pode não estar presente. Se não estiver presente, a imagem deve ser registrada sem um ramdisk.
-loader Este arquivo é uma imagem compatível com inicialização múltipla capaz de carregar a imagem de convidado. Nas instalações UEC em que o sistema operacional host é 10.10 ou posterior (LP: # 611144), isso pode ser registrado como um kernel (eki). Ele fornece uma função semelhante ao recurso lançado pela Amazon "Habilitando kernels fornecidos pelo usuário". Quando o carregador é usado para inicializar uma instância, uma atualização do kernel realizada dentro da instância terá efeito nas inicializações subsequentes.
-floppy Este arquivo é uma imagem de disquete. Não é útil ou relevante para executar dentro do EC2 ou UEC. O objetivo deste arquivo é permitir a inicialização do .img fora de uma nuvem. Para inicializar fora de um ambiente de nuvem (onde um serviço de metadados não está presente), a seguinte linha de comando kvm pode ser usada: kvm -boot um arquivo -fda -floppy -drive = .img, if = virtio Isso não é necessário e geralmente obsoleto, se -disk1.img estiver disponível.
fonte
você pode encontrar o formato de uma imagem usando:
# qemu-img info image_filename
.Isso informará se é bruto ou qcow2 e qual é o tamanho.
fonte