-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathceph-osd.yaml
141 lines (134 loc) · 3.65 KB
/
ceph-osd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
heat_template_version: 2015-04-30
description: Template to create an OSD for Ceph cluster
parameters:
admin_node_ip:
type: string
description: admin node ip
name:
type: string
description: Name of server
index:
type: number
label: OSD Index
description: number of OSD to spin up
image:
type: string
description: Name of image to use for the worker
constraints:
- custom_constraint: glance.image
client_net:
type: string
description: >
Name or ID of client network for which the OSD will be attached
constraints:
- custom_constraint: neutron.network
client_subnet:
type: string
description: >
Name or ID of client network for which the OSD will be attached
constraints:
- custom_constraint: neutron.subnet
# osd_net:
# type: string
# description: >
# Name or ID of private network for which the OSD will be attached
# constraints:
# - custom_constraint: neutron.network
# osd_subnet:
# type: string
# description: >
# Name or ID of private sub network for which the OSD will be attached
# constraints:
# - custom_constraint: neutron.subnet
secgroup_base:
type: string
description: >
Name or ID of the base secgroup
secgroup_worker:
type: string
description: >
Name or ID of the worker secgroup
flavor:
type: string
description: Worker Flavor
default: m1.large
constraints:
- custom_constraint: nova.flavor
keypair:
type: string
description: OSD Keypair
root_password:
type: string
description: Root Password for the worker
default: linux
num_volumes:
type: number
description: Number of volumes to create and attach to the worker
default: 0
volume_size:
type: number
description: Size of each volume in GB.
default: 10
resources:
# osd_port:
# type: "OS::Neutron::Port"
# properties:
# network: { get_param: osd_net }
# fixed_ips:
# - subnet: { get_param: osd_subnet }
client_port:
type: "OS::Neutron::Port"
properties:
network: { get_param: client_net }
fixed_ips:
- subnet: { get_param: client_subnet }
security_groups:
- { get_param: secgroup_base }
- { get_param: secgroup_worker }
osd:
type: OS::Nova::Server
# depends_on:
# - osd_port
properties:
name:
str_replace:
template: $stack_name-$node-$index
params:
$node: "osd"
$stack_name: { get_param: name }
$index: {get_param: index}
image: { get_param: image }
key_name: { get_param: keypair }
flavor: { get_param: flavor }
networks:
- port: { get_resource: client_port }
# - port: { get_resource: osd_port }
user_data_format: RAW
user_data:
str_replace:
template: |
#cloud-config
disable_root: False
ssh_deletekeys: False
ssh_pwauth: True
chpasswd:
list: |
root:$root_password
expire: False
suse_caasp:
role: cluster
admin_node: $admin_node
runcmd:
- /usr/bin/systemctl start crio
params:
$admin_node: { get_param: admin_node_ip }
$root_password: { get_param: root_password }
osd_volumes:
type: OS::Heat::ResourceGroup
properties:
count: { get_param: num_volumes }
resource_def:
type: volume-with-attachment.yaml
properties:
instance_id: { get_resource: osd }
volume_size: { get_param: volume_size }