mirror of https://github.com/ceph/ceph-ansible.git
Create separate subnet for public/cluster networks
- All Ceph instances now communicate using public subnet and additionally OSDs communicate with each other using private cluster subnet - Workaround for https://github.com/vagrant-libvirt/vagrant-libvirt/issues/645 - Fix for #952 to avoid concatenated MAC addresses caused by vagrant-libvirt bug.pull/1015/head
parent
bd50e64665
commit
ec89643810
|
@ -19,7 +19,8 @@ RESTAPI = settings['restapi']
|
||||||
NRBD_MIRRORS = settings['rbd_mirror_vms']
|
NRBD_MIRRORS = settings['rbd_mirror_vms']
|
||||||
CLIENTS = settings['client_vms']
|
CLIENTS = settings['client_vms']
|
||||||
NISCSI_GWS = settings['iscsi_gw_vms']
|
NISCSI_GWS = settings['iscsi_gw_vms']
|
||||||
SUBNET = settings['subnet']
|
PUBLIC_SUBNET = settings['public_subnet']
|
||||||
|
CLUSTER_SUBNET = settings['cluster_subnet']
|
||||||
BOX = settings['vagrant_box']
|
BOX = settings['vagrant_box']
|
||||||
BOX_URL = settings['vagrant_box_url']
|
BOX_URL = settings['vagrant_box_url']
|
||||||
SYNC_DIR = settings['vagrant_sync_dir']
|
SYNC_DIR = settings['vagrant_sync_dir']
|
||||||
|
@ -68,9 +69,9 @@ ansible_provision = proc do |ansible|
|
||||||
end
|
end
|
||||||
|
|
||||||
ansible.extra_vars = {
|
ansible.extra_vars = {
|
||||||
cluster_network: "#{SUBNET}.0/24",
|
cluster_network: "#{CLUSTER_SUBNET}.0/24",
|
||||||
journal_size: 100,
|
journal_size: 100,
|
||||||
public_network: "#{SUBNET}.0/24",
|
public_network: "#{PUBLIC_SUBNET}.0/24",
|
||||||
}
|
}
|
||||||
if settings['ceph_install_source'] == 'dev' then
|
if settings['ceph_install_source'] == 'dev' then
|
||||||
ansible.extra_vars['ceph_dev'] = true
|
ansible.extra_vars['ceph_dev'] = true
|
||||||
|
@ -92,7 +93,7 @@ ansible_provision = proc do |ansible|
|
||||||
restapi_containerized_deployment: 'true',
|
restapi_containerized_deployment: 'true',
|
||||||
rbd_mirror_containerized_deployment: 'true',
|
rbd_mirror_containerized_deployment: 'true',
|
||||||
ceph_mon_docker_interface: ETH,
|
ceph_mon_docker_interface: ETH,
|
||||||
ceph_mon_docker_subnet: "#{SUBNET}.0/24",
|
ceph_mon_docker_subnet: "#{PUBLIC_SUBNET}.0/24",
|
||||||
ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE,OSD_JOURNAL_SIZE=100",
|
ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE,OSD_JOURNAL_SIZE=100",
|
||||||
ceph_osd_docker_devices: settings['disks'],
|
ceph_osd_docker_devices: settings['disks'],
|
||||||
ceph_docker_on_openstack: BOX == 'openstack',
|
ceph_docker_on_openstack: BOX == 'openstack',
|
||||||
|
@ -114,11 +115,11 @@ ansible_provision = proc do |ansible|
|
||||||
# Use monitor_address_block instead of monitor_interface:
|
# Use monitor_address_block instead of monitor_interface:
|
||||||
ansible.extra_vars.delete(:monitor_interface)
|
ansible.extra_vars.delete(:monitor_interface)
|
||||||
ansible.extra_vars = ansible.extra_vars.merge({
|
ansible.extra_vars = ansible.extra_vars.merge({
|
||||||
cluster_network: "#{SUBNET}.0/16",
|
cluster_network: "#{CLUSTER_SUBNET}.0/16",
|
||||||
devices: ['/dev/sdc'], # hardcode leftover disk
|
devices: ['/dev/sdc'], # hardcode leftover disk
|
||||||
journal_collocation: 'true',
|
journal_collocation: 'true',
|
||||||
monitor_address_block: "#{SUBNET}.0/16",
|
monitor_address_block: "#{PUBLIC_SUBNET}.0/16",
|
||||||
public_network: "#{SUBNET}.0/16",
|
public_network: "#{PUBLIC_SUBNET}.0/16",
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -183,7 +184,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}client#{i}" do |client|
|
config.vm.define "#{LABEL_PREFIX}client#{i}" do |client|
|
||||||
client.vm.hostname = "#{LABEL_PREFIX}ceph-client#{i}"
|
client.vm.hostname = "#{LABEL_PREFIX}ceph-client#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
client.vm.network :private_network, ip: "#{SUBNET}.4#{i}"
|
client.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.4#{i}"
|
||||||
end
|
end
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
client.vm.provider :virtualbox do |vb|
|
client.vm.provider :virtualbox do |vb|
|
||||||
|
@ -216,7 +217,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}rgw#{i}" do |rgw|
|
config.vm.define "#{LABEL_PREFIX}rgw#{i}" do |rgw|
|
||||||
rgw.vm.hostname = "#{LABEL_PREFIX}ceph-rgw#{i}"
|
rgw.vm.hostname = "#{LABEL_PREFIX}ceph-rgw#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
rgw.vm.network :private_network, ip: "#{SUBNET}.5#{i}"
|
rgw.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.5#{i}"
|
||||||
end
|
end
|
||||||
|
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
|
@ -250,7 +251,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "nfs#{i}" do |nfs|
|
config.vm.define "nfs#{i}" do |nfs|
|
||||||
nfs.vm.hostname = "ceph-nfs#{i}"
|
nfs.vm.hostname = "ceph-nfs#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
nfs.vm.network :private_network, ip: "#{SUBNET}.6#{i}"
|
nfs.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.6#{i}"
|
||||||
end
|
end
|
||||||
|
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
|
@ -284,7 +285,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}mds#{i}" do |mds|
|
config.vm.define "#{LABEL_PREFIX}mds#{i}" do |mds|
|
||||||
mds.vm.hostname = "#{LABEL_PREFIX}ceph-mds#{i}"
|
mds.vm.hostname = "#{LABEL_PREFIX}ceph-mds#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
mds.vm.network :private_network, ip: "#{SUBNET}.7#{i}"
|
mds.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.7#{i}"
|
||||||
end
|
end
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
mds.vm.provider :virtualbox do |vb|
|
mds.vm.provider :virtualbox do |vb|
|
||||||
|
@ -316,7 +317,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}rbd_mirror#{i}" do |rbd_mirror|
|
config.vm.define "#{LABEL_PREFIX}rbd_mirror#{i}" do |rbd_mirror|
|
||||||
rbd_mirror.vm.hostname = "#{LABEL_PREFIX}ceph-rbd-mirror#{i}"
|
rbd_mirror.vm.hostname = "#{LABEL_PREFIX}ceph-rbd-mirror#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
rbd_mirror.vm.network :private_network, ip: "#{SUBNET}.8#{i}"
|
rbd_mirror.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.8#{i}"
|
||||||
end
|
end
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
rbd_mirror.vm.provider :virtualbox do |vb|
|
rbd_mirror.vm.provider :virtualbox do |vb|
|
||||||
|
@ -348,7 +349,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}iscsi_gw#{i}" do |iscsi_gw|
|
config.vm.define "#{LABEL_PREFIX}iscsi_gw#{i}" do |iscsi_gw|
|
||||||
iscsi_gw.vm.hostname = "#{LABEL_PREFIX}ceph-iscsi-gw#{i}"
|
iscsi_gw.vm.hostname = "#{LABEL_PREFIX}ceph-iscsi-gw#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
iscsi_gw.vm.network :private_network, ip: "#{SUBNET}.9#{i}"
|
iscsi_gw.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.9#{i}"
|
||||||
end
|
end
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
iscsi_gw.vm.provider :virtualbox do |vb|
|
iscsi_gw.vm.provider :virtualbox do |vb|
|
||||||
|
@ -380,7 +381,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}mon#{i}" do |mon|
|
config.vm.define "#{LABEL_PREFIX}mon#{i}" do |mon|
|
||||||
mon.vm.hostname = "#{LABEL_PREFIX}ceph-mon#{i}"
|
mon.vm.hostname = "#{LABEL_PREFIX}ceph-mon#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
mon.vm.network :private_network, ip: "#{SUBNET}.1#{i}"
|
mon.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.1#{i}"
|
||||||
end
|
end
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
mon.vm.provider :virtualbox do |vb|
|
mon.vm.provider :virtualbox do |vb|
|
||||||
|
@ -413,8 +414,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
config.vm.define "#{LABEL_PREFIX}osd#{i}" do |osd|
|
config.vm.define "#{LABEL_PREFIX}osd#{i}" do |osd|
|
||||||
osd.vm.hostname = "#{LABEL_PREFIX}ceph-osd#{i}"
|
osd.vm.hostname = "#{LABEL_PREFIX}ceph-osd#{i}"
|
||||||
if ASSIGN_STATIC_IP
|
if ASSIGN_STATIC_IP
|
||||||
osd.vm.network :private_network, ip: "#{SUBNET}.10#{i}"
|
osd.vm.network :private_network, ip: "#{PUBLIC_SUBNET}.10#{i}"
|
||||||
osd.vm.network :private_network, ip: "#{SUBNET}.20#{i}"
|
osd.vm.network :private_network, ip: "#{CLUSTER_SUBNET}.20#{i}"
|
||||||
end
|
end
|
||||||
# Virtualbox
|
# Virtualbox
|
||||||
osd.vm.provider :virtualbox do |vb|
|
osd.vm.provider :virtualbox do |vb|
|
||||||
|
|
|
@ -15,8 +15,9 @@ iscsi_gw_vms: 0
|
||||||
# Deploy RESTAPI on each of the Monitors
|
# Deploy RESTAPI on each of the Monitors
|
||||||
#restapi: false
|
#restapi: false
|
||||||
|
|
||||||
# SUBNET TO USE FOR THE VMS
|
# SUBNETS TO USE FOR THE VMS
|
||||||
subnet: 192.168.0
|
public_subnet: 192.168.0
|
||||||
|
cluster_subnet: 192.168.1
|
||||||
|
|
||||||
# MEMORY
|
# MEMORY
|
||||||
memory: 1024
|
memory: 1024
|
||||||
|
|
|
@ -16,7 +16,8 @@ cloud_datacenter: 'newark'
|
||||||
memory: 2048
|
memory: 2048
|
||||||
|
|
||||||
# The private network on Linode, you probably don't want to change this.
|
# The private network on Linode, you probably don't want to change this.
|
||||||
subnet: 192.168.0
|
public_subnet: 192.168.0
|
||||||
|
cluster_subnet: 192.168.1
|
||||||
|
|
||||||
# DEFINE THE NUMBER OF VMS TO RUN
|
# DEFINE THE NUMBER OF VMS TO RUN
|
||||||
mon_vms: 3
|
mon_vms: 3
|
||||||
|
|
|
@ -16,7 +16,8 @@ client_vms: 0
|
||||||
|
|
||||||
# SUBNET TO USE FOR THE VMS
|
# SUBNET TO USE FOR THE VMS
|
||||||
# Use whatever private subnet your Openstack VMs are given
|
# Use whatever private subnet your Openstack VMs are given
|
||||||
subnet: 172.17.72
|
public_subnet: 172.17.72
|
||||||
|
cluster_subnet: 172.17.73
|
||||||
|
|
||||||
# For Openstack VMs, the disk will depend on what you are allocated
|
# For Openstack VMs, the disk will depend on what you are allocated
|
||||||
disks: "[ '/dev/vdb' ]"
|
disks: "[ '/dev/vdb' ]"
|
||||||
|
|
|
@ -20,8 +20,9 @@ restapi: true
|
||||||
# valid values are 'stable' and 'dev'
|
# valid values are 'stable' and 'dev'
|
||||||
ceph_install_source: stable
|
ceph_install_source: stable
|
||||||
|
|
||||||
# SUBNET TO USE FOR THE VMS
|
# SUBNETS TO USE FOR THE VMS
|
||||||
subnet: 192.168.42
|
public_subnet: 192.168.42
|
||||||
|
cluster_subnet: 192.168.43
|
||||||
|
|
||||||
# MEMORY
|
# MEMORY
|
||||||
# set 1024 for CentOS
|
# set 1024 for CentOS
|
||||||
|
|
Loading…
Reference in New Issue