acessa um guest os de outro guest os no virtualbox através do Python

0

Alguns antecedentes
Então, estou tentando trabalhar em um determinado projeto de código aberto. O software de código aberto em questão é projetado para trabalhar em uma estação de trabalho VMWare e eu estou tentando contribuir para o projeto para tentar fazê-lo funcionar no VirtualBox também.

O projeto em questão é um projeto Python. A arquitetura, como discutido na documentação do projeto, é tal:

O sistema operacional básico é o Ubuntu de 64 bits (vamos chamá-lo de UBUNTU1) O software de virtualização é o VMware Workstation em execução no host. O sistema operacional convidado é outro Ubuntu de 64 bits. (vamos chamá-lo de UBUNTU2)

Agora, em um determinado local no projeto, o projeto inicia o sistema operacional convidado por meio de uma chamada de subprocesso () do Python. Portanto, ele simplesmente passa o caminho para o utilitário vmrun, o caminho para o arquivo .vmx (do sistema operacional guest) e alguns argumentos de controle adicionais para a chamada de subprocesso e inicializa o sistema operacional convidado.

A ferramenta tem muitas outras dependências também, que estão disponíveis apenas para o Ubuntu e não para o Mac, ou pelo menos são realmente difíceis de configurar no Mac OSX El capitan (não falando do Windows por enquanto)

Então, agora, meu processo de pensamento é que eu preciso fazer isso funcionar no próprio Ubuntu de alguma forma. Então, abaixo está o que eu tenho tentado fazer:

1ª abordagem:
Arquitetura é tal: SO base - Mac OSX 64 bit Software de virtualização - VirtualBox Guest OS - Ubuntu 64 bit (UBUNTU1 da referência acima). Dentro deste sistema operacional convidado, instale novamente a caixa virtual e instale o guest Ubuntu de 64 bits (UBUNTU2)

Mas algumas pesquisas mostraram que, embora possa funcionar, o VirtualBox não suporta VMs aninhadas.

Agora, a próxima abordagem:
Arquitetura é tal: SO base - Mac OSX 64 bit Software de virtualização - VirtualBox Guest OS - Ubuntu 64 bit (UBUNTU1 da referência acima) Um segundo sistema operacional convidado - também Ubuntu 64 bits (UBUNTU2 da referência acima)

Agora, quando o projeto python é executado em UBUNTU1 e no ponto em que deve iniciar UBUNTU2 programaticamente,

  1. pode ser feito, iniciando um sistema operacional convidado a partir de outro sistema operacional convidado? vboxmanage start pode ser usado, mas é uma ferramenta disponível para o host máquina (Mac) e não para UBUNTU1. Mesmo se eu instalar o vboxmanage em UBUNTU1 e compartilhe a imagem .vbox de UBUNTU2 por meio da pasta compartilhada de Mac para UBUNTU1, e também registrá-lo, não consigo iniciar UBUNTU2 de dentro de UBUNTU1.
  2. Mergulhando um pouco nos internos para um melhor entendimento, não é que UBUNTU1 e UBUNTU2 (o sistema operacional convidado de 2 no Mac) durante a execução são apenas dois processos como qualquer outro? E se sim, então não posso simplesmente tentar fazer alguma comunicação entre processos entre os 2 convidados e fornecer o contexto de processo necessário de UBUNTU2 para UBUNTU1?

Por favor, descubra minhas dúvidas sobre os processos. Eu estou tentando envolver minha cabeça em torno disso.

    
por qre0ct 11.08.2016 / 19:43

0 respostas