2 ## Copyright (C) 2019 Wind River Systems, Inc.
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
8 # http://www.apache.org/licenses/LICENSE-2.0
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.
16 DESCRIPTION = "StarlingX distributedcloud packages collection"
17 HOMEPAGE = "https://opendev.org/starlingx"
19 LICENSE = "Apache-2.0"
20 LIC_FILES_CHKSUM = "file://distributedcloud/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
25 SRCREV = "8329259704a5becd036663fc7de9b7a61f4bc27e"
26 PV = "1.0.0+git${SRCPV}"
30 git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
34 # 1 - Patch service unit files to create the following directories:
38 # python-jsonschema >= 2.0.0
39 # python-keystoneauth1 >= 3.1.0
41 # python-pecan >= 1.0.0
42 # python-routes >= 1.12.3
44 PACKAGES += "distributedcloud-dcmanager"
45 PACKAGES += "distributedcloud-dcorch"
46 PACKAGES += "distributedcloud-dcdbsync"
47 PACKAGES += "distributedcloud-ocf"
48 DESCRIPTION_distributedcloud-dcmanager = "Distributed Cloud Manager"
49 DESCRIPTION_distributedcloud-dcorch = "Distributed Cloud Orchestrator"
50 DESCRIPTION_distributedcloud-dcdbsync = "DC DCorch DBsync Agent"
63 python-keystonemiddleware \
64 python-keystoneauth1 \
66 python-oslo.concurrency \
72 python-oslo.messaging \
73 python-oslo.middleware \
75 python-oslo.rootwrap \
76 python-oslo.serialization \
79 python-oslo.versionedobjects \
87 distributedcloud-ocf \
91 # python-sphinxcontrib-httpdomain
93 RDEPENDS_distributedcloud-dcmanager += " ${ALL_RDEPENDS}"
94 RDEPENDS_distributedcloud-dcorch += " ${ALL_RDEPENDS}"
95 RDEPENDS_distributedcloud-dcdbsync+= " ${ALL_RDEPENDS}"
98 inherit distutils python-dir
101 cd ${S}/distributedcloud
102 distutils_do_configure
106 cd ${S}/distributedcloud
111 cd ${S}/distributedcloud
114 SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
117 install -d -m 0755 ${D}/var/log/dcmanager
118 install -d -m 0755 ${D}/var/cache/dcmanager
119 install -d -m 0755 ${D}/${sysconfdir}/dcmanager
120 install -d -m 0755 ${D}/${sysconfdir}/tempfiles.d
121 install -d -m 0755 ${D}/${datadir}/starlingx/distrbutedcloud-config-files/
122 install -d -m 0755 ${D}/${systemd_system_unitdir}
123 install -d -m 0755 ${D}/opt/dc/ansible
125 # Install systemd unit files
126 install -p -D -m 0644 centos/files/dcmanager-api.service ${D}/${systemd_system_unitdir}/
127 install -p -D -m 0644 centos/files/dcmanager-manager.service ${D}/${systemd_system_unitdir}/
128 install -p -D -m 0755 centos/files/dcmanager.conf ${D}/${sysconfdir}/tempfiles.d
130 # Install default config files
131 # defer postinst_ontarget
132 install -p -m 0644 dcmanager//config-generator.conf ${D}/${SRCPATH}/dcmanager-config-generator.conf
135 install -d -m 0755 ${D}/var/log/dcorch
136 install -d -m 0755 ${D}/var/cache/dcorch
137 install -d -m 0755 ${D}/${sysconfdir}/dcorch
139 # Install systemd unit files
140 install -p -D -m0644 centos/files/dcorch-api.service ${D}/${systemd_system_unitdir}/
141 install -p -D -m0644 centos/files/dcorch-engine.service ${D}/${systemd_system_unitdir}/
142 install -p -D -m0644 centos/files/dcorch-sysinv-api-proxy.service ${D}/${systemd_system_unitdir}/
143 install -p -D -m0644 centos/files/dcorch-snmp.service ${D}/${systemd_system_unitdir}/
144 install -p -D -m0644 centos/files/dcorch-identity-api-proxy.service ${D}/${systemd_system_unitdir}/
145 install -p -D -m0644 centos/files/dcorch.conf ${D}/${sysconfdir}/tempfiles.d
147 # Install ocf scripts
148 install -d -m 0755 ${D}/${libdir}/ocf/resource.d/openstack/ocf
152 ocf/dcmanager-manager \
153 ocf/dcorch-cinder-api-proxy \
155 ocf/dcorch-identity-api-proxy \
156 ocf/dcorch-neutron-api-proxy \
157 ocf/dcorch-nova-api-proxy \
158 ocf/dcorch-patch-api-proxy \
160 ocf/dcorch-sysinv-api-proxy ${D}/${libdir}/ocf/resource.d/openstack/
162 # Install default config files
163 # defer postinst_ontarget
164 install -p -m 0644 dcorch/config-generator.conf ${D}/${SRCPATH}/dcorch-config-generator.conf
167 install -d -m 755 ${D}/var/log/dcdbsync
168 install -d -m 755 ${D}/var/cache/dcdbsync
169 install -d -m 755 ${D}/${sysconfdir}/dcdbsync/
171 # Install systemd unit files
172 install -p -D -m 644 centos/files/dcdbsync-api.service ${D}/${systemd_system_unitdir}/dcdbsync-api.service
173 # ???? CheckInstall systemd unit files for optional second instance
174 install -p -D -m 644 centos/files/dcdbsync-openstack-api.service ${D}/${systemd_system_unitdir}/dcdbsync-openstack-api.service
175 install -p -D -m 644 centos/files/dcdbsync.conf ${D}/${sysconfdir}/tmpfiles.d
177 # Install default config files
178 # defer postinst_ontarget
179 install -p -m 0644 dcdbsync/config-generator.conf ${D}/${SRCPATH}/dcdbsync-config-generator.conf
183 pkg_postinst_ontarget_distributedcloud-dcmanager() {
184 SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
185 oslo-config-generator --config-file ${SRCPATH}/dcmanager-config-generator.conf \
186 --output-file ${sysconfdir}/dcmanager/dcmanager.conf.sample
189 pkg_postinst_ontarget_distributedcloud-dcorch() {
190 SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
191 oslo-config-generator --config-file ${SRCPATH}/dcorch-config-generator.conf \
192 --output-file ${sysconfdir}/dcorch/dcorch.conf.sample
196 pkg_postinst_ontarget_distributedcloud-dcdbsync() {
197 SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
198 oslo-config-generator --config-file ${SRCPATH}/dcdbsync-config-generator.conf \
199 --output-file ${sysconfdir}/dcdbsync/dcdbsync.conf.sample
209 FILES_distributedcloud-ocf = " \
210 ${libdir}/ocf/resource.d/openstack \
213 FILES_distributedcloud-dcdbsync = " \
214 ${PYTHON_SITEPACKAGES_DIR}/dcdbsync \
215 ${PYTHON_SITEPACKAGES_DIR}/dcdbsync-*.egg.info \
216 /var/cache/dcdbsync \
217 /var/volatile/log/dcdbsync \
218 ${bindir}/dcdbsync-api \
219 ${systemd_system_unitdir}/dcdbsync-api.service \
220 ${systemd_system_unitdir}/dcdbsync-openstack-api.service \
221 ${sysconfdir}/dcdbsync/ \
222 ${datadir}/starlingx/distrbutedcloud-config-files/dcdbsync-config-generator.conf \
225 FILES_distributedcloud-dcorch = " \
226 ${PYTHON_SITEPACKAGES_DIR}/dcorch \
227 ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
228 ${bindir}/dcorch-api \
229 ${systemd_system_unitdir}/dcorch-api.service \
230 ${bindir}/dcorch-engine \
231 ${systemd_system_unitdir}/dcorch-engine.service \
232 ${bindir}/dcorch-api-proxy \
233 ${systemd_system_unitdir}/dcorch-sysinv-api-proxy.service \
234 ${systemd_system_unitdir}/dcorch-identity-api-proxy.service \
235 ${bindir}/dcorch-manage \
236 ${bindir}/dcorch-snmp \
237 ${systemd_system_unitdir}/dcorch-snmp.service \
238 ${sysconfdir}/tempfiles.d/dcorch.conf \
240 ${sysconfdir}/dcorch \
241 ${datadir}/starlingx/distrbutedcloud-config-files/dcorch-config-generator.conf \
244 FILES_distributedcloud-dcmanager = " \
245 ${PYTHON_SITEPACKAGES_DIR}/dcmanager \
246 ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
247 ${bindir}/dcmanager-api \
248 ${systemd_system_unitdir}/dcmanager-api.service \
249 ${bindir}/dcmanager-manager \
250 ${systemd_system_unitdir}/dcmanager-manager.service \
251 ${bindir}/dcmanager-manage \
252 ${sysconfdir}/tmpfiles.d/dcmanager.conf \
253 /var/cache/dcmanager \
254 ${sysconfdir}/dcmanager \
255 ${sysconfdir}/tempfiles.d/dcmanager.conf \
257 ${datadir}/starlingx/distrbutedcloud-config-files/dcmanager-config-generator.conf \