840cce19cf91986034690db60f386a7e9b8cf616
[pti/rtp.git] / meta-stx / recipes-support / puppet / stx-puppet_git.bb
1 #
2 ## Copyright (C) 2019 Wind River Systems, Inc.
3 #
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15
16 DESCRIPTION = "stx-puppet modules"
17
18 STABLE = "starlingx/master"
19 PROTOCOL = "https"
20 SRCNAME = "stx-puppet"
21 BRANCH = "r/stx.3.0"
22 SRCREV = "678fe78b72b70e213eae32b1932afe97cc8c16b4"
23 S = "${WORKDIR}/git"
24 PV = "1.0.0"
25
26 LICENSE = "Apache-2.0"
27
28 LIC_FILES_CHKSUM = " \
29         file://modules/puppet-dcdbsync/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
30         file://modules/puppet-dcmanager/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
31         file://modules/puppet-dcorch/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
32         file://modules/puppet-fm/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
33         file://modules/puppet-mtce/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
34         file://modules/puppet-nfv/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
35         file://modules/puppet-patching/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
36         file://modules/puppet-smapi/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
37         file://modules/puppet-sshd/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
38         file://modules/puppet-sysinv/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
39         file://puppet-manifests/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
40         "
41
42 #       file://${BPN}/use-cast-operator.patch 
43 SRC_URI = " \
44         git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
45         file://${BPN}/0001-puppet-manifest-apply-rebase-adjust-path.patch \
46         file://${BPN}/0002-puppet-manifests-port-Adjust-path-default-bindir.patch \
47         file://${BPN}/0003-puppet-dcmanager-updates-for-poky-stx.patch \
48         file://${BPN}/0004-puppet-dcorch-updates-for-poky-stx.patch \
49         file://${BPN}/0005-puppet-sysinv-updates-for-poky-stx.patch \
50         file://${BPN}/0006-puppet-manifest-apply-do-not-treat-warnings-as-block.patch \
51         file://${BPN}/0007-puppet-manifests-etcd-override-typo-and-journalctl.patch \
52         file://${BPN}/0008-puppet-manifests-keystone-include-platform-client.patch \
53         file://${BPN}/0009-puppet-manifests-lvm-remove-lvmetad.patch \
54         file://${BPN}/0010-puppet-manifest-apply-workaround-to-ignore-known-err.patch \
55         file://${BPN}/0011-puppet-manifest-kubernetes.pp-add-re-tries-for-docker-login.patch \
56         file://${BPN}/get-boot-device-from-cmdline.patch \
57         file://${BPN}/poky-specific-apply-network-config-script.patch \
58         file://${BPN}/apply_network_config_poky.sh \
59         "
60
61 RDEPENDS_${PN} += " \
62         bash puppet \
63         e2fsprogs-resize2fs \
64         hiera \
65         kpartx \
66         multipath-tools \
67         multipath-tools-libs \
68         ntpdate \
69         puppet-staging \
70         puppet-oslo \
71         puppetlabs-apache \
72         puppetlabs-mysql \
73         "
74
75 # WRS puppet modules
76 RDEPENDS_puppet-manifests += " \
77         puppet-dcorch \
78         puppet-dcmanager \
79         puppet-mtce \
80         puppet-nfv \
81         puppet-patching \
82         puppet-sysinv \
83         puppet-sshd \
84         puppet-smapi \
85         puppet-fm \
86         puppet-dcdbsync \
87         "
88 # Openstack puppet modules
89 RDEPENDS_puppet-manifests += " \
90         puppet-barbican \
91         puppet-ceph \
92         puppet-horizon \
93         puppet-keystone \
94         puppet-openstacklib \
95         puppet-vswitch \
96         puppet-memcached \
97         "
98
99 # Puppetlabs puppet modules 
100 RDEPENDS_puppet-manifests += " \
101         puppetlabs-concat \
102         puppetlabs-create-resources \
103         puppet-drbd \
104         puppetlabs-firewall \
105         puppetlabs-haproxy \
106         puppetlabs-inifile \
107         puppetlabs-lvm \
108         puppetlabs-postgresql \
109         puppetlabs-rabbitmq \
110         puppetlabs-stdlib \
111         puppet-sysctl \
112         puppet-etcd \
113         "
114
115 # 3rd party puppet modules
116 RDEPENDS_puppet-manifests += " \
117         puppet-boolean \
118         puppet-certmonger \
119         puppet-dnsmasq \
120         puppet-filemapper \
121         puppet-kmod \
122         puppet-ldap \
123         puppet-network \
124         puppet-nslcd \
125         puppet-nssdb \
126         puppet-puppi \
127         puppet-vlan \
128         puppet-collectd \
129         "
130
131
132  
133 RDEPENDS_puppet-mtce += " puppet"
134 RDEPENDS_puppet-dcdbsync += " puppet" 
135 RDEPENDS_puppet-dcmanager += " puppet"
136 RDEPENDS_puppet-dcorch += " puppet"
137 RDEPENDS_puppet-fm += " puppet"
138 RDEPENDS_puppet-nfv += " puppet"
139 RDEPENDS_puppet-patching += " puppet"
140 RDEPENDS_puppet-smapi += " puppet"
141 RDEPENDS_puppet-sshd += " puppet"
142 RDEPENDS_puppet-sysinv += " puppet"
143
144 PACKAGES += " puppet-dcdbsync"
145 PACKAGES += " puppet-dcmanager"
146 PACKAGES += " puppet-dcorch"
147 PACKAGES += " puppet-fm"
148 PACKAGES += " puppet-mtce"
149 PACKAGES += " puppet-nfv"
150 PACKAGES += " puppet-patching"
151 PACKAGES += " puppet-smapi"
152 PACKAGES += " puppet-sshd"
153 PACKAGES += " puppet-sysinv"
154 PACKAGES += " puppet-manifests"
155
156 do_install() {
157
158         install -d -m 0755 ${D}/${datadir}/puppet/modules/dcdbsync
159         cp -R ${S}/modules/puppet-dcdbsync/src/dcdbsync ${D}/${datadir}/puppet/modules
160
161         install -d -m 0755 ${D}/${datadir}/puppet/modules/dcmanager
162         cp -R ${S}/modules/puppet-dcmanager/src/dcmanager ${D}/${datadir}/puppet/modules
163
164         install -d -m 0755 ${D}/${datadir}/puppet/modules/dcorch
165         cp -R ${S}/modules/puppet-dcorch/src/dcorch/ ${D}/${datadir}/puppet/modules/
166
167         install -d -m 0755 ${D}/${datadir}/puppet/modules/fm
168         cp -R ${S}/modules/puppet-fm/src/fm ${D}/${datadir}/puppet/modules
169
170         install -d -m 0755 ${D}/${datadir}/puppet/modules/mtce
171         cp -R ${S}/modules/puppet-mtce/src/mtce ${D}/${datadir}/puppet/modules
172
173         install -d -m 0755 ${D}/${datadir}/puppet/modules/nfv
174         cp -R ${S}/modules/puppet-nfv/src/nfv ${D}/${datadir}/puppet/modules
175
176         install -d -m 0755 ${D}/${datadir}/puppet/modules/patching
177         cp -R ${S}/modules/puppet-patching/src/patching ${D}/${datadir}/puppet/modules
178
179         install -d -m 0755 ${D}/${datadir}/puppet/modules/smapi
180         cp -R ${S}/modules/puppet-smapi/src/smapi ${D}/${datadir}/puppet/modules
181
182         install -d -m 0755 ${D}/${datadir}/puppet/modules/sshd
183         cp -R ${S}/modules/puppet-sshd/src/sshd ${D}/${datadir}/puppet/modules
184
185         install -d -m 0755 ${D}/${datadir}/puppet/modules/sysinv
186         cp -R ${S}/modules/puppet-sysinv/src/sysinv ${D}/${datadir}/puppet/modules
187
188         cd ${S}/puppet-manifests/src
189         oe_runmake BINDIR=${D}/${bindir} \
190                 CONFIGDIR=${D}/${sysconfdir}/puppet/ \
191                 MODULEDIR=${D}/${datadir}/puppet/modules -f Makefile install
192
193         # fix the path for systemctl
194         sed -i -e 's|${bindir}/systemctl|${base_bindir}/systemctl|' ${D}/${datadir}/puppet/modules/platform/manifests/*.pp
195         sed -i -e 's|${bindir}|${bindir}:${base_bindir}|' ${D}/${datadir}/puppet/modules/sysinv/manifests/api.pp
196
197         # fix the path for mount and awk
198         sed -i -e 's|${bindir}|${bindir}:${base_bindir}|' ${D}/${datadir}/puppet/modules/platform/manifests/filesystem.pp
199
200         # fix the path for slapd.conf
201         sed -i -e '/\/usr\/lib64\/openldap/d' ${D}/${datadir}/puppet/modules/platform/manifests/ldap.pp
202
203         # fix the libdir for collectd
204         sed -i -e 's|/usr/lib64|${libdir}|' ${D}/${datadir}/puppet/modules/platform/templates/collectd.conf.erb
205
206         install -m 0755 ${WORKDIR}/${PN}/apply_network_config_poky.sh  ${D}/${bindir}/apply_network_config_poky.sh
207 }
208
209 FILES_puppet-sysinv += " \
210         ${datadir}/puppet/modules/sysinv \
211         "
212
213 FILES_puppet-sshd += " \
214         ${datadir}/puppet/modules/sshd \
215         "
216
217 FILES_puppet-smapi += " \
218         ${datadir}/puppet/modules/smapi \
219         "
220 FILES_puppet-patching += " \
221         ${datadir}/puppet/modules/patching \
222         "
223
224 FILES_puppet-nfv += " \
225         ${datadir}/puppet/modules/nfv \
226         "
227
228 FILES_puppet-mtce = "\
229         ${datadir}/puppet/modules/mtce \
230         "
231
232 FILES_puppet-manifests = "\
233         ${sysconfdir}/puppet/hiera.yaml \
234         ${sysconfdir}/puppet/hieradata \
235         ${sysconfdir}/puppet/hieradata/worker.yaml \
236         ${sysconfdir}/puppet/hieradata/storage.yaml \
237         ${sysconfdir}/puppet/hieradata/global.yaml \
238         ${sysconfdir}/puppet/hieradata/controller.yaml \
239         ${sysconfdir}/puppet/manifests/worker.pp \
240         ${sysconfdir}/puppet/manifests/ansible_bootstrap.pp \
241         ${sysconfdir}/puppet/manifests/bootstrap.pp \
242         ${sysconfdir}/puppet/manifests/runtime.pp \
243         ${sysconfdir}/puppet/manifests/storage.pp \
244         ${sysconfdir}/puppet/manifests/upgrade.pp \
245         ${sysconfdir}/puppet/manifests/controller.pp \
246         ${datadir}/puppet/modules/openstack/manifests \
247         ${datadir}/puppet/modules/openstack/templates \
248         ${datadir}/puppet/modules/platform/manifests \
249         ${datadir}/puppet/modules/platform/templates \
250         ${datadir}/puppet/modules/platform/files \
251         ${datadir}/puppet/modules/platform/lib/facter \
252         ${datadir}/puppet/modules/platform/lib/puppet \
253         ${bindir}/puppet-manifest-apply.sh \
254         ${bindir}/apply_network_config.sh \
255         ${bindir}/apply_network_config_poky.sh \
256         "
257 FILES_puppet-fm += " \
258         ${datadir}/puppet/modules/fm \
259         "
260
261 FILES_puppet-dcorch += " \
262         ${datadir}/puppet/modules/dcorch \
263         "
264
265 FILES_puppet-dcmanager += " \
266         ${datadir}/puppet/modules/dcmanager \
267         "
268
269 FILES_puppet-dcdbsync += " \
270         ${datadir}/puppet/modules/dcdbsync \
271         "
272
273 inherit openssl10