34fbb25b2732b2d412ee6cfbb20996c070e943d9
[pti/rtp.git] / meta-stx / recipes-core / stx-config / sysinv.inc
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 PACKAGES += " sysinv"
17
18 RDEPENDS_sysinv += " python"
19 RDEPENDS_sysinv += " bash"
20
21 inherit setuptools distutils python-dir systemd
22
23 DEPENDS += " \
24         python-pbr-native \
25         "
26 RDEPENDS_sysinv += " \
27         python-anyjson \
28         python-amqp \
29         python-amqplib \
30         python-passlib \
31         python-websockify \
32         python-pyparted \
33         python-boto3 \
34         python-botocore \
35         python-coverage \
36         python-docker \
37         python-eventlet \
38         python-ipaddr \
39         python-keyring \
40         python-kubernetes \
41         python-netaddr \
42         python-pyudev \
43         python-pbr \
44         python-webtest \
45         python-wsme \
46         python-six \
47         python-django \
48         python-mox3 \
49         python-oslo.i18n \
50         python-oslo.config \
51         python-oslo.concurrency \
52         python-oslo.db \
53         python-oslo.log \
54         python-oslo.utils \
55         python-pecan \
56         python2-rpm \
57         python-pyghmi \
58         python-paramiko \
59         tsconfig \
60         resource-agents \
61         gptfdisk \
62         "
63
64 do_configure_append() {
65         echo "Configure sysinv..."
66         cd ${S}/sysinv/sysinv/sysinv
67         distutils_do_configure
68
69
70 do_compile_append() {
71         
72         echo "Building sysinv..."
73         cd ${S}/sysinv/sysinv/sysinv
74         distutils_do_compile
75 }
76
77 do_install_append() {
78
79         echo "Installing sysinv..."
80         cd ${S}/sysinv/sysinv/sysinv
81         distutils_do_install
82
83         install -d -m 755 ${D}${sysconfdir}/goenabled.d
84         install -p -D -m 755 etc/sysinv/sysinv_goenabled_check.sh ${D}${sysconfdir}/goenabled.d/sysinv_goenabled_check.sh
85         
86         install -d -m 755 ${D}${sysconfdir}/sysinv
87         install -p -D -m 755 etc/sysinv/policy.json ${D}${sysconfdir}/sysinv/policy.json
88         install -p -D -m 640 etc/sysinv/profileSchema.xsd ${D}${sysconfdir}/sysinv/profileSchema.xsd
89         
90         install -p -D -m 644 etc/sysinv/crushmap-storage-model.txt ${D}${sysconfdir}/sysinv/crushmap-storage-model.txt
91         install -p -D -m 644 etc/sysinv/crushmap-controller-model.txt ${D}${sysconfdir}/sysinv/crushmap-controller-model.txt
92         install -p -D -m 644 etc/sysinv/crushmap-aio-sx.txt ${D}${sysconfdir}/sysinv/crushmap-aio-sx.txt
93         
94         install -d -m 755 ${D}${sysconfdir}/motd.d
95         install -p -D -m 755 etc/sysinv/motd-system ${D}${sysconfdir}/motd.d/10-system
96         
97         install -d -m 755 ${D}${sysconfdir}/sysinv/upgrades
98         install -p -D -m 755 etc/sysinv/delete_load.sh ${D}${sysconfdir}/sysinv/upgrades/delete_load.sh
99         
100         install -m 755 -p -D scripts/sysinv-api ${D}/usr/lib/ocf/resource.d/platform/sysinv-api
101         install -m 755 -p -D scripts/sysinv-conductor ${D}/usr/lib/ocf/resource.d/platform/sysinv-conductor
102         
103         install -m 644 -p -D scripts/sysinv-api.service ${D}${systemd_system_unitdir}/sysinv-api.service
104         install -m 644 -p -D scripts/sysinv-conductor.service ${D}${systemd_system_unitdir}/sysinv-conductor.service
105         
106         #install -p -D -m 755 ${D}/usr/bin/sysinv-api ${D}/usr/bin/sysinv-api
107         #install -p -D -m 755 ${D}/usr/bin/sysinv-agent ${D}/usr/bin/sysinv-agent
108         #install -p -D -m 755 ${D}/usr/bin/sysinv-conductor ${D}/usr/bin/sysinv-conductor
109         
110         install -d -m 755 ${D}${bindir}/
111         install -p -D -m 755 sysinv/cmd/partition_info.sh ${D}${bindir}/partition_info.sh
112         install -p -D -m 755 sysinv/cmd/manage-partitions ${D}${bindir}/manage-partitions
113         install -p -D -m 755 sysinv/cmd/query_pci_id ${D}${bindir}/query_pci_id
114
115         sed -i -e 's|/usr/local/bin|${bindir}|' \
116                 ${D}${libdir}/python2.7/site-packages/sysinv/common/constants.py \
117                 ${D}${libdir}/python2.7/site-packages/sysinv/puppet/common.py
118 }
119
120 FILES_sysinv = " \
121         ${bindir}/sysinv-agent \
122         ${bindir}/sysinv-utils \
123         ${bindir}/sysinv-conductor \
124         ${bindir}/sysinv-api \
125         ${bindir}/sysinv-helm \
126         ${bindir}/sysinv-dbsync \
127         ${bindir}/sysinv-dnsmasq-lease-update \
128         ${bindir}/sysinv-puppet \
129         ${bindir}/sysinv-rootwrap \
130         ${bindir}/sysinv-upgrade \
131         ${PYTHON_SITEPACKAGES_DIR}/sysinv/ \
132         ${bindir}/manage-partitions \
133         ${bindir}/query_pci_id \
134         ${bindir}/partition_info.sh \
135         ${libdir}/ocf \
136         ${libdir}/ocf/resource.d \
137         ${libdir}/ocf/resource.d/platform \
138         ${libdir}/ocf/resource.d/platform/sysinv-conductor \
139         ${libdir}/ocf/resource.d/platform/sysinv-api \
140         ${sysconfdir}/motd.d \
141         ${sysconfdir}/sysinv \
142         ${sysconfdir}/motd.d/10-system \
143         ${sysconfdir}/sysinv/profileSchema.xsd \
144         ${sysconfdir}/sysinv/crushmap-controller-model.txt \
145         ${sysconfdir}/sysinv/crushmap-storage-model.txt \
146         ${sysconfdir}/sysinv/crushmap-aio-sx.txt \
147         ${sysconfdir}/sysinv/policy.json \
148         ${sysconfdir}/sysinv/upgrades \
149         ${sysconfdir}/sysinv/upgrades/delete_load.sh \
150         ${sysconfdir}/goenabled.d/sysinv_goenabled_check.sh \
151         ${systemd_system_unitdir}/sysinv-api.service \
152         ${systemd_system_unitdir}/sysinv-conductor.service \
153         "
154
155 #pkg_postinst_ontarget_sysinv() {
156 #}