Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-flock / stx-distributedcloud / distributedcloud_git.bb
1 DESCRIPTION = "StarlingX distributedcloud packages collection"
2 HOMEPAGE = "https://opendev.org/starlingx"
3 SECTION = "network"
4 LICENSE = "Apache-2.0"
5 LIC_FILES_CHKSUM = "file://distributedcloud/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6
7 PROTOCOL = "https"
8 BRANCH = "r/stx.3.0"
9 SRCNAME = "distcloud"
10 SRCREV = "8329259704a5becd036663fc7de9b7a61f4bc27e"
11 PV = "1.0.0+git${SRCPV}"
12 S = "${WORKDIR}/git"
13
14 SRC_URI = " \
15         git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
16         "
17
18 PACKAGES += "distributedcloud-dcmanager"
19 PACKAGES += "distributedcloud-dcorch"
20 PACKAGES += "distributedcloud-dcdbsync"
21 PACKAGES += "distributedcloud-ocf"
22 DESCRIPTION_distributedcloud-dcmanager = "Distributed Cloud Manager"
23 DESCRIPTION_distributedcloud-dcorch = "Distributed Cloud Orchestrator"
24 DESCRIPTION_distributedcloud-dcdbsync = "DC DCorch DBsync Agent"
25
26 DEPENDS += " \
27         python-pbr-native \
28         "
29
30 ALL_RDEPENDS = " \
31         python-pycrypto \
32         python-cryptography \
33         python-eventlet \
34         python-setuptools \
35         python-jsonschema \
36         python-keyring \
37         python-keystonemiddleware \
38         python-keystoneauth1 \
39         python-netaddr \
40         python-oslo.concurrency \
41         python-oslo.config \
42         python-oslo.context \
43         python-oslo.db \
44         python-oslo.i18n \
45         python-oslo.log \
46         python-oslo.messaging \
47         python-oslo.middleware \
48         python-oslo.policy \
49         python-oslo.rootwrap \
50         python-oslo.serialization \
51         python-oslo.service \
52         python-oslo.utils \
53         python-oslo.versionedobjects \
54         python-pbr \
55         python-pecan \
56         python-routes \
57         python-sphinx \
58         python-pyopenssl \
59         systemd \
60         python-babel \
61         distributedcloud-ocf \
62         "
63 # TODO: 
64 # Check dependencies
65 #       python-sphinxcontrib-httpdomain
66
67 RDEPENDS_distributedcloud-dcmanager  += "  ${ALL_RDEPENDS}"
68 RDEPENDS_distributedcloud-dcorch += "  ${ALL_RDEPENDS}"
69 RDEPENDS_distributedcloud-dcdbsync+= " ${ALL_RDEPENDS}"
70         
71
72 inherit distutils python-dir
73
74 do_configure() {
75         cd ${S}/distributedcloud
76         distutils_do_configure
77 }
78
79 do_compile() {
80         cd ${S}/distributedcloud
81         distutils_do_compile
82 }
83
84 do_install() {
85         cd ${S}/distributedcloud
86         distutils_do_install
87
88         SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
89
90         # dcmanager
91         install -d -m 0755 ${D}/var/log/dcmanager
92         install -d -m 0755 ${D}/var/cache/dcmanager
93         install -d -m 0755 ${D}/${sysconfdir}/dcmanager
94         install -d -m 0755 ${D}/${sysconfdir}/tempfiles.d
95         install -d -m 0755 ${D}/${datadir}/starlingx/distrbutedcloud-config-files/
96         install -d -m 0755 ${D}/${systemd_system_unitdir}
97         install -d -m 0755 ${D}/opt/dc/ansible
98
99         # Install systemd unit files
100         install -p -D -m 0644 centos/files/dcmanager-api.service ${D}/${systemd_system_unitdir}/
101         install -p -D -m 0644 centos/files/dcmanager-manager.service ${D}/${systemd_system_unitdir}/
102         install -p -D -m 0755 centos/files/dcmanager.conf ${D}/${sysconfdir}/tempfiles.d
103
104         # Install default config files
105         # defer postinst_ontarget
106         install -p -m 0644 dcmanager//config-generator.conf ${D}/${SRCPATH}/dcmanager-config-generator.conf
107
108         # dcorch
109         install -d -m 0755 ${D}/var/log/dcorch
110         install -d -m 0755 ${D}/var/cache/dcorch
111         install -d -m 0755 ${D}/${sysconfdir}/dcorch
112
113         # Install systemd unit files
114         install -p -D -m0644 centos/files/dcorch-api.service ${D}/${systemd_system_unitdir}/
115         install -p -D -m0644 centos/files/dcorch-engine.service ${D}/${systemd_system_unitdir}/
116         install -p -D -m0644 centos/files/dcorch-sysinv-api-proxy.service ${D}/${systemd_system_unitdir}/
117         install -p -D -m0644 centos/files/dcorch-snmp.service ${D}/${systemd_system_unitdir}/
118         install -p -D -m0644 centos/files/dcorch-identity-api-proxy.service ${D}/${systemd_system_unitdir}/
119         install -p -D -m0644 centos/files/dcorch.conf ${D}/${sysconfdir}/tempfiles.d
120
121         # Install ocf scripts
122         install -d -m 0755 ${D}/${libdir}/ocf/resource.d/openstack/ocf
123         install -m 0644 \
124                 ocf/dcdbsync-api \
125                 ocf/dcmanager-api \
126                 ocf/dcmanager-manager \
127                 ocf/dcorch-cinder-api-proxy \
128                 ocf/dcorch-engine \
129                 ocf/dcorch-identity-api-proxy \
130                 ocf/dcorch-neutron-api-proxy \
131                 ocf/dcorch-nova-api-proxy \
132                 ocf/dcorch-patch-api-proxy \
133                 ocf/dcorch-snmp \
134                 ocf/dcorch-sysinv-api-proxy ${D}/${libdir}/ocf/resource.d/openstack/
135
136         # Install default config files
137         # defer postinst_ontarget
138         install -p -m 0644 dcorch/config-generator.conf ${D}/${SRCPATH}/dcorch-config-generator.conf
139
140         # dc dbsync agent
141         install -d -m 755 ${D}/var/log/dcdbsync
142         install -d -m 755 ${D}/var/cache/dcdbsync
143         install -d -m 755 ${D}/${sysconfdir}/dcdbsync/
144
145         # Install systemd unit files
146         install -p -D -m 644 centos/files/dcdbsync-api.service ${D}/${systemd_system_unitdir}/dcdbsync-api.service
147         # ???? CheckInstall systemd unit files for optional second instance
148         install -p -D -m 644 centos/files/dcdbsync-openstack-api.service ${D}/${systemd_system_unitdir}/dcdbsync-openstack-api.service
149         install -p -D -m 644 centos/files/dcdbsync.conf  ${D}/${sysconfdir}/tmpfiles.d
150
151         # Install default config files
152         # defer postinst_ontarget
153         install -p -m 0644 dcdbsync/config-generator.conf ${D}/${SRCPATH}/dcdbsync-config-generator.conf
154 }
155
156
157 pkg_postinst_ontarget_distributedcloud-dcmanager() {
158         SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
159         oslo-config-generator --config-file ${SRCPATH}/dcmanager-config-generator.conf \
160                 --output-file ${sysconfdir}/dcmanager/dcmanager.conf.sample
161 }
162
163 pkg_postinst_ontarget_distributedcloud-dcorch() {
164         SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
165         oslo-config-generator --config-file ${SRCPATH}/dcorch-config-generator.conf \
166                 --output-file ${sysconfdir}/dcorch/dcorch.conf.sample
167 }
168
169
170 pkg_postinst_ontarget_distributedcloud-dcdbsync() {
171         SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
172         oslo-config-generator --config-file ${SRCPATH}/dcdbsync-config-generator.conf \
173                 --output-file ${sysconfdir}/dcdbsync/dcdbsync.conf.sample
174 }
175
176 FILES_${PN} = " \
177   /var/volatile \
178   /var/log \
179   /var/volatile/log \
180   /etc/tmpfiles.d \
181   "
182
183 FILES_distributedcloud-ocf = " \
184         ${libdir}/ocf/resource.d/openstack  \
185         "
186
187 FILES_distributedcloud-dcdbsync = " \
188         ${PYTHON_SITEPACKAGES_DIR}/dcdbsync \
189         ${PYTHON_SITEPACKAGES_DIR}/dcdbsync-*.egg.info \
190         /var/cache/dcdbsync \
191         /var/volatile/log/dcdbsync \
192         ${bindir}/dcdbsync-api \
193         ${systemd_system_unitdir}/dcdbsync-api.service \
194         ${systemd_system_unitdir}/dcdbsync-openstack-api.service \
195         ${sysconfdir}/dcdbsync/ \
196         ${datadir}/starlingx/distrbutedcloud-config-files/dcdbsync-config-generator.conf \
197         "
198
199 FILES_distributedcloud-dcorch = " \
200         ${PYTHON_SITEPACKAGES_DIR}/dcorch \
201         ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
202         ${bindir}/dcorch-api \
203         ${systemd_system_unitdir}/dcorch-api.service \
204         ${bindir}/dcorch-engine \
205         ${systemd_system_unitdir}/dcorch-engine.service \
206         ${bindir}/dcorch-api-proxy \
207         ${systemd_system_unitdir}/dcorch-sysinv-api-proxy.service \
208         ${systemd_system_unitdir}/dcorch-identity-api-proxy.service \
209         ${bindir}/dcorch-manage \
210         ${bindir}/dcorch-snmp \
211         ${systemd_system_unitdir}/dcorch-snmp.service \
212         ${sysconfdir}/tempfiles.d/dcorch.conf \
213         /var/cache/dcorch \
214         ${sysconfdir}/dcorch \
215         ${datadir}/starlingx/distrbutedcloud-config-files/dcorch-config-generator.conf \
216         "
217
218 FILES_distributedcloud-dcmanager = " \
219         ${PYTHON_SITEPACKAGES_DIR}/dcmanager \
220         ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
221         ${bindir}/dcmanager-api \
222         ${systemd_system_unitdir}/dcmanager-api.service \
223         ${bindir}/dcmanager-manager \
224         ${systemd_system_unitdir}/dcmanager-manager.service \
225         ${bindir}/dcmanager-manage \
226         ${sysconfdir}/tmpfiles.d/dcmanager.conf \
227         /var/cache/dcmanager \
228         ${sysconfdir}/dcmanager \
229         ${sysconfdir}/tempfiles.d/dcmanager.conf \
230         /opt/dc/ansible  \
231         ${datadir}/starlingx/distrbutedcloud-config-files/dcmanager-config-generator.conf \
232         "