Skip to content

Commit ace18ae

Browse files
authored
Tech Preview: Add Manila to Genestack (#1284)
Adding Manila installation to Genestack. This is OpenStack's shared file system service. This installation will focus on the Generic driver and the NetApp unified driver for ONTAP.
1 parent 7de73c3 commit ace18ae

23 files changed

+1137
-1
lines changed

.original-images.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"docker.io/openstackhelm/magnum:2024.1-ubuntu_jammy",
1616
"docker.io/openstackhelm/masakari-monitors:2024.1-ubuntu_jammy",
1717
"docker.io/openstackhelm/masakari:2024.1-ubuntu_jammy",
18+
"docker.io/openstackhelm/manila:2024.1-ubuntu_jammy",
1819
"docker.io/openstackhelm/neutron:2024.1-ubuntu_jammy",
1920
"docker.io/openstackhelm/osh-selenium:latest-ubuntu_jammy",
2021
"docker.io/openstackhelm/ospurge:latest",
Lines changed: 314 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,314 @@
1+
---
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
#
6+
# http://www.apache.org/licenses/LICENSE-2.0
7+
#
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
images:
14+
tags:
15+
db_init: ghcr.io/rackerlabs/genestack-images/heat:2024.1-latest
16+
db_drop: ghcr.io/rackerlabs/genestack-images/heat:2024.1-latest
17+
dep_check: ghcr.io/rackerlabs/genestack-images/kubernetes-entrypoint:latest
18+
image_repo_sync: docker.io/docker:17.07.0
19+
ks_endpoints: ghcr.io/rackerlabs/genestack-images/heat:2024.1-latest
20+
ks_service: ghcr.io/rackerlabs/genestack-images/heat:2024.1-latest
21+
ks_user: ghcr.io/rackerlabs/genestack-images/heat:2024.1-latest
22+
manila_api: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
23+
manila_data: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
24+
manila_db_sync: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
25+
manila_scheduler: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
26+
manila_share: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
27+
manila_processor: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
28+
manila_storage_init: ghcr.io/rackerlabs/genestack-images/manila:2024.1-1758649489
29+
rabbit_init: docker.io/rabbitmq:3.13-management
30+
pull_policy: "IfNotPresent"
31+
32+
# NOTE: (brew) requests cpu/mem values based on a three node
33+
# hyperconverged lab (/scripts/hyperconverged-lab.sh).
34+
# limit values based on defaults from the openstack-helm charts unless defined
35+
pod:
36+
replicas:
37+
api: 1
38+
data: 1
39+
scheduler: 1
40+
share: 1
41+
lifecycle:
42+
upgrades:
43+
deployments:
44+
rolling_update:
45+
max_unavailable: 20%
46+
resources:
47+
enabled: true
48+
api:
49+
requests:
50+
memory: "128Mi"
51+
cpu: "100m"
52+
limits:
53+
memory: "1024Mi"
54+
cpu: "2000m"
55+
data:
56+
requests:
57+
memory: "128Mi"
58+
cpu: "100m"
59+
limits:
60+
memory: "1024Mi"
61+
cpu: "2000m"
62+
scheduler:
63+
requests:
64+
memory: "128Mi"
65+
cpu: "100m"
66+
limits:
67+
memory: "1024Mi"
68+
cpu: "2000m"
69+
share:
70+
requests:
71+
memory: "128Mi"
72+
cpu: "100m"
73+
limits:
74+
memory: "1024Mi"
75+
cpu: "2000m"
76+
jobs:
77+
ks_endpoints:
78+
requests:
79+
memory: "128Mi"
80+
cpu: "100m"
81+
limits:
82+
memory: "1024Mi"
83+
cpu: "2000m"
84+
ks_service:
85+
requests:
86+
memory: "128Mi"
87+
cpu: "100m"
88+
limits:
89+
memory: "1024Mi"
90+
cpu: "2000m"
91+
ks_user:
92+
requests:
93+
memory: "128Mi"
94+
cpu: "100m"
95+
limits:
96+
memory: "1024Mi"
97+
cpu: "2000m"
98+
tests:
99+
requests:
100+
memory: "128Mi"
101+
cpu: "100m"
102+
limits:
103+
memory: "1024Mi"
104+
cpu: "2000m"
105+
image_repo_sync:
106+
requests:
107+
memory: "128Mi"
108+
cpu: "100m"
109+
limits:
110+
memory: "1024Mi"
111+
cpu: "2000m"
112+
113+
endpoints:
114+
fluentd:
115+
namespace: fluentbit
116+
oslo_db:
117+
hosts:
118+
default: mariadb-cluster-primary
119+
host_fqdn_override:
120+
default: mariadb-cluster-primary.openstack.svc.cluster.local
121+
oslo_cache:
122+
hosts:
123+
default: memcached
124+
host_fqdn_override:
125+
default: memcached.openstack.svc.cluster.local
126+
oslo_messaging:
127+
hosts:
128+
default: rabbitmq-nodes
129+
host_fqdn_override:
130+
default: rabbitmq.openstack.svc.cluster.local
131+
share:
132+
name: manila
133+
hosts:
134+
default: manila-api
135+
public: manila
136+
host_fqdn_override:
137+
default: null
138+
path:
139+
default: '/v1'
140+
scheme:
141+
default: http
142+
service: http
143+
port:
144+
api:
145+
default: 8786
146+
public: 80
147+
service: 8786
148+
sharev2:
149+
name: manilav2
150+
hosts:
151+
default: manila-api
152+
public: manila
153+
host_fqdn_override:
154+
default: null
155+
path:
156+
default: '/v2'
157+
scheme:
158+
default: http
159+
service: http
160+
port:
161+
api:
162+
default: 8786
163+
public: 80
164+
service: 8786
165+
166+
dependencies:
167+
static:
168+
api:
169+
jobs:
170+
- manila-db-sync
171+
- manila-ks-user
172+
- manila-ks-endpoints
173+
data:
174+
jobs:
175+
- manila-db-sync
176+
- manila-ks-user
177+
- manila-ks-endpoints
178+
scheduler:
179+
jobs:
180+
- manila-db-sync
181+
- manila-ks-user
182+
- manila-ks-endpoints
183+
share:
184+
jobs:
185+
- manila-db-sync
186+
- manila-ks-user
187+
- manila-ks-endpoints
188+
db_sync:
189+
jobs: []
190+
191+
conf:
192+
manila:
193+
DEFAULT:
194+
default_share_type: default
195+
default_share_group_type: default
196+
share_name_template: share-%s
197+
rootwrap_config: /etc/manila/rootwrap.conf
198+
api_paste_config: /etc/manila/api-paste.ini
199+
enabled_share_backends: generic
200+
enabled_share_protocols: NFS
201+
keystone_authtoken:
202+
auth_type: password
203+
auth_version: v3
204+
memcache_security_strategy: ENCRYPT
205+
endpoint_type: internalURL
206+
service_type: sharev2
207+
neutron:
208+
auth_type: password
209+
auth_version: v3
210+
memcache_security_strategy: ENCRYPT
211+
endpoint_type: internalURL
212+
nova:
213+
auth_type: password
214+
auth_version: v3
215+
memcache_security_strategy: ENCRYPT
216+
endpoint_type: internalURL
217+
cinder:
218+
auth_type: password
219+
auth_version: v3
220+
memcache_security_strategy: ENCRYPT
221+
endpoint_type: internalURL
222+
glance:
223+
auth_type: password
224+
auth_version: v3
225+
memcache_security_strategy: ENCRYPT
226+
endpoint_type: internalURL
227+
database:
228+
max_retries: -1
229+
generic:
230+
share_backend_name: GENERIC
231+
share_driver: manila.share.drivers.generic.GenericShareDriver
232+
driver_handles_share_servers: true
233+
# manila-service-flavor
234+
service_instance_flavor_id: 100
235+
service_image_name: manila-service-image
236+
service_instance_user: manila
237+
service_instance_password: manila
238+
# # Module path to the Virtual Interface (VIF) driver class. This option
239+
# # is used only by drivers operating in
240+
# # `driver_handles_share_servers=True` mode that provision OpenStack
241+
# # compute instances as share servers. This option is only supported
242+
# # with Neutron networking. Drivers provided in tree work with Linux
243+
# # Bridge (manila.network.linux.interface.BridgeInterfaceDriver) and
244+
# # OVS (manila.network.linux.interface.OVSInterfaceDriver). If the
245+
# # manila-share service is running on a host that is connected to the
246+
# # administrator network, a no-op driver
247+
# # (manila.network.linux.interface.NoopInterfaceDriver) may be used.
248+
# # (string value)
249+
# interface_driver: manila.network.linux.interface.OVSInterfaceDriver
250+
oslo_policy:
251+
policy_file: /etc/manila/policy.yaml
252+
oslo_concurrency:
253+
lock_path: /var/lib/manila/tmp
254+
oslo_messaging_notifications:
255+
driver: messagingv2
256+
oslo_middleware:
257+
enable_proxy_headers_parsing: true
258+
oslo_messaging_rabbit:
259+
rabbit_ha_queues: true
260+
manila_api_uwsgi:
261+
uwsgi:
262+
add-header: "Connection: close"
263+
buffer-size: 65535
264+
die-on-term: true
265+
enable-threads: true
266+
exit-on-reload: false
267+
hook-master-start: unix_signal:15 gracefully_kill_them_all
268+
lazy-apps: true
269+
log-x-forwarded-for: true
270+
master: true
271+
procname-prefix-spaced: "manila-api:"
272+
route-user-agent: '^kube-probe.* donotlog:'
273+
thunder-lock: true
274+
worker-reload-mercy: 80
275+
wsgi-file: /var/lib/openstack/bin/manila-wsgi
276+
logging:
277+
logger_root:
278+
level: WARNING
279+
handlers: 'null'
280+
logger_manila:
281+
level: INFO
282+
handlers:
283+
- stdout
284+
qualname: manila
285+
286+
manifests:
287+
certificates: false
288+
configmap_bin: true
289+
configmap_etc: true
290+
deployment_api: true
291+
deployment_scheduler: true
292+
deployment_data: true
293+
deployment_share: false
294+
ingress_api: false
295+
job_bootstrap: false
296+
job_db_init: false
297+
job_db_sync: true
298+
job_db_drop: false
299+
job_image_repo_sync: true
300+
job_rabbit_init: false
301+
job_ks_endpoints: true
302+
job_ks_service: true
303+
job_ks_user: true
304+
pdb_api: true
305+
pod_test: false
306+
secret_db: true
307+
network_policy: false
308+
secret_ingress_tls: false
309+
secret_keystone: true
310+
secret_rabbitmq: true
311+
secret_registry: true
312+
service_ingress_api: false
313+
service_api: true
314+
...
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
sortOptions:
3+
order: fifo
4+
resources:
5+
- ../base
6+
7+
patches:
8+
- target:
9+
kind: HorizontalPodAutoscaler
10+
name: manila-api
11+
patch: |-
12+
- op: replace
13+
path: /spec/minReplicas
14+
value: 1
15+
- op: replace
16+
path: /spec/maxReplicas
17+
value: 1
18+
- target:
19+
kind: HorizontalPodAutoscaler
20+
name: manila-scheduler
21+
patch: |-
22+
- op: replace
23+
path: /spec/minReplicas
24+
value: 1
25+
- op: replace
26+
path: /spec/maxReplicas
27+
value: 1
28+
- target:
29+
kind: HorizontalPodAutoscaler
30+
name: manila-data
31+
patch: |-
32+
- op: replace
33+
path: /spec/minReplicas
34+
value: 1
35+
- op: replace
36+
path: /spec/maxReplicas
37+
value: 1
38+
- target:
39+
kind: HorizontalPodAutoscaler
40+
name: manila-share
41+
patch: |-
42+
- op: replace
43+
path: /spec/minReplicas
44+
value: 1
45+
- op: replace
46+
path: /spec/maxReplicas
47+
value: 1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
apiVersion: autoscaling/v2
3+
kind: HorizontalPodAutoscaler
4+
metadata:
5+
name: manila-api
6+
namespace: openstack
7+
spec:
8+
maxReplicas: 9
9+
minReplicas: 2
10+
metrics:
11+
- resource:
12+
name: cpu
13+
target:
14+
averageUtilization: 80
15+
type: Utilization
16+
type: Resource
17+
- resource:
18+
name: memory
19+
target:
20+
type: Utilization
21+
averageUtilization: 80
22+
type: Resource
23+
scaleTargetRef:
24+
apiVersion: apps/v1
25+
kind: Deployment
26+
name: manila-api

0 commit comments

Comments
 (0)