Skip to content
Snippets Groups Projects
Commit d85a6dbc authored by Riccardo Bucchi's avatar Riccardo Bucchi
Browse files

Merge branch 'storage_CEPH' into development

parents 57bae380 7e75d824
No related branches found
No related tags found
1 merge request!8Development
Showing
with 277 additions and 496 deletions
#!/usr/bin/env ruby
#^syntax detection
forge "git://forge.puppetlabs.com"
forge "https://forge.puppetlabs.com"
# Role base
mod 'ntp',
:git => 'git://github.com/puppetlabs/puppetlabs-ntp'
mod 'concat', #Required by ssh
:git => 'git://github.com/puppetlabs/puppetlabs-concat'
mod 'ssh',
:git => 'git://github.com/saz/puppet-ssh'
mod 'resolv_conf',
:git => 'git://github.com/saz/puppet-resolv_conf'
mod 'locales',
:git => 'git://github.com/saz/puppet-locales'
mod 'kmod',
:git => 'git://github.com/camptocamp/puppet-kmod'
mod 'network',
:git => 'git://github.com/puppet-community/puppet-network'
mod 'apt',
:git => 'git://github.com/puppetlabs/puppetlabs-apt'
mod 'inifiles',
:git => 'git://github.com/puppetlabs/puppetlabs-inifile'
mod 'xinetd',
:git => 'git://github.com/puppetlabs/puppetlabs-xinetd'
mod 'staging',
:git => 'git://github.com/nanliu/puppet-staging'
mod 'stdlib',
:git => 'git://github.com/puppetlabs/puppetlabs-stdlib'
# Role Controller
mod 'mysql', # Required by galera
:git => 'git://github.com/puppetlabs/puppetlabs-mysql',
:ref => '2.3.0' # This is only required because of git://github.com/michaeltchapman/puppet-galera/pull/22
mod 'galera',
:git => 'git://github.com/michaeltchapman/puppet-galera'
mod 'erlang', # Required by rabbitmq
:git => 'git://github.com/garethr/garethr-erlang'
mod 'rabbitmq',
:git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq'
mod 'apache', #Required by horizon
:git => 'git://github.com/puppetlabs/puppetlabs-apache'
mod 'deric/zookeeper',
:git => 'git://github.com/deric/puppet-zookeeper'
mod 'richardc/datacat', #Required by zookeeper
:git => 'git://github.com/richardc/puppet-datacat'
# Role Storage
mod 'ceph',
:git => 'git://github.com/stackforge/puppet-ceph'
# Role Endpoint
mod 'haproxy',
:git => 'git://github.com/puppetlabs/puppetlabs-haproxy'
mod 'sysctl',
:git => 'git://github.com/thias/puppet-sysctl'
## The core OpenStack modules
mod "keystone",
:git => "git://github.com/stackforge/puppet-keystone",
:ref => "master"
mod "swift",
:git => "git://github.com/stackforge/puppet-swift",
:ref => "master"
# use dependencies defined in metadata.json
metadata
mod "glance",
:git => "git://github.com/stackforge/puppet-glance",
:ref => "master"
# use dependencies defined in Modulefile
# modulefile
mod "cinder",
:git => "git://github.com/stackforge/puppet-cinder",
:ref => "master"
# A module from the Puppet Forge
# mod 'puppetlabs-stdlib'
mod "neutron",
:git => "git://github.com/stackforge/puppet-neutron",
:ref => "master"
mod "nova",
:git => "git://github.com/stackforge/puppet-nova",
:ref => "master"
mod "heat",
:git => "git://github.com/stackforge/puppet-heat",
:ref => "master"
mod "ceilometer",
:git => "git://github.com/stackforge/puppet-ceilometer",
:ref => "master"
mod "horizon",
:git => "git://github.com/stackforge/puppet-horizon",
:ref => "master"
# A module from git
# mod 'puppetlabs-ntp',
# :git => 'git://github.com/puppetlabs/puppetlabs-ntp.git'
mod 'puppet',
:git => "git://github.com/puppetlabs/puppetlabs-puppet"
mod 'ceph',
:git => "git://github.com/stackforge/puppet-ceph"
mod "openstacklib",
:git => "git://github.com/stackforge/puppet-openstacklib",
:ref => "master"
mod "vcsrepo", # Required by Tempest
:git => "git://github.com/puppetlabs/puppetlabs-vcsrepo",
:ref => "master"
# A module from a git branch/tag
# mod 'puppetlabs-apt',
# :git => 'https://github.com/puppetlabs/puppetlabs-apt.git',
# :ref => '1.4.x'
mod 'staging',
:git => 'git://github.com/nanliu/puppet-staging'
# :ref => '1.0.4'
mod 'puppetdb',
:git => "git://github.com/puppetlabs/puppetlabs-puppetdb",
:ref => '5.0.0'
mod "tempest",
:git => "git://github.com/stackforge/puppet-tempest",
:ref => "master"
mod "vswitch",
:git => "git://github.com/stackforge/puppet-vswitch",
:ref => "master"
# A module from Github pre-packaged tarball
# mod 'puppetlabs-apache', '0.6.0', :github_tarball => 'puppetlabs/puppetlabs-apache'
iaas::region: "polytech"
iaas::public_interface: eth0
iaas::admin_interface: eth0
# Node
iaas::profile::base::dns_servers: [192.168.0.1, 8.8.8.8, 8.8.4.4]
iaas::profile::base::dns_searchdomain: iaas
iaas::profile::base::ssh_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAo/JkbGO6R7g1ZxARi0xWVM7FOfN02snRAcIO6vT9M7xMUkWVLgD+hM/o91lk+UFiYdql0CATobpFWncRL36KaUqsbw9/1BlI40wg296XHXSSnxhxZ4L7ytf6G1tyN319HXlI2kh9vAf/fy++yDvkH8dI3k1oLoW+mZPET6Pff04/6AXXrRlS5mhmGv9irGwiDHtVKpj6lU8DN/UtOrv1tiQ0pgwEJq05fLGoQfgPNaBCnW2z4Ubpn2gyMcMBMpSwo4hCqJePd349e4bLmFcT+gXYg7Mnup1DoTDlowFFN56wpxQbdp96IxWzU+jYPaIAuRo+BJzCyOS8qBv0Z4RZrgop0qp2JYiVwmViO6TZhIDz6loQJXUOIleQmNgTbiZx8Bwv5GY2jMYoVwlBp7yy5bRjxfbFsJ0vU7TVzNAG7oEJy/74HmHmWzRQlSlQjesr8gRbm9zgR8wqc/L107UOWFg7Cgh8ZNjKuADbXqYuda1Y9m2upcfS26UPz5l5PW5uFRMHZSi8pb1XV6/0Z8H8vwsh37Ur6aLi/5jruRmKhdlsNrB1IiDicBsPW3yg7HHSIdPU4oBNPC77yDCT3l4CKr4el81RrZt7FbJPfY+Ig9Q5O+05f6I8+ZOlJGyZ/Qfyl2aVm1HnlJKuBqPxeic8tMng/9B5N7uZL6Y3k5jFU8c= contact@harmony-hosting.com
iaas::profile::base::ntp_servers: [puppet]
# Endpoints
iaas::role::endpoint::servers: [endpoint-1, endpoint-2] # List of load-balancers
iaas::role::endpoint::main_hostname: 'endpoint-2'
iaas::role::endpoint::main_address: endpoint-2 # The main virtual address pointing to the load-balancers
iaas::profile::haproxy::stats_enabled: true
iaas::profile::haproxy::stats_ports: [1936]
iaas::profile::haproxy::stats_refresh: "30s"
iaas::profile::haproxy::stats_login: "stats"
iaas::profile::haproxy::stats_password: "stats"
iaas::profile::haproxy::stats_uri: "/"
# Galera MySQL
iaas::profile::database::servers: [controller-1, controller-2, controller-3]
iaas::profile:database::galera_master: controller-1
iaas::profile:database::galera_password: test
iaas::mysql::allowed_hosts: ["endpoint-1", "endpoint-2"]
iaas::mysql::keystone::user: keystone
iaas::mysql::keystone::password: keystone
iaas::mysql::glance::user: glance
iaas::mysql::glance::password: glance
iaas::mysql::cinder::user: cinder
iaas::mysql::cinder::password: cinder
iaas::mysql::nova::user: nova
iaas::mysql::nova::password: nova
iaas::mysql::neutron::user: neutron
iaas::mysql::neutron::password: neutron
iaas::mysql::heat::user: heat
iaas::mysql::heat::password: heat
iaas::mysql::ceilometer::user: ceilometer
iaas::mysql::ceilometer::password: ceilometer
# Rabbitmq
iaas::profile::rabbitmq::servers: [controller-1, controller-2, controller-3]
iaas::profile::rabbitmq::user: openstack
iaas::profile::rabbitmq::password: openstack
iaas::profile::rabbitmq::erlang: GWFFDKEXVWEMGMFLSFQX
# Keystone
iaas::profile::keystone::admin_token: '36c428a03be7d4f3cb0c'
iaas::profile::keystone::tenants:
"demofoo":
description: "Demo/Foobar Corp."
iaas::profile::keystone::users:
"admin":
password: "admin"
tenant: "admin"
email: "admin@iaas.io"
admin: true
"demo":
password: "demo"
tenant: "demofoo"
email: "demo@demo.com"
admin: false
"foo":
password: "bar"
tenant: "demofoo"
email: "foo@bar.com"
admin: false
# Glance
iaas::profile::glance::password: glance
# Cinder
iaas::profile::cinder::password: cinder
iaas::profile::cinder::volume_size: 8G
iaas::profile::cinder::secret: 5e899071-df68-40d3-b0ea-6ec22b7c12a0
# Ceph
iaas::role::storage::cluster_vlan: 8
iaas::role::storage::cluster_netmask: 255.255.252.0
ceph::profile::params:release: 'firefly'
ceph::profile::params::fsid: '8bd6398b-65a2-4254-bb00-1ff2468d2806'
ceph::profile::params:authentication_type: 'cephx'
ceph::profile::params:mon_initial_members: ''
ceph::profile::params::mon_host: 'ceph-1:6789, ceph-2:6789, ceph-3:6789'
ceph::profile::params::osd_pool_default_pg_num: 128
ceph::profile::params::osd_pool_default_pgp_num: 128
ceph::profile::params::osd_pool_default_size: 3
ceph::profile::params::osd_pool_default_min_size: 2
ceph::profile::params::cluster_network: '172.16.64.0/22'
ceph::profile::params::public_network: '192.168.0.0/18'
ceph::profile::params::mon_key: 'AQCdC8FU+HpKKRAAdjPWy4epdofGDpJQJi9iiA=='
ceph::profile::params::admin_key: 'AQAZksZUEByAJhAA4EeT6P7RBy94sThGb2cP6Q=='
ceph::profile::params::admin_key_mode: '0600'
ceph::profile::params::bootstrap_osd_key: 'AQAhksZU+JhpIxAACevduqas0p+fRJDhGLg9lw=='
ceph::profile::params::bootstrap_mds_key: 'AQApksZUIJhXJxAAEHVW/dbL1OeLA7Om++zdVw=='
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
# Nova
iaas::profile::nova::common::default_flotting_pool: ext-net
iaas::profile::nova::controller::password: nova
# Neutron
iaas::profile::neutron::password: neutron
iaas::profile::neutron::secret: neutron
iaas::profile::neutron::external_network: 192.168.0.0/18
iaas::profile::neutron::external_gateway: 192.168.0.1
iaas::profile::neutron::common::core_plugin: 'ml2'
iaas::profile::neutron::common::service_plugins:
- 'router'
- 'lbaas'
- 'vpnaas'
- 'firewall'
- 'metering'
# Heat
iaas::profile::heat::password: heat
iaas::profile::heat::encryption_key: 12345678912345678912345678912345 # https://bugs.launchpad.net/heat/+bug/1415887: "AES key must be either 16, 24, or 32 bytes long"
# Horizon
iaas::profile::horizon::secret: horizon
# Ceilometer
iaas::profile::ceilometer::servers: ["controller-1:2888:3888", "controller-2:2888:3888", "controller-3:2888:3888"]
iaas::profile::ceilometer::secret: ceilometer
iaas::profile::ceilometer::password: ceilometer
# Tempest
iaas::profile::tempest::admin_user: admin
iaas::profile::tempest::user: demo
iaas::profile::tempest::alt_user: foo
iaas::profile::tempest::image_id: 5d912738-72df-4379-add1-de88d80d012a
iaas::profile::tempest::alt_image_id: 557fdbe9-0cd1-4abd-8ce0-09e9c7f40745
iaas::profile::tempest::flavor_ref: 1
iaas::profile::tempest::alt_flavor_ref: 2
iaas::profile::tempest::image_ssh_user: cirros
iaas::profile::tempest::alt_image_ssh_user: root
iaas::profile::tempest::public_network_id: 4c02888a-aa76-4438-bfbe-9b7c3ba98a52
iaas::profile::tempest::public_network_name: ext-net
iaas::profile::tempest::floating_ip_range: 192.168.50.64/26
---
:backends:
- yaml
:hierarchy:
- "nodes/%{::fqdn}"
- common
:yaml:
:datadir: /etc/puppet/hieradata
---
default:
- ntp
- timezone
ntp::enable: true
ntp::servers:
- ntp.cnaf.infn.it iburst
- pool.ntp.org
timezone::timezone: 'Europe/Rome'
#################################################
# Ceph
iaas::role::storage::cluster_netmask: 255.255.255.0
ceph::profile::params::fsid: 'f65809d3-7961-4cd7-b731-a9bc94bc6e9c'
ceph::profile::params:authentication_type: 'cephx'
ceph::profile::params:mon_initial_members: '<mon_host_1>,<mon_host_2>,<mon_host_3>'
ceph::profile::params::mon_host: '<mon_IP_1>,<mon_IP_2>,<mon_IP_3>'
ceph::profile::params::osd_pool_default_pg_num: 100
ceph::profile::params::osd_pool_default_pgp_num: 100
ceph::profile::params::osd_pool_default_size: 3
ceph::profile::params::osd_pool_default_min_size: 2
ceph::profile::params::cluster_network: '10.10.98.0/24'
ceph::profile::params::public_network: '10.10.98.0/24'
ceph::profile::params::mon_key: 'AQBxkvVU4F+VDBAArxUf+8s0LbxIxNrbyEC1kw=='
ceph::profile::params::admin_key: 'AQDgL/hUSC2kLBAAnWJaSiqJG+YMk+XV9sapnw=='
ceph::profile::params::admin_key_mode: '0600'
ceph::profile::params::bootstrap_osd_key: 'AQDlL/hUUCpdFBAAZeo6mKj4yeKPmVKfUY5awA=='
ceph::profile::params::bootstrap_mds_key: 'AQApksZUIJhXJxAAEHVW/dbL1OeLA7Om++zdVw=='
ceph::profile::params::osd_journal_size: '5120'
Exec {
path => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
}
hiera_include('default')
node '<storage_hostname>' {
include 'iaas::role::storage'
ceph::osd {
'/dev/vdb':
journal => '/osd1';
'/dev/vdc':
journal => '/osd2',
}
ceph::key {
'client.admin':
secret => 'AQDgL/hUSC2kLBAAnWJaSiqJG+YMk+XV9sapnw==',
cap_mon => 'allow *',
cap_osd => 'allow *',
cap_mds => 'allow',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => '/var/lib/ceph/mon/ceph-ocp-ubuntu20/keyring';
'client.bootstrap-osd':
secret => 'AQDlL/hUUCpdFBAAZeo6mKj4yeKPmVKfUY5awA==',
cap_mon => 'allow profile bootstrap-osd',
keyring_path => '/var/lib/ceph/bootstrap-osd/ceph.keyring',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => '/var/lib/ceph/mon/ceph-ocp-ubuntu20/keyring';
'client.glance':
secret => 'AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==',
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=images',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => '/var/lib/ceph/mon/ceph-ocp-ubuntu20/keyring';
'client.cinder':
secret => 'AQAvxQpVKJ03KxAADFv78tedrAWZx1SoRdsQUA==',
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => '/var/lib/ceph/mon/ceph-ocp-ubuntu20/keyring';
'client.cinder-backup':
secret => 'AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==',
cap_mon => 'allow r',
cap_osd => 'allow class-read object_prefix rbd_children, allow rwx pool=backups',
inject => 'true',
inject_as_id => 'mon.',
inject_keyring => '/var/lib/ceph/mon/ceph-ocp-ubuntu20/keyring',
}
ceph::pool { 'images':
pg_num => 128;
'volumes':
pg_num => 128;
'vms':
pg_num => 128;
'backups':
pg_num => 128,
}
$ceph_key_repo = "-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)
mQINBE+5bugBEADP31ZaQNvhOOQxjDwL/VYDLhtaGq4Q74FCY23uSQAMboKwo4JB
Te2JTSwBwU/RAPuWTrlKaQBPS30VF5SJN9t16llmoBWqhtBVf/lhQonC/28dTB6D
KR7Ahiz4Nv2g9m1sLau86JblQuODo8vWHXxahYSLQSyyxIXnlE4K3c1k0S4feLqu
ZxFtc2cFrQ/bUX9zXg6PXjDVAfY2R+x1JKGkVO/iwP+cjS1tCbvzdKcnQJEXpBwd
yHvDBuF3IjuR9JgrBhb1ALqexhFKHzG1kHFfOZ3DLVohig68lfyjCepGgo0BPOyy
S3Yk0QMumEaj9zRJurg49zWemX05XiBGt8SeCFxNUjXGYDIzSQ30K8fXmyjB74CW
EUDUuTpTt7oZF9jKCjfKmQwvW4GgJ4J0FSwiorXPK27didjLJCnkTt43v0ZETMRW
aADtiKFHl7lICuRmeXbd+6VkVqmoOz7ialMHnZ2KrHlqTcTPMd4llC4ayi2qS6Qb
dIi1g9fa5YMS6I7yGxmW4AWwNy7SE8DsTja0aGFR9k432r+Vxtr52jrmP2vVexva
CVaQkdk2/KEY3MjCPngiZwoTcOONYvNMvQaPrUtRuatcWJOgWsQVedY/UBxk968n
JzfnNDngbcYDRnOD8wLWyBGyYbOdg1ucckLXFEtPVXoRER5JHMcYhyh+/QARAQAB
tCRDZXBoIFJlbGVhc2UgS2V5IDxzYWdlQG5ld2RyZWFtLm5ldD6JAjgEEwECACIF
Ak+5bugCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEH6/3V0X7TFtSjEP
/A2pazEPwXrlQAHAjcXaFcPguKnXFrXRfbLpM9aZPR5gxH8mWl9RhEW/nL5pBf6A
Tx7lQ4F/h9bDlf4/bejuxUflkrJEPVWkyPf3hvImjSBs+LBTk4OkpUJwYd9AynsG
551Q0+6qxFfRVLCR6rLPHbMquXsKHROsSumEGUNrsMVC87gvtXEe/AOLUuRLEbjU
QqGKP2+mvliizU844a11B/bXViXhkNZw66ESAuqOw0dVPTo6aPLhuSDDrGEHQNTz
BsUseiUq795DqTE/5sL3lbTPrT1hKoIJFixYvaYBdygDgovsAi33nPn8UPitS5aD
zGJ/ByDdnI4QW15NN1diMp+BuvOCWLpMaxVQNflARlxxtfIfnvaKjgccr1YOyT91
5tlbdr0y05r1uYZjYU5/4llilypUgzzQB1jeetr06fOpVvswAAWQJiS5JJU+V84W
r4sIBhZzGw1uvqNxIBWtk85W1ya7CmisRO7PZYW5lsLxZ48BxZhr45ar6/iDYreT
OOeP1f9GoJW0X+FAocNc/pobY02MhB/BXV1LRM3lY+yOK3sskspnMihMqP7tSfop
iJRtfXMLNdRRJFVZ5VSr1MCDK5RPQaqVsuvdtVqOJr1RwAQPjjzisOh+NYmvabkd
cVxjSV5DX0fMODr2l7cAXxJjZsAs6AlnQOGPg/NXKdkZiEYEEBECAAYFAk+5cEAA
CgkQ2kQg7SiJlcjJIACgsGpIw9ShLBciO3Y349ja7ILjC8cAnRrqoIpFxUrSIJF/
8+w98auNwA18
=uX7x
-----END PGP PUBLIC KEY BLOCK-----
"
file { '/root/ceph_repo_key':
content => $ceph_key_repo,
}
File['/root/ceph_repo_key'] -> Apt::Key['ceph']
}
# Ceph
iaas::role::storage::cluster_ipaddress: 172.16.64.1
iaas::role::storage::osd_disk: /dev/sda
iaas::role::storage::osd_partition: 4
iaas::role::storage::osd_uuid: 30677c33-3916-44a8-b48e-59990f23fe4e
ceph::profile::params::osds:
'/dev/sda4':
journal:
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
client.cinder-backup:
secret: AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=backups
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
# Ceph
iaas::role::storage::cluster_ipaddress: 172.16.64.2
iaas::role::storage::osd_disk: /dev/sda
iaas::role::storage::osd_partition: 4
iaas::role::storage::osd_uuid: 33c17404-ecbc-420c-a747-0c32b0450711
ceph::profile::params::osds:
'/dev/sda4':
journal:
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
client.cinder-backup:
secret: AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=backups
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
# Ceph
iaas::role::storage::cluster_ipaddress: 172.16.64.3
iaas::role::storage::osd_disk: /dev/sda
iaas::role::storage::osd_partition: 4
iaas::role::storage::osd_uuid: 22b58306-3182-4340-9bd8-822b8e06f898
ceph::profile::params::osds:
'/dev/sda4':
journal:
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
client.cinder-backup:
secret: AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=backups
inject: true
inject_as_id: mon.
inject_keyring: /var/lib/ceph/mon/ceph-%{::hostname}/keyring
# Ceph keys
ceph::keys::args:
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
user: nova
group: nova
mode: '0550'
# Ceph keys
ceph::keys::args:
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
user: nova
group: nova
mode: '0550'
# Ceph keys
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
user: glance
group: glance
mode: '0550'
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
user: cinder
group: cinder
mode: '0550'
client.cinder-backup:
secret: AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=backups
user: cinder
group: cinder
mode: '0550'
# Zookeeper
iaas::profile::ceilometer::controller::zookeeper_id: 1 # Unique & between 1-255
# Ceph keys
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
user: glance
group: glance
mode: '0550'
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
user: cinder
group: cinder
mode: '0550'
client.cinder-backup:
secret: AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=backups
user: cinder
group: cinder
mode: '0550'
# Zookeeper
iaas::profile::ceilometer::controller::zookeeper_id: 2 # Unique & between 1-255
# Ceph keys
ceph::keys::args:
client.glance:
secret: AQBgGdJUCPwjLRAARZ0KEaxewYcYHT3j5Gl5Cg==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=images
user: glance
group: glance
mode: '0550'
client.cinder:
secret: AQC5UtJUIJ4UMhAASaCGxC6d4wWhDW0GT6/IOA==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
user: cinder
group: cinder
mode: '0550'
client.cinder-backup:
secret: AQBKvuVUMHvaGhAADT6nvBv9LFs7dqpB8Kis0Q==
cap_mon: allow r
cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=backups
user: cinder
group: cinder
mode: '0550'
# Zookeeper
iaas::profile::ceilometer::controller::zookeeper_id: 3 # Unique & between 1-255
# Neutron
iaas::profile::neutron::router::external_device: eth0
# Neutron
iaas::profile::neutron::router::external_device: eth0
class iaas::role::storage (
$cluster_vlan = undef,
$cluster_ipaddress = undef,
$cluster_netmask = undef,
$osd_disk = undef,
$osd_partition = undef,
$osd_uuid = undef,
# $cluster_vlan = undef,
# $cluster_ipaddress = undef,
# $cluster_netmask = undef,
# $osd_disk = undef,
# $osd_partition = undef,
# $osd_uuid = undef,
) {
# Base
class { 'iaas::profile::base': } ->
# Ceph cluster network
network_config { "eth0.${cluster_vlan}":
ensure => 'present',
family => 'inet',
method => 'static',
ipaddress => $cluster_ipaddress,
netmask => $cluster_netmask,
onboot => 'true',
} ->
exec { "ifup_eth0.${cluster_vlan}":
command => "ifup eth0.${cluster_vlan}",
} ->
# # Ceph cluster network
# network_config { "eth0.${cluster_vlan}":
# ensure => 'present',
# family => 'inet',
# method => 'static',
# ipaddress => $cluster_ipaddress,
# netmask => $cluster_netmask,
# onboot => 'true',
# } ->
# exec { "ifup_eth0.${cluster_vlan}":
# command => "ifup eth0.${cluster_vlan}",
# } ->
# Ceph
class { 'ceph::profile::base': } ->
......@@ -29,28 +29,30 @@ class iaas::role::storage (
class { 'ceph::keys': } ->
exec { "ceph-osd-sgdisk-${osd_partition}": # Trick to use a partition for an OSD
command => "sgdisk --change-name='${osd_partition}:ceph data' --partition-guid=${osd_partition}:${osd_uuid} --typecode=${osd_partition}:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -- ${osd_disk} && partprobe",
unless => "/bin/true # comment to satisfy puppet syntax requirements
set -ex
ceph-disk list 2> /dev/null | grep ' *${osd_disk}${osd_partition}.*ceph data'
",
logoutput => true,
} ->
# exec { "ceph-osd-sgdisk-${osd_partition}": # Trick to use a partition for an OSD
# command => "sgdisk --change-name='${osd_partition}:ceph data' --partition-guid=${osd_partition}:${osd_uuid} --typecode=${osd_partition}:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -- ${osd_disk} && partprobe",
# unless => "/bin/true # comment to satisfy puppet syntax requirements
# set -ex
# ceph-disk list 2> /dev/null | grep ' *${osd_disk}${osd_partition}.*ceph data'
# ",
# logoutput => true,
# } ->
#
class { 'ceph::profile::osd': } ->
# class { 'ceph::profile::osd': } ->
class { 'ceph::osds': } #->
# Openstack pools
ceph::pool { 'images':
pg_num => 128,
}
ceph::pool { 'volumes':
pg_num => 128,
}
ceph::pool { 'vms':
pg_num => 128,
}
ceph::pool { 'backups':
pg_num => 128,
}
# ceph::pool { 'images':
# pg_num => 128,
# }
# ceph::pool { 'volumes':
# pg_num => 128,
# }
# ceph::pool { 'vms':
# pg_num => 128,
# }
# ceph::pool { 'backups':
# pg_num => 128,
# }
}
{
"name": "iaas",
"version": "0.1.1",
"author": "OCP",
"summary": "Install, configure, and manage a full installation of OpenStack Juno",
"license": "Apache-2.0",
"source": "to_define",
"project_page": "to_define",
"issues_url": "to_define",
"requirements": [
{
"name": "pe",
"version_requirement": "3.x"
},
{
"name": "puppet",
"version_requirement": "3.x"
}
],
"operatingsystem_support": [
{
"operatingsystem": "RedHat",
"operatingsystemrelease": [
"6",
"7"
]
},
{
"operatingsystem": "Ubuntu",
"operatingsystemrelease": [
"14.04"
]
}
],
"description": "Using a hiera-based roles and profiles model, do simple OpenStack deployments.",
"dependencies": [
{"name":"stackforge/ceilometer","version_requirement":"5.1.0"},
{"name":"stackforge/cinder","version_requirement":"5.1.0"},
{"name":"stackforge/glance","version_requirement":"5.1.0"},
{"name":"stackforge/heat","version_requirement":"5.1.0"},
{"name":"stackforge/horizon","version_requirement":"5.1.0"},
{"name":"stackforge/keystone","version_requirement":"5.1.0"},
{"name":"stackforge/neutron","version_requirement":"5.1.0"},
{"name":"stackforge/nova","version_requirement":"5.1.0"},
{"name":"stackforge/swift","version_requirement":"5.1.0"},
{"name":"stackforge/tempest","version_requirement":"5.1.0"},
{"name":"puppetlabs/apache","version_requirement":"1.6.0"},
{"name":"puppetlabs/firewall","version_requirement":"1.7.0"},
{"name":"puppetlabs/mysql","version_requirement":"2.3.0"},
{"name":"puppetlabs/ntp","version_requirement":"4.1.0"},
{"name":"puppetlabs/rabbitmq"},
{"name":"puppetlabs/stdlib","version_requirement":"4.8.0"},
{"name":"stackforge/vswitch","version_requirement":"1.1.0"},
{"name":"duritong/sysctl"},
{"name":"garethr/erlang","version_requirement":"0.2.0"},
{"name":"adrien/boolean","version_requirement":"1.0.1"},
{"name":"adrien/filemapper","version_requirement":"1.1.3"},
{"name":"adrien/network","version_requirement":"0.4.2"},
{"name":"aimonb/aviator","version_requirement":"0.5.1"},
{"name":"saz/resolv_conf"},
{"name":"saz/locales"},
{"name":"saz/timezone"},
{"name":"arioch/keepalived"},
{"name":"richardc/datacat"},
{"name":"deric/zookeeper"}
]
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment