177


現在、以下の3つのマシンを立てて使っています。

[code]

    $ find . -maxdepth 4
    .
    ./master
    ./master/.vagrant
    ./master/.vagrant/machines
    ./master/.vagrant/machines/default
    ./master/Vagrantfile
    ./slave
    ./slave/.vagrant
    ./slave/.vagrant/machines
    ./slave/.vagrant/machines/default
    ./slave/Vagrantfile
    ./staging
    ./staging/.vagrant
    ./staging/.vagrant/machines
    ./staging/.vagrant/machines/default
    ./staging/Vagrantfile
    
[/code]

これを以下のようにmulti-machine構成の単一のVagrantfileで定義するようにしたいと考えています。

[code]

    Vagrant.configure("2") do |config|
      config.vm.define "master" do |master|
      end
    
      config.vm.define "slave" do |slave|
      end
    
      config.vm.define "staging" do |staging|
      end
    end
    
[/code]

見たところ、以下の作業で何事もなかったようにvagrant upできそうですが、これで必要十分でしょうか。

  1. {machine}/.vagrant/machines/default ディレクトリを ./vagrant/machines/{machine} に移動する

[code]

        ./.vagrant/machines/master  # ./master/.vagrant/machines/default
        ./.vagrant/machines/slave   # ./slave/.vagrant/machines/default
        ./.vagrant/machines/staging # ./staging/.vagrant/machines/default
    
[/code]

  2. path/to/machine/virtualbox/synced_folders ファイルにある絶対パスを書き換える

[code]

        {"virtualbox":
          {"/vagrant":
            {"guestpath":"/vagrant",
             "hostpath":"/path/to/root",
             "disabled":false}}}
    
[/code]


CC BY-SA 3.0
2014-11-18T09:41:39.907
174
2014-11-20T15:15:13.877
30
question
vagrant
別々のVagrantfileで定義して運用していたマシンをmulti-machine構成に集約したい


結局、1.のディレクトリ移動だけで済みました。(Vagrantfileの`synced_folder`で設定しているパスの調整はしましたが。)
`virtualbox/synced_folders` ファイルは起動時にVagrantが自動生成するので、ノータッチでよいようです。

  1. `vagrant halt`
  2. ディレクトリ移動
  3. Vagrantfileをマージ
  4. `vagrant up`


CC BY-SA 3.0
2014-11-20T15:15:13.877
177
2014-11-20T15:15:13.877
30
174
answer