From 497d987fa9db614c5301d294c085470a0038e9d6 Mon Sep 17 00:00:00 2001 From: Cornelius Keller Date: Fri, 7 Nov 2014 15:32:49 +0100 Subject: [PATCH 1/3] making vagrant up work --- group_vars/all | 2 +- roles/ceph-mon/tasks/main.yml | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/group_vars/all b/group_vars/all index b5d2708bb..bac661c30 100644 --- a/group_vars/all +++ b/group_vars/all @@ -16,7 +16,7 @@ dummy: ## Monitor options # -#monitor_interface: eth1 +monitor_interface: eth1 #mon_osd_down_out_interval: 600 #mon_osd_min_down_reporters: 7 # number of OSDs per host + 1 diff --git a/roles/ceph-mon/tasks/main.yml b/roles/ceph-mon/tasks/main.yml index f64c1ef9d..12fad8a0e 100644 --- a/roles/ceph-mon/tasks/main.yml +++ b/roles/ceph-mon/tasks/main.yml @@ -3,11 +3,14 @@ # Wait for mon discovery and quorum resolution # the admin key is not instantanely created so we have to wait a bit -- name: If client.admin key exists - command: stat /etc/ceph/ceph.client.admin.keyring - register: result - until: result.rc == 0 - changed_when: False +#- name: If client.admin key exists +# command: stat /etc/ceph/ceph.client.admin.keyring +# register: result +# until: result.rc == 0 +# changed_when: False + +- name: wait for client.admin key exists + wait_for: path=/etc/ceph/ceph.client.admin.keyring - name: Create RGW keyring command: ceph auth get-or-create client.radosgw.gateway osd 'allow rwx' mon 'allow rw' -o /etc/ceph/keyring.radosgw.gateway creates=/etc/ceph/keyring.radosgw.gateway From 530314e9a90aa29f884c9fcf3b87f7b519274d45 Mon Sep 17 00:00:00 2001 From: Cornelius Keller Date: Fri, 7 Nov 2014 15:39:29 +0100 Subject: [PATCH 2/3] cleanup outcommented code --- roles/ceph-mon/tasks/main.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/roles/ceph-mon/tasks/main.yml b/roles/ceph-mon/tasks/main.yml index 12fad8a0e..00424e4ea 100644 --- a/roles/ceph-mon/tasks/main.yml +++ b/roles/ceph-mon/tasks/main.yml @@ -3,11 +3,6 @@ # Wait for mon discovery and quorum resolution # the admin key is not instantanely created so we have to wait a bit -#- name: If client.admin key exists -# command: stat /etc/ceph/ceph.client.admin.keyring -# register: result -# until: result.rc == 0 -# changed_when: False - name: wait for client.admin key exists wait_for: path=/etc/ceph/ceph.client.admin.keyring From 11f8f71aa161af5b5f9e7c58d58ba332233564d9 Mon Sep 17 00:00:00 2001 From: Matthew Rees Date: Mon, 10 Nov 2014 14:33:21 +0200 Subject: [PATCH 3/3] Further linting and deployment automation --- Vagrantfile | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 087d370a0..e4461b5c6 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -5,7 +5,9 @@ VAGRANTFILE_API_VERSION = '2' NMONS = 3 NOSDS = 3 +NMDSS = 0 NRGWS = 0 +SUBNET = '192.168.42' ansible_provision = proc do |ansible| ansible.playbook = 'site.yml' @@ -15,8 +17,8 @@ ansible_provision = proc do |ansible| ansible.groups = { 'mons' => (0..NMONS - 1).map { |j| "mon#{j}" }, 'osds' => (0..NOSDS - 1).map { |j| "osd#{j}" }, - 'mdss' => [], - 'rgws' => ['rgw'] + 'mdss' => (0..NMDSS - 1).map { |j| "mds#{j}" }, + 'rgws' => (0..NRGWS - 1).map { |j| "rgw#{j}" } } # In a production deployment, these should be secret @@ -30,16 +32,30 @@ end def create_vmdk(name, size) dir = Pathname.new(__FILE__).expand_path.dirname path = File.join(dir, '.vagrant', name + '.vmdk') - `vmware-vdiskmanager -c -s #{size} -t 0 -a scsi #{path} 2>&1 > /dev/null` unless File.exist?(path) + `vmware-vdiskmanager -c -s #{size} -t 0 -a scsi #{path} \ + 2>&1 > /dev/null` unless File.exist?(path) end Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = 'hashicorp/precise64' (0..NRGWS - 1).each do |i| - config.vm.define :rgw do |rgw| - rgw.vm.network :private_network, ip: '192.168.42.2' - rgw.vm.host_name = 'ceph-rgw' + config.vm.define "rgw#{i}" do |rgw| + rgw.vm.hostname = "ceph-rgw#{i}" + rgw.vm.network :private_network, ip: "#{SUBNET}.4#{i}" + rgw.vm.provider :virtualbox do |vb| + vb.customize ['modifyvm', :id, '--memory', '192'] + end + rgw.vm.provider :vmware_fusion do |v| + v.vmx['memsize'] = '192' + end + end + end + + (0..NMDSS - 1).each do |i| + config.vm.define "mds#{i}" do |rgw| + rgw.vm.hostname = "ceph-mds#{i}" + rgw.vm.network :private_network, ip: "#{SUBNET}.7#{i}" rgw.vm.provider :virtualbox do |vb| vb.customize ['modifyvm', :id, '--memory', '192'] end @@ -52,7 +68,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| (0..NMONS - 1).each do |i| config.vm.define "mon#{i}" do |mon| mon.vm.hostname = "ceph-mon#{i}" - mon.vm.network :private_network, ip: "192.168.42.1#{i}" + mon.vm.network :private_network, ip: "#{SUBNET}.1#{i}" mon.vm.provider :virtualbox do |vb| vb.customize ['modifyvm', :id, '--memory', '192'] end @@ -65,19 +81,27 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| (0..NOSDS - 1).each do |i| config.vm.define "osd#{i}" do |osd| osd.vm.hostname = "ceph-osd#{i}" - osd.vm.network :private_network, ip: "192.168.42.10#{i}" - osd.vm.network :private_network, ip: "192.168.42.20#{i}" + osd.vm.network :private_network, ip: "#{SUBNET}.10#{i}" + osd.vm.network :private_network, ip: "#{SUBNET}.20#{i}" osd.vm.provider :virtualbox do |vb| (0..1).each do |d| - vb.customize ['createhd', '--filename', "disk-#{i}-#{d}", '--size', '11000'] - vb.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 3 + d, '--device', 0, '--type', 'hdd', '--medium', "disk-#{i}-#{d}.vdi"] + vb.customize ['createhd', + '--filename', "disk-#{i}-#{d}", + '--size', '11000'] + vb.customize ['storageattach', :id, + '--storagectl', 'SATA Controller', + '--port', 3 + d, + '--device', 0, + '--type', 'hdd', + '--medium', "disk-#{i}-#{d}.vdi"] end vb.customize ['modifyvm', :id, '--memory', '192'] end osd.vm.provider :vmware_fusion do |v| (0..1).each do |d| v.vmx["scsi0:#{d + 1}.present"] = 'TRUE' - v.vmx["scsi0:#{d + 1}.fileName"] = create_vmdk("disk-#{i}-#{d}", '11000MB') + v.vmx["scsi0:#{d + 1}.fileName"] = + create_vmdk("disk-#{i}-#{d}", '11000MB') end v.vmx['memsize'] = '192' end