mirror of https://github.com/ceph/ceph-ansible.git
Review feedback fixes from PR #518
parent
d5f642c206
commit
dae1bb072e
|
@ -1,111 +0,0 @@
|
|||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
require 'yaml'
|
||||
require 'vagrant-openstack-provider'
|
||||
VAGRANTFILE_API_VERSION = '2'
|
||||
|
||||
config_file=File.expand_path(File.join(File.dirname(__FILE__), 'vagrant_variables.yml'))
|
||||
settings=YAML.load_file(config_file)
|
||||
|
||||
NMONS = settings['mon_vms']
|
||||
NOSDS = settings['osd_vms']
|
||||
NMDSS = settings['mds_vms']
|
||||
NRGWS = settings['rgw_vms']
|
||||
CLIENTS = settings['client_vms']
|
||||
SUBNET = settings['subnet']
|
||||
BOX = settings['vagrant_box']
|
||||
MEMORY = settings['memory']
|
||||
STORAGECTL = settings['vagrant_storagectl']
|
||||
ETH = settings['eth']
|
||||
USER = settings['os_ssh_username']
|
||||
|
||||
ansible_provision = proc do |ansible|
|
||||
ansible.playbook = 'site.yml'
|
||||
if settings['skip_tags']
|
||||
ansible.skip_tags = settings['skip_tags']
|
||||
end
|
||||
|
||||
# Note: Can't do ranges like mon[0-2] in groups because
|
||||
# these aren't supported by Vagrant, see
|
||||
# https://github.com/mitchellh/vagrant/issues/3539
|
||||
ansible.groups = {
|
||||
'mons' => (0..NMONS - 1).map { |j| "mon#{j}" },
|
||||
'restapis' => (0..NMONS - 1).map { |j| "mon#{j}" },
|
||||
'osds' => (0..NOSDS - 1).map { |j| "osd#{j}" },
|
||||
'mdss' => (0..NMDSS - 1).map { |j| "mds#{j}" },
|
||||
'rgws' => (0..NRGWS - 1).map { |j| "rgw#{j}" },
|
||||
'clients' => (0..CLIENTS - 1).map { |j| "client#{j}" }
|
||||
}
|
||||
|
||||
# In a production deployment, these should be secret
|
||||
ansible.extra_vars = {
|
||||
ceph_stable: 'true',
|
||||
journal_collocation: 'true',
|
||||
fsid: '4a158d27-f750-41d5-9e7f-26ce4c9d2d45',
|
||||
monitor_secret: 'AQAWqilTCDh7CBAAawXt6kyTgLFCxSvJhTEmuw==',
|
||||
journal_size: 100,
|
||||
monitor_interface: ETH,
|
||||
cluster_network: "#{SUBNET}.0/24",
|
||||
public_network: "#{SUBNET}.0/24",
|
||||
devices: settings['disks'],
|
||||
os_tuning_params: settings['os_tuning_params']
|
||||
}
|
||||
ansible.limit = 'all'
|
||||
end
|
||||
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
config.vm.synced_folder ".", "/home/#{USER}/vagrant", disabled: true
|
||||
config.vm.box = BOX
|
||||
config.ssh.insert_key = false # workaround for https://github.com/mitchellh/vagrant/issues/5048
|
||||
|
||||
# OpenStack VMs
|
||||
config.vm.provider :openstack do |os|
|
||||
config.ssh.username = settings['os_ssh_username']
|
||||
config.ssh.private_key_path = settings['os_ssh_private_key_path']
|
||||
config.ssh.pty = true
|
||||
os.openstack_auth_url = settings['os_openstack_auth_url']
|
||||
os.username = settings['os_username']
|
||||
os.password = settings['os_password']
|
||||
os.tenant_name = settings['os_tenant_name']
|
||||
os.region = settings['os_region']
|
||||
os.flavor = settings['os_flavor']
|
||||
os.image = settings['os_image']
|
||||
os.keypair_name = settings['os_keypair_name']
|
||||
os.security_groups = ['default']
|
||||
end
|
||||
|
||||
config.vm.provision "shell", inline: "true", upload_path: "/home/#{USER}/vagrant-shell"
|
||||
|
||||
(0..CLIENTS - 1).each do |i|
|
||||
config.vm.define "client#{i}" do |client|
|
||||
client.vm.hostname = "ceph-client#{i}"
|
||||
end
|
||||
end
|
||||
|
||||
(0..NRGWS - 1).each do |i|
|
||||
config.vm.define "rgw#{i}" do |rgw|
|
||||
rgw.vm.hostname = "ceph-rgw#{i}"
|
||||
end
|
||||
end
|
||||
|
||||
(0..NMDSS - 1).each do |i|
|
||||
config.vm.define "mds#{i}" do |mds|
|
||||
mds.vm.hostname = "ceph-mds#{i}"
|
||||
end
|
||||
end
|
||||
|
||||
(0..NMONS - 1).each do |i|
|
||||
config.vm.define "mon#{i}" do |mon|
|
||||
mon.vm.hostname = "ceph-mon#{i}"
|
||||
end
|
||||
end
|
||||
|
||||
(0..NOSDS - 1).each do |i|
|
||||
config.vm.define "osd#{i}" do |osd|
|
||||
osd.vm.hostname = "ceph-osd#{i}"
|
||||
# Run the provisioner after the last machine comes up
|
||||
osd.vm.provision 'ansible', &ansible_provision if i == (NOSDS - 1)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -16,8 +16,6 @@ ceph_osd_docker_username: hchen
|
|||
ceph_osd_docker_imagename: rhceph
|
||||
ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE" # comma separated variables
|
||||
ceph_osd_docker_prepare_env: "CEPH_DAEMON=OSD_CEPH_DISK_PREPARE,OSD_FORCE_ZAP=1" # comma separated variables
|
||||
ceph_osd_docker_devices:
|
||||
- /dev/sdb
|
||||
rgw_containerized_deployment: true
|
||||
ceph_rgw_docker_username: hchen
|
||||
ceph_rgw_docker_imagename: rhceph
|
||||
|
|
|
@ -50,6 +50,9 @@
|
|||
ansible_os_family == 'RedHat' and
|
||||
ansible_pkg_mgr == "dnf"
|
||||
|
||||
# NOTE (jimcurtis): need at least version 1.9.0 of six or we get:
|
||||
# re:NameError: global name 'DEFAULT_DOCKER_API_VERSION' is not defined
|
||||
|
||||
- name: install six
|
||||
pip:
|
||||
name: six
|
||||
|
|
|
@ -55,7 +55,6 @@
|
|||
image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}"
|
||||
name: "{{ ansible_hostname }}"
|
||||
net: "host"
|
||||
pid: "host"
|
||||
state: "running"
|
||||
privileged: "{{ mon_docker_privileged }}"
|
||||
env: "MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=MON,CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }},{{ ceph_mon_extra_envs }}"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# For openstack VMs modify the mount point below depending on if the Openstack
|
||||
# VM deploy tool defaults to mounting ephemeral disks
|
||||
- name: umount ceph disk (if on openstack)
|
||||
shell: "umount /mnt"
|
||||
mount: name=/mnt src=/dev/vdb fstype=ext3 state=unmounted
|
||||
when: ceph_docker_on_openstack
|
||||
|
||||
# (rootfs) for reasons I haven't figured out, docker pull and run will fail.
|
||||
|
|
Loading…
Reference in New Issue