diff --git a/README.en.md b/README.en.md index 6ee1551b05dd3abc30abb515ab05d1128b3ab7f3..65f3b91c186d53094b82a7ea8b6d8e6c1a57202a 100644 --- a/README.en.md +++ b/README.en.md @@ -1,3 +1,36 @@ # openstack-aodh -OpenStack services are exclusively released in the openEuler LTS version. Please refer to other Multi-Version branches for the Spec source code. +#### Description +OpenStack Telemetry Alarming + +#### Software Architecture +Software architecture description + +#### Installation + +1. xxxx +2. xxxx +3. xxxx + +#### Instructions + +1. xxxx +2. xxxx +3. xxxx + +#### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + + +#### Gitee Feature + +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index fd6b46ca5abb30245fef4f0543c223a45cd29f4b..b3fc92de8411939c6ae86b4bc3667b74b4ae2392 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,37 @@ # openstack-aodh -openstack服务只在openEuler LTS版本发布,Spec源码请参考其他Multi-Version分支。 +#### 介绍 +OpenStack Telemetry Alarming + +#### 软件架构 +软件架构说明 + + +#### 安装教程 + +1. xxxx +2. xxxx +3. xxxx + +#### 使用说明 + +1. xxxx +2. xxxx +3. xxxx + +#### 参与贡献 + +1. Fork 本仓库 +2. 新建 Feat_xxx 分支 +3. 提交代码 +4. 新建 Pull Request + + +#### 特技 + +1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md +2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) +3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 +4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 +5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) +6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/aodh-16.0.0.tar.gz b/aodh-16.0.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f863b3d5d1d0f9cf234f837a7cf6b57a244408f7 Binary files /dev/null and b/aodh-16.0.0.tar.gz differ diff --git a/aodh-dist.conf b/aodh-dist.conf new file mode 100644 index 0000000000000000000000000000000000000000..8104f43a503cd6d149e4aa502bfb0a23aa229ed7 --- /dev/null +++ b/aodh-dist.conf @@ -0,0 +1,4 @@ +[DEFAULT] +log_dir = /var/log/aodh +use_stderr = False + diff --git a/aodh.logrotate b/aodh.logrotate new file mode 100644 index 0000000000000000000000000000000000000000..150d8c36f7abc5e0fa361b2b8a90637ce8e25913 --- /dev/null +++ b/aodh.logrotate @@ -0,0 +1,10 @@ +compress + +/var/log/aodh/*.log { + weekly + rotate 4 + size 10M + missingok + compress + minsize 100k +} diff --git a/openstack-aodh-api.service b/openstack-aodh-api.service new file mode 100644 index 0000000000000000000000000000000000000000..29db38264066d34b3847b8484aee7e54c1a1ef85 --- /dev/null +++ b/openstack-aodh-api.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Alarm API service +After=syslog.target network.target + +[Service] +Type=simple +User=aodh +ExecStart=/usr/bin/aodh-api -- --logfile /var/log/aodh/api.log +Restart=on-failure + +[Install] +WantedBy=multi-user.target + diff --git a/openstack-aodh-evaluator.service b/openstack-aodh-evaluator.service new file mode 100644 index 0000000000000000000000000000000000000000..4f7043150f22983ab9dcfb01f6383f5adc6916c6 --- /dev/null +++ b/openstack-aodh-evaluator.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Alarm evaluator service +After=syslog.target network.target + +[Service] +Type=simple +User=aodh +ExecStart=/usr/bin/aodh-evaluator --logfile /var/log/aodh/evaluator.log +Restart=on-failure + +[Install] +WantedBy=multi-user.target + diff --git a/openstack-aodh-expirer.service b/openstack-aodh-expirer.service new file mode 100644 index 0000000000000000000000000000000000000000..cc68b1babb1e6e0a8376202dab3f18d5b9be744f --- /dev/null +++ b/openstack-aodh-expirer.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Alarm expirer service +After=syslog.target network.target + +[Service] +Type=simple +User=aodh +ExecStart=/usr/bin/aodh-expirer --logfile /var/log/aodh/expirer.log +Restart=on-failure + +[Install] +WantedBy=multi-user.target + diff --git a/openstack-aodh-listener.service b/openstack-aodh-listener.service new file mode 100644 index 0000000000000000000000000000000000000000..a024fe37563d10a219018636027b4c3f636d724b --- /dev/null +++ b/openstack-aodh-listener.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Alarm listener service +After=syslog.target network.target + +[Service] +Type=simple +User=aodh +ExecStart=/usr/bin/aodh-listener --logfile /var/log/aodh/listener.log +Restart=on-failure + +[Install] +WantedBy=multi-user.target + diff --git a/openstack-aodh-notifier.service b/openstack-aodh-notifier.service new file mode 100644 index 0000000000000000000000000000000000000000..d6135d7ee48d379fc9a4263d1b4980a89b8e2f77 --- /dev/null +++ b/openstack-aodh-notifier.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Alarm notifier service +After=syslog.target network.target + +[Service] +Type=simple +User=aodh +ExecStart=/usr/bin/aodh-notifier --logfile /var/log/aodh/notifier.log +Restart=on-failure + +[Install] +WantedBy=multi-user.target + diff --git a/openstack-aodh.spec b/openstack-aodh.spec new file mode 100644 index 0000000000000000000000000000000000000000..a017048aaeb72b0089e187439bd6a00106bdaf76 --- /dev/null +++ b/openstack-aodh.spec @@ -0,0 +1,349 @@ +%global service aodh +%{!?upstream_version: %global upstream_version %{version}%{?milestone}} +%global common_desc OpenStack %{service} provides API and services for managing alarms. + +Name: openstack-%{service} +Version: 16.0.0 +Release: 1 +Summary: OpenStack Telemetry Alarming +License: ASL 2.0 +URL: https://github.com/openstack/%{service}.git +Source0: https://tarballs.openstack.org/%{service}/%{service}-%{upstream_version}.tar.gz + +Source1: %{service}-dist.conf +Source2: %{service}.logrotate +Source10: %{name}-api.service +Source11: %{name}-evaluator.service +Source12: %{name}-notifier.service +Source13: %{name}-expirer.service +Source14: %{name}-listener.service +BuildArch: noarch + +BuildRequires: openstack-macros +BuildRequires: python3-setuptools +BuildRequires: python3-devel +BuildRequires: systemd +BuildRequires: python3-pbr +BuildRequires: python3-sphinx +BuildRequires: python3-cotyledon +BuildRequires: python3-babel +BuildRequires: python3-pymongo + +%description +Aodh is the alarm engine of the Ceilometer project. + +%package compat +Summary: OpenStack %{service} compat + +Provides: openstack-ceilometer-alarm = %{version}-%{release} +Obsoletes: openstack-ceilometer-alarm < 1:6.0.0 + +Requires: python3-aodh +Requires: %{name}-common +Requires: %{name}-api +Requires: %{name}-evaluator +Requires: %{name}-notifier +Requires: %{name}-expirer +Requires: %{name}-listener + +%description compat +This package only exists to help transition openstack-ceilometer-alarm users +to the new package split. It will be removed after one distribution release +cycle, please do not reference it or depend on it in any way. + +%package -n python3-%{service} +Summary: OpenStack %{service} python libraries +%{?python_provide:%python_provide python3-%{service}} + +Requires: python3-pytz +Requires: python3-croniter +Requires: python3-jsonschema +Requires: python3-alembic >= 0.7.2 +Requires: python3-cachetools >= 1.1.6 +Requires: python3-cotyledon +Requires: python3-futurist >= 0.11.0 +Requires: python3-oslo-config >= 6.8.0 +Requires: python3-oslo-db >= 4.8.0 +Requires: python3-oslo-i18n >= 1.5.0 +Requires: python3-oslo-log >= 4.3.0 +Requires: python3-oslo-policy >= 3.6.0 +Requires: python3-oslo-messaging >= 5.2.0 +Requires: python3-oslo-middleware >= 3.22.0 +Requires: python3-oslo-upgradecheck >= 1.3.0 +Requires: python3-keystonemiddleware >= 5.1.0 +Requires: python3-pbr +Requires: python3-pecan >= 0.8.0 +Requires: python3-stevedore >= 1.5.0 +Requires: python3-sqlalchemy +Requires: python3-requests >= 2.5.2 +Requires: python3-tenacity >= 3.2.1 +Requires: python3-tooz >= 1.28.0 +Requires: python3-webob +Requires: python3-wsme >= 0.8 +Requires: python3-dateutil +Requires: python3-gnocchiclient >= 3.1.0 +Requires: python3-keystoneclient >= 1.6.0 +Requires: python3-heatclient >= 1.17.0 +Requires: python3-keystoneauth1 >= 2.1 +Requires: python3-octaviaclient +Requires: python3-debtcollector +Requires: python3-voluptuous >= 0.8.10 +Requires: python3-pysnmp +Requires: python3-lxml +Requires: python3-paste-deploy +Requires: python3-oslo-context >= 2.22.0 + +%description -n python3-%{service} +%{common_desc} + +This package contains the %{service} python library. + +%package common +Summary: Components common to all OpenStack %{service} services + +BuildRequires: python3-oslo-config >= 6.8.0 +BuildRequires: python3-oslo-context +BuildRequires: python3-oslo-db +BuildRequires: python3-oslo-log +BuildRequires: python3-oslo-messaging +BuildRequires: python3-oslo-policy +BuildRequires: python3-oslo-reports +BuildRequires: python3-oslo-upgradecheck >= 0.1.1 +BuildRequires: python3-oslo-vmware >= 0.6.0 +BuildRequires: python3-glanceclient >= 2.0.0 +BuildRequires: python3-heatclient +BuildRequires: python3-keystonemiddleware +BuildRequires: python3-neutronclient +BuildRequires: python3-novaclient >= 2.29.0 +BuildRequires: python3-swiftclient +BuildRequires: python3-croniter +BuildRequires: python3-jsonpath-rw-ext +BuildRequires: python3-pecan >= 1.0.0 +BuildRequires: python3-tooz +BuildRequires: python3-wsme >= 0.7 +BuildRequires: python3-dateutil +BuildRequires: python3-gnocchiclient >= 3.1.0 +BuildRequires: python3-octaviaclient +BuildRequires: python3-jsonpath-rw +BuildRequires: python3-lxml + +Requires: python3-aodh = %{version}-%{release} +Requires: python3-oslo-utils >= 3.5.0 + +%{?systemd_requires} +Requires(pre): shadow-utils + +%description common +%{common_desc} + +%package api + +Summary: OpenStack %{service} API + +Requires: %{name}-common = %{version}-%{release} + +%description api +%{common_desc} + +This package contains the %{service} API service. + +%package evaluator + +Summary: OpenStack %{service} evaluator + +Requires: %{name}-common = %{version}-%{release} + +%description evaluator +%{common_desc} + +This package contains the %{service} evaluator service. + +%package notifier + +Summary: OpenStack %{service} notifier + +Requires: %{name}-common = %{version}-%{release} + +%description notifier +%{common_desc} + +This package contains the %{service} notifier service. + +%package listener + +Summary: OpenStack %{service} listener + +Requires: %{name}-common = %{version}-%{release} + +%description listener +%{common_desc} + +This package contains the %{service} listener service. + +%package expirer + +Summary: OpenStack %{service} expirer + +Requires: %{name}-common = %{version}-%{release} + +%description expirer +%{common_desc} + +This package contains the %{service} expirer service. + +%package -n python3-%{service}-tests +Summary: Aodh tests +%{?python_provide:%python_provide python3-%{service}-tests} +Requires: python3-aodh = %{version}-%{release} +Requires: python3-gabbi >= 1.30.0 + +%description -n python3-%{service}-tests +%{common_desc} + +This package contains the %{service} test files. + +%prep +%setup -q -n %{service}-%{upstream_version} + +find . \( -name .gitignore -o -name .placeholder \) -delete + +find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + + +sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py +sed -i '/^\"PO-Revision-Date: \\n\"/d' %{service}/locale/*/LC_MESSAGES/*.po + +%py_req_cleanup + +%build +PYTHONPATH=. oslo-config-generator --config-file=%{service}/cmd/%{service}-config-generator.conf --output-file=%{service}/%{service}.conf +%{py3_build} +%{__python3} setup.py compile_catalog -d build/lib/%{service}/locale --domain aodh +while read name eq value; do + test "$name" && test "$value" || continue + sed -i "0,/^# *$name=/{s!^# *$name=.*!#$name=$value!}" %{service}/%{service}.conf +done < %{SOURCE1} + +%install +%{py3_install} + +install -d -m 755 %{buildroot}%{_sysconfdir}/%{service} +install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/%{service}/%{service}-dist.conf +install -p -D -m 640 %{service}/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf + +install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service} +install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service}/tmp +install -d -m 750 %{buildroot}%{_localstatedir}/log/%{service} + +install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} + +install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/%{name}-api.service +install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}-evaluator.service +install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/%{name}-notifier.service +install -p -D -m 644 %{SOURCE13} %{buildroot}%{_unitdir}/%{name}-expirer.service +install -p -D -m 644 %{SOURCE14} %{buildroot}%{_unitdir}/%{name}-listener.service + +install -d -m 755 %{buildroot}%{_datadir} +rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*/LC_*/%{service}*po +rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*pot +mv %{buildroot}%{python3_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale + +%find_lang %{service} --all-name + +rm -fr %{buildroot}/usr/etc + +%pre common +getent group %{service} >/dev/null || groupadd -r %{service} +if ! getent passwd %{service} >/dev/null; then + useradd -r -g %{service} -G %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin -c "OpenStack %{service} Daemons" %{service} +fi +exit 0 + +%post -n %{name}-api +%systemd_post %{name}-api.service + +%preun -n %{name}-api +%systemd_preun %{name}-api.service + +%post -n %{name}-evaluator +%systemd_post %{name}-evaluator.service + +%preun -n %{name}-evaluator +%systemd_preun %{name}-evaluator.service + +%post -n %{name}-notifier +%systemd_post %{name}-notifier.service + +%preun -n %{name}-notifier +%systemd_preun %{name}-notifier.service + +%post -n %{name}-listener +%systemd_post %{name}-listener.service + +%preun -n %{name}-listener +%systemd_preun %{name}-listener.service + +%post -n %{name}-expirer +%systemd_post %{name}-expirer.service + +%preun -n %{name}-expirer +%systemd_preun %{name}-expirer.service + +%files compat + +%files -n python3-%{service} +%{python3_sitelib}/%{service} +%{python3_sitelib}/%{service}-*.egg-info +%license LICENSE +%exclude %{python3_sitelib}/%{service}/tests + +%files -n python3-%{service}-tests +%license LICENSE +%{python3_sitelib}/%{service}/tests + +%files common -f %{service}.lang +%doc README.rst +%dir %{_sysconfdir}/%{service} +%attr(-, root, %{service}) %{_datadir}/%{service}/%{service}-dist.conf +%config(noreplace) %attr(-, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%dir %attr(0750, %{service}, root) %{_localstatedir}/log/%{service} +%{_bindir}/%{service}-dbsync +%{_bindir}/%{service}-config-generator +%{_bindir}/%{service}-status + +%defattr(-, %{service}, %{service}, -) +%dir %{_sharedstatedir}/%{service} +%dir %{_sharedstatedir}/%{service}/tmp + +%files api +%{_bindir}/%{service}-api +%{_unitdir}/%{name}-api.service + +%files evaluator +%{_bindir}/%{service}-evaluator +%{_unitdir}/%{name}-evaluator.service + +%files notifier +%{_bindir}/%{service}-notifier +%{_unitdir}/%{name}-notifier.service + +%files listener +%{_bindir}/%{service}-listener +%{_unitdir}/%{name}-listener.service + +%files expirer +%{_bindir}/%{service}-expirer +%{_unitdir}/%{name}-expirer.service + +%changelog +* Thu Apr 18 2024 wangjing - 16.0.0-1 +- update package of version 16.0.0 + +* Mon Jul 18 2022 OpenStack_SIG - 14.0.0-1 +- Upgrade package to version 14.0.0 + +* Tue Mar 15 2022 lijiawei -12.0.0-2 +- Remove the dependency on python3-ceilometerclient + +* Mon Feb 14 2022 zhangy -12.0.0-1 +- Init packages.