diff --git a/0001-fix-diag-return.patch b/0001-fix-diag-return.patch new file mode 100644 index 0000000000000000000000000000000000000000..cdd706d5a144bf8d935ec30772db063fa107f035 --- /dev/null +++ b/0001-fix-diag-return.patch @@ -0,0 +1,25 @@ +From 8c73f575b7a61b965b173e8267d8a389f48d5190 Mon Sep 17 00:00:00 2001 +From: gitee-cmd +Date: Sun, 26 Sep 2021 22:04:31 +0800 +Subject: [PATCH] fix diag return + +--- + adoctor-cli/adoctor_cli/commands/diag_cmd.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/adoctor-cli/adoctor_cli/commands/diag_cmd.py b/adoctor-cli/adoctor_cli/commands/diag_cmd.py +index fb03a0c..9852a9d 100644 +--- a/adoctor-cli/adoctor_cli/commands/diag_cmd.py ++++ b/adoctor-cli/adoctor_cli/commands/diag_cmd.py +@@ -143,6 +143,7 @@ class DiagCommand(BaseCommand): + } + result = request_without_print('POST', diag_url, pyload, header, params.access_token) + print(pretty_json(result)) ++ return + times -= 1 + print("There is no task can be found in diagnosis scheduler, please try again.") + +-- +2.24.3 (Apple Git-128) + + diff --git a/0002-fix-log-of-task-execution.patch b/0002-fix-log-of-task-execution.patch new file mode 100644 index 0000000000000000000000000000000000000000..7f01e5e76f9abc9ac06bb0a5cfb2209f0f8ab842 --- /dev/null +++ b/0002-fix-log-of-task-execution.patch @@ -0,0 +1,39 @@ +From 5d3a4e2c819d0901994b01f8a33ee0f4fc55fe90 Mon Sep 17 00:00:00 2001 +From: gitee-cmd +Date: Wed, 29 Sep 2021 19:11:28 +0800 +Subject: [PATCH] fix log of task execution + +--- + aops-manager/aops_manager/deploy_manager/view.py | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/aops-manager/aops_manager/deploy_manager/view.py b/aops-manager/aops_manager/deploy_manager/view.py +index 8d6811b..7a68742 100644 +--- a/aops-manager/aops_manager/deploy_manager/view.py ++++ b/aops-manager/aops_manager/deploy_manager/view.py +@@ -195,13 +195,13 @@ class ExecuteTask(Resource): + Args: + inventory(instance): instance of InventoryBuilder + task_id(str): id of a task. +- Returns: +- bool: The execution flag of the task + """ + res = TaskRunner.run_task(task_id, HostKey.key) + inventory.remove_host_vars_in_inventory() +- LOGGER.info("Task %s execution succeed.", task_id) +- return res ++ if res: ++ LOGGER.error("Task %s execution succeeded.", task_id) ++ return ++ LOGGER.error("Task %s execution failed.", task_id) + + + class ImportTemplate(Resource): +@@ -284,3 +284,4 @@ class DeleteTemplate(Resource): + verify_res, 'delete', database_url, args) + + return jsonify(response) ++ +-- +2.30.0 + diff --git a/0003-add-permission-control-in-ragdoll.patch b/0003-add-permission-control-in-ragdoll.patch new file mode 100644 index 0000000000000000000000000000000000000000..8b55f6b490d4af520517d3534a7be83287b95e62 --- /dev/null +++ b/0003-add-permission-control-in-ragdoll.patch @@ -0,0 +1,93 @@ +From d3f717d13d2ea70bdcb31dfcef4f7f163f84660e Mon Sep 17 00:00:00 2001 +From: orange-snn +Date: Wed, 29 Sep 2021 18:44:52 +0800 +Subject: [PATCH] change the attr of the path in ragdoll + +--- + gala-ragdoll/ragdoll/controllers/domain_controller.py | 1 + + gala-ragdoll/ragdoll/controllers/format.py | 1 + + gala-ragdoll/ragdoll/controllers/host_controller.py | 4 ++++ + gala-ragdoll/ragdoll/utils/conf_tools.py | 2 ++ + gala-ragdoll/ragdoll/utils/prepare.py | 1 + + 5 files changed, 9 insertions(+) + +diff --git a/gala-ragdoll/ragdoll/controllers/domain_controller.py b/gala-ragdoll/ragdoll/controllers/domain_controller.py +index ba9c6ce6..3c14dba9 100644 +--- a/gala-ragdoll/ragdoll/controllers/domain_controller.py ++++ b/gala-ragdoll/ragdoll/controllers/domain_controller.py +@@ -46,6 +46,7 @@ def create_domain(body=None): # noqa: E501 + else: + successDomain.append(tempDomainName) + domainPath = os.path.join(TARGETDIR, tempDomainName) ++ os.umask(0o077) + os.mkdir(domainPath) + + if len(failedDomain) == 0: +diff --git a/gala-ragdoll/ragdoll/controllers/format.py b/gala-ragdoll/ragdoll/controllers/format.py +index c302a357..6f03986f 100644 +--- a/gala-ragdoll/ragdoll/controllers/format.py ++++ b/gala-ragdoll/ragdoll/controllers/format.py +@@ -91,6 +91,7 @@ class Format(object): + @staticmethod + def addHostToFile(d_file, host): + info_json = json.dumps(str(host), sort_keys=False, indent=4, separators=(',', ': ')) ++ os.umask(0o077) + with open(d_file, 'a+') as host_file: + host_file.write(info_json) + host_file.write("\n") +diff --git a/gala-ragdoll/ragdoll/controllers/host_controller.py b/gala-ragdoll/ragdoll/controllers/host_controller.py +index 75f767b2..441abde4 100644 +--- a/gala-ragdoll/ragdoll/controllers/host_controller.py ++++ b/gala-ragdoll/ragdoll/controllers/host_controller.py +@@ -143,12 +143,16 @@ def delete_host_in_domain(body=None): # noqa: E501 + codeNum = 500 + base_rsp = BaseResponse(codeNum, "The host delete failed.") + return base_rsp, codeNum ++ codeNum = 200 ++ base_rsp = BaseResponse(codeNum, "All hosts are deleted in the current domain.") ++ return base_rsp, codeNum + + # If the domain exists, check whether the current input parameter host belongs to the corresponding + # domain. If the host is in the domain, the host is deleted. If the host is no longer in the domain, + # the host is added to the failure range + containedInHost = [] + notContainedInHost = [] ++ os.umask(0o077) + for hostInfo in hostInfos: + hostId = hostInfo.host_id + isContained = False +diff --git a/gala-ragdoll/ragdoll/utils/conf_tools.py b/gala-ragdoll/ragdoll/utils/conf_tools.py +index cb051a4a..205f236c 100644 +--- a/gala-ragdoll/ragdoll/utils/conf_tools.py ++++ b/gala-ragdoll/ragdoll/utils/conf_tools.py +@@ -406,6 +406,7 @@ class ConfTools(object): + """ + res = False + cwd = os.getcwd() ++ os.umask(0o077) + if not os.path.exists(self._target_dir): + os.mkdir(self._target_dir) + +@@ -583,6 +584,7 @@ class ConfTools(object): + """ + res = False + path_delete_last = "" ++ os.umask(0o077) + if not os.path.exists(path): + paths = path.split('/') + for d_index in range(0, len(paths) - 1): +diff --git a/gala-ragdoll/ragdoll/utils/prepare.py b/gala-ragdoll/ragdoll/utils/prepare.py +index f8bc7314..a8a06c0a 100644 +--- a/gala-ragdoll/ragdoll/utils/prepare.py ++++ b/gala-ragdoll/ragdoll/utils/prepare.py +@@ -20,6 +20,7 @@ class Prepare(object): + if os.path.exists(self._target_dir): + rest = self.git_init(username, useremail) + return rest ++ os.umask(0o077) + cmd1 = "mkdir -p {}".format(self._target_dir) + git_tools = GitTools(self._target_dir) + mkdir_code = git_tools.run_shell_return_code(cmd1) +-- +Gitee + diff --git a/0004-fix-logos-instructions-and-size.patch b/0004-fix-logos-instructions-and-size.patch new file mode 100644 index 0000000000000000000000000000000000000000..7914659cc5c239219fdefd465db88d0745518c54 --- /dev/null +++ b/0004-fix-logos-instructions-and-size.patch @@ -0,0 +1,55 @@ +From 1e99582df4fd558ed52ee3d3c4b6522b2251000f Mon Sep 17 00:00:00 2001 +From: gitee-cmd +Date: Thu, 30 Sep 2021 09:33:56 +0800 +Subject: [PATCH] fix logos' instructions and size + +--- + aops-web/src/appCore/components/GlobalFooter/index.vue | 2 +- + aops-web/src/appCore/layouts/BasicLayout.vue | 6 +++++- + aops-web/src/appCore/layouts/UserLayout.vue | 1 - + 3 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/aops-web/src/appCore/components/GlobalFooter/index.vue b/aops-web/src/appCore/components/GlobalFooter/index.vue +index 839ddc8..b485907 100644 +--- a/aops-web/src/appCore/components/GlobalFooter/index.vue ++++ b/aops-web/src/appCore/components/GlobalFooter/index.vue +@@ -11,7 +11,7 @@ + + + + + +diff --git a/aops-web/src/appCore/layouts/BasicLayout.vue b/aops-web/src/appCore/layouts/BasicLayout.vue +index e4fd9f8..ca29cdc 100644 +--- a/aops-web/src/appCore/layouts/BasicLayout.vue ++++ b/aops-web/src/appCore/layouts/BasicLayout.vue +@@ -139,6 +139,10 @@ export default { + } + + +- +diff --git a/aops-web/src/appCore/layouts/UserLayout.vue b/aops-web/src/appCore/layouts/UserLayout.vue +index 36826de..15eb79d 100644 +--- a/aops-web/src/appCore/layouts/UserLayout.vue ++++ b/aops-web/src/appCore/layouts/UserLayout.vue +@@ -126,7 +126,6 @@ export default { + .logo { + height: 80px; + vertical-align: top; +- margin-right: 16px; + border-style: none; + } + +-- +2.30.0 + diff --git a/A-Ops-v1.1.1.tar.gz b/A-Ops-v1.1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..db51c158066aba085b3fb80b5386474bf5834f45 Binary files /dev/null and b/A-Ops-v1.1.1.tar.gz differ diff --git a/A-Ops-web-node-modules.tar.gz b/A-Ops-web-node-modules.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3c48ba58f4274e30206ffd0e7afd5347927f5bfa Binary files /dev/null and b/A-Ops-web-node-modules.tar.gz differ diff --git a/A-Ops.spec b/A-Ops.spec new file mode 100644 index 0000000000000000000000000000000000000000..94564449cb06b5e59f80b7313e015c36d93adc75 --- /dev/null +++ b/A-Ops.spec @@ -0,0 +1,561 @@ +Name: A-Ops +Version: v1.1.1 +Release: 5 +Summary: The intelligent ops toolkit for openEuler +License: MulanPSL2 +URL: https://gitee.com/openeuler/A-Ops +Source0: %{name}-%{version}.tar.gz +Source1: A-Ops-web-node-modules.tar.gz +Source2: vertical-left.png +Source3: horizontal-left.png +patch0001: 0001-fix-diag-return.patch +patch0002: 0002-fix-log-of-task-execution.patch +patch0003: 0003-add-permission-control-in-ragdoll.patch +patch0004: 0004-fix-logos-instructions-and-size.patch + + +# build for gopher +BuildRequires: cmake gcc-c++ yum elfutils-devel clang >= 10.0.1 llvm libconfig-devel +BuildRequires: librdkafka-devel libmicrohttpd-devel + +# build for ragdoll & aops basic module +BuildRequires: python3-setuptools python3-connexion python3-werkzeug python3-libyang +BuildRequires: git python3-devel systemd + +# build for spider & aops basic module +BuildRequires: python3-setuptools python3-kafka-python python3-connexion + +# build for web +BuildRequires: nodejs node-gyp nodejs-yarn + +%description +The intelligent ops toolkit for openEuler + + +%package -n aops-utils +Summary: utils for A-Ops +Requires: python3-concurrent-log-handler python3-xmltodict python3-pyyaml python3-marshmallow >= 3.13.0 +Requires: python3-requests python3-xlrd python3-prettytable python3-pygments + +%description -n aops-utils +utils for A-Ops + + +%package -n aops-cli +Summary: cli of A-ops +Requires: aops-utils = %{version}-%{release} + +%description -n aops-cli +commandline tool of aops, offer commands for account management, host management, +host group management, task and template management of ansible. + + +%package -n aops-manager +Summary: manager of A-ops +Requires: aops-utils = %{version}-%{release} ansible >= 2.9.0 +Requires: python3-pyyaml python3-marshmallow >= 3.13.0 python3-flask python3-flask-restful +Requires: python3-requests sshpass python3-uWSGI + +%description -n aops-manager +manager of A-ops, support software deployment and installation, account management, host management, +host group management, task and template management of ansible. + + +%package -n aops-database +Summary: database center of A-ops +Requires: aops-utils = %{version}-%{release} python3-pyyaml +Requires: python3-elasticsearch >= 7 python3-requests python3-werkzeug python3-urllib3 +Requires: python3-flask python3-flask-restful python3-PyMySQL python3-sqlalchemy +Requires: python3-prometheus-api-client python3-uWSGI + +%description -n aops-database +database center of A-ops, offer database proxy of mysql, elasticsearch and prometheus time series database. + + +%package -n adoctor-check-scheduler +Summary: scheduler of A-ops check module +Requires: aops-utils = %{version}-%{release} +Requires: python3-requests python3-flask python3-flask-restful python3-uWSGI python3-kafka-python +Requires: python3-marshmallow >= 3.13.0 python3-Flask-APScheduler >= 1.11.0 + +%description -n adoctor-check-scheduler +Exception detection and scheduling service. Provides an exception detection interface to +manage exception detection tasks. + + +%package -n adoctor-check-executor +Summary: executor of A-ops check module +Requires: aops-utils = %{version}-%{release} +Requires: python3-kafka-python python3-pyyaml python3-marshmallow >= 3.13.0 python3-requests +Requires: python3-ply >= 3.11 + +%description -n adoctor-check-executor +Performs an exception task based on the configured exception detection rule. + + +%package -n adoctor-diag-scheduler +Summary: scheduler of A-ops diag module +Requires: aops-utils = %{version}-%{release} +Requires: python3-requests python3-flask python3-flask-restful python3-uWSGI python3-kafka-python + +%description -n adoctor-diag-scheduler +Scheduler for diagnose module, provides restful interfaces to reply to requests about +importing/exporting diagnose tree, executing diagnose and so on. + + +%package -n adoctor-diag-executor +Summary: executor of A-ops check module +Requires: aops-utils = %{version}-%{release} +Requires: python3-kafka-python + +%description -n adoctor-diag-executor +Executor of diagnose module. Get messages from kafka and do the diagnose tasks. + + +%package -n adoctor-cli +Summary: command line tool of A-doctor +Requires: aops-utils = %{version}-%{release} +Requires: python3-tqdm + +%description -n adoctor-cli +commandline tool of adoctor, offer commands for executing diagnose, importing/exporting diagnose tree, +getting diagnose report, importing/exporting check rule, querying check result and so on. + + +%package -n gala-gopher +Summary: Intelligent ops toolkit for openEuler +Requires: bash glibc elfutils zlib iproute kernel >= 4.18.0-147.5.1.6 elfutils-devel + +%description -n gala-gopher +Intelligent ops toolkit for openEuler + + +%package -n gala-ragdoll +Summary: Configuration traceability + +%description -n gala-ragdoll +Configuration traceability + + +%package -n python3-gala-ragdoll +Summary: python3 pakcage of gala-ragdoll +Requires: gala-ragdoll = %{version}-%{release} python3-flask-testing python3-libyang git +Requires: python3-werkzeug python3-connexion python3-swagger-ui-bundle + +%description -n python3-gala-ragdoll +python3 pakcage of gala-ragdoll + +%package -n gala-spider +Summary: Configuration traceability + +%description -n gala-spider +Configuration traceability + + +%package -n python3-gala-spider +Summary: python3 pakcage of gala-spider +Requires: gala-spider = %{version}-%{release} python3-kafka-python python3-connexion + +%description -n python3-gala-spider +python3 pakcage of gala-spider + + +%package -n aops-web +Summary: website for A-Ops +Requires: nginx + +%description -n aops-web +website for A-Ops, deployed by Nginx + + +%define debug_package %{nil} + +%prep +%setup +%setup -T -D -a 1 +%patch0001 -p1 +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 +cp -r A-Ops-web-node-modules/node_modules aops-web/ +cp -f $RPM_SOURCE_DIR/vertical-left.png aops-web/src/assets/ +cp -f $RPM_SOURCE_DIR/horizontal-left.png aops-web/src/assets/ + +%build +# build for aops-utils +pushd aops-utils +%py3_build +popd + +#build for aops-cli +pushd aops-cli +%py3_build +popd + +#build for aops-manager +pushd aops-manager +%py3_build +popd + +#build for aops-database +pushd aops-database +%py3_build +popd + +#build for adoctor-check-scheduler +pushd adoctor-check-scheduler +%py3_build +popd + +#build for adoctor-check-executor +pushd adoctor-check-executor +%py3_build +popd + +#build for adoctor-diag-scheduler +pushd adoctor-diag-scheduler +%py3_build +popd + +#build for adoctor-diag-executor +pushd adoctor-diag-executor +%py3_build +popd + +#build for adoctor-cli +pushd adoctor-cli +%py3_build +popd + + +#build for gala-gopher +pushd gala-gopher +sh build.sh build +popd + +#build for gala-ragdoll +pushd gala-ragdoll +%py3_build +popd + +#build for gala-spider +pushd gala-spider +%py3_build +popd + +#build for aops-web +pushd aops-web +yarn build +popd + + +%install +# install for utils +pushd aops-utils +%py3_install +popd + +# install for cli +pushd aops-cli +%py3_install +popd + +# install for manager +pushd aops-manager +%py3_install +mkdir -p %{buildroot}/%{python3_sitelib}/aops_manager/deploy_manager/ansible_handler +cp -r aops_manager/deploy_manager/ansible_handler/* %{buildroot}/%{python3_sitelib}/aops_manager/deploy_manager/ansible_handler +mkdir -p %{buildroot}/%{python3_sitelib}/aops_manager/deploy_manager/tasks +cp -r aops_manager/deploy_manager/tasks/* %{buildroot}/%{python3_sitelib}/aops_manager/deploy_manager/tasks +popd + +# install for database +pushd aops-database +%py3_install +popd + +# install for adoctor-check-scheduler +pushd adoctor-check-scheduler +%py3_install +popd + +# install for adoctor-check-executor +pushd adoctor-check-executor +%py3_install +popd + +# install for adoctor-diag-scheduler +pushd adoctor-diag-scheduler +%py3_install +popd + +# install for adoctor-diag-executor +pushd adoctor-diag-executor +%py3_install +popd + +# install for adoctor-cli +pushd adoctor-cli +%py3_install +popd + + +# install for web +pushd aops-web +mkdir -p %{buildroot}/opt/aops_web +cp -r dist %{buildroot}/opt/aops_web/ +mkdir -p %{buildroot}/%{_sysconfdir}/nginx +cp -r deploy/aops-nginx.conf %{buildroot}/%{_sysconfdir}/nginx/ +mkdir -p %{buildroot}/usr/lib/systemd/system +cp -r deploy/aops-web.service %{buildroot}/usr/lib/systemd/system/ +popd + +#install for gala-gopher +pushd gala-gopher +install -d %{buildroot}/opt/gala-gopher +install -d %{buildroot}%{_bindir} +mkdir -p %{buildroot}/usr/lib/systemd/system +install -m 0600 service/gala-gopher.service %{buildroot}/usr/lib/systemd/system/gala-gopher.service +sh install.sh %{buildroot}%{_bindir} %{buildroot}/opt/gala-gopher +popd + +#install for gala-ragdoll +pushd gala-ragdoll +%py3_install +install yang_modules/*.yang %{buildroot}/%{python3_sitelib}/yang_modules/ +mkdir -p %{buildroot}/%{_sysconfdir}/ragdoll +install config/*.conf %{buildroot}/%{_sysconfdir}/ragdoll/ +mkdir %{buildroot}/%{python3_sitelib}/ragdoll/config +install config/*.conf %{buildroot}/%{python3_sitelib}/ragdoll/config +mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system +install service/gala-ragdoll.service %{buildroot}/%{_prefix}/lib/systemd/system +popd + +#install for gala-spider +pushd gala-spider +%py3_install +mkdir -p %{buildroot}/%{_sysconfdir}/spider +install config/*.conf %{buildroot}/%{_sysconfdir}/spider/ +mkdir %{buildroot}/%{python3_sitelib}/spider/config +install config/*.conf %{buildroot}/%{python3_sitelib}/spider/config +mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system +install service/gala-spider.service %{buildroot}/%{_prefix}/lib/systemd/system +mkdir -p %{buildroot}/%{_tmppath}/spider +popd + + +%post -n gala-gopher +%systemd_post gala-gopher.service + +%preun -n gala-gopher +%systemd_preun gala-gopher.service + +%postun -n gala-gopher +%systemd_postun_with_restart gala-gopher.service + + +%pre -n python3-gala-ragdoll +if [ -f "%{systemd_dir}/gala-ragdoll.service" ] ; then + systemctl enable gala-ragdoll.service || : +fi + +%post -n python3-gala-ragdoll +%systemd_post gala-ragdoll.service + +%preun -n python3-gala-ragdoll +%systemd_preun gala-ragdoll.service + +%postun -n python3-gala-ragdoll +%systemd_postun gala-ragdoll.service + +%pre -n python3-gala-spider +if [ -f "%{systemd_dir}/gala-spider.service" ] ; then + systemctl enable gala-spider.service || : +fi + +%post -n python3-gala-spider +%systemd_post gala-spider.service + +%preun -n python3-gala-spider +%systemd_preun gala-spider.service + +%postun -n python3-gala-spider +%systemd_postun gala-spider.service + +%files -n aops-utils +%doc README.* +%attr(0644,root,root) %{_sysconfdir}/aops/system.ini +%{python3_sitelib}/aops_utils*.egg-info +%{python3_sitelib}/aops_utils/* +%attr(0755,root,root) %{_bindir}/aops-utils + + +%files -n aops-cli +%attr(0755,root,root) %{_bindir}/aops +%{python3_sitelib}/aops_cli*.egg-info +%{python3_sitelib}/aops_cli/* + + +%files -n aops-manager +%attr(0644,root,root) %{_sysconfdir}/aops/manager.ini +%attr(0755,root,root) %{_bindir}/aops-manager +%attr(0755,root,root) %{_unitdir}/aops-manager.service +%{python3_sitelib}/aops_manager*.egg-info +%{python3_sitelib}/aops_manager/* + + +%files -n aops-database +%attr(0644,root,root) %{_sysconfdir}/aops/database.ini +%attr(0644,root,root) %{_sysconfdir}/aops/default.json +%attr(0755,root,root) %{_unitdir}/aops-database.service +%attr(0755,root,root) %{_bindir}/aops-database +%attr(0755,root,root) %{_bindir}/aops-basedatabase +%{python3_sitelib}/aops_database*.egg-info +%{python3_sitelib}/aops_database/* + + +%files -n adoctor-check-scheduler +%attr(0644,root,root) %{_sysconfdir}/aops/check_scheduler.ini +%attr(0755,root,root) %{_unitdir}/adoctor-check-scheduler.service +%attr(0755,root,root) %{_bindir}/adoctor-check-scheduler +%{python3_sitelib}/adoctor_check_scheduler*.egg-info +%{python3_sitelib}/adoctor_check_scheduler/* + + +%files -n adoctor-check-executor +%attr(0644,root,root) %{_sysconfdir}/aops/check_executor.ini +%attr(0644,root,root) %{_sysconfdir}/aops/check_rule_plugin.yml +%attr(0755,root,root) %{_unitdir}/adoctor-check-executor.service +%attr(0755,root,root) %{_bindir}/adoctor-check-executor +%{python3_sitelib}/adoctor_check_executor*.egg-info +%{python3_sitelib}/adoctor_check_executor/* + + +%files -n adoctor-diag-scheduler +%attr(0644,root,root) %{_sysconfdir}/aops/diag_scheduler.ini +%attr(0755,root,root) %{_unitdir}/adoctor-diag-scheduler.service +%attr(0755,root,root) %{_bindir}/adoctor-diag-scheduler +%{python3_sitelib}/adoctor_diag_scheduler*.egg-info +%{python3_sitelib}/adoctor_diag_scheduler/* + + +%files -n adoctor-diag-executor +%attr(0644,root,root) %{_sysconfdir}/aops/diag_executor.ini +%attr(0755,root,root) %{_unitdir}/adoctor-diag-executor.service +%attr(0755,root,root) %{_bindir}/adoctor-diag-executor +%{python3_sitelib}/adoctor_diag_executor*.egg-info +%{python3_sitelib}/adoctor_diag_executor/* + + +%files -n adoctor-cli +%attr(0755,root,root) %{_bindir}/adoctor +%{python3_sitelib}/adoctor_cli*.egg-info +%{python3_sitelib}/adoctor_cli/* + + +%files -n gala-gopher +%defattr(-,root,root) +%dir /opt/gala-gopher +%dir /opt/gala-gopher/extend_probes +%dir /opt/gala-gopher/meta +%{_bindir}/gala-gopher +%config(noreplace) /opt/gala-gopher/gala-gopher.conf +/opt/gala-gopher/extend_probes/* +/opt/gala-gopher/meta/* +/usr/lib/systemd/system/gala-gopher.service + + +%files -n gala-ragdoll +%doc gala-ragdoll/doc/* +%license gala-ragdoll/LICENSE +/%{_sysconfdir}/ragdoll/gala-ragdoll.conf +%{_bindir}/ragdoll +%{_prefix}/lib/systemd/system/gala-ragdoll.service + + +%files -n python3-gala-ragdoll +%{python3_sitelib}/ragdoll/* +%{python3_sitelib}/yang_modules +%{python3_sitelib}/ragdoll-*.egg-info + + +%files -n gala-spider +%doc gala-spider/doc/* +%license gala-spider/LICENSE +/%{_sysconfdir}/spider/gala-spider.conf +%{_bindir}/spider +%{_prefix}/lib/systemd/system/gala-spider.service +%dir %{_tmppath}/spider + + +%files -n python3-gala-spider +%{python3_sitelib}/spider/* +%{python3_sitelib}/spider-*.egg-info + + +%files -n aops-web +%attr(0755, root, root) /opt/aops_web/dist/* +%attr(0755, root, root) %{_sysconfdir}/nginx/aops-nginx.conf +%attr(0755, root, root) %{_unitdir}/aops-web.service + + +%changelog +* Thu Sep 30 2021 chemingdao - v1.1.1-5 +- Using image source overwrite instead of patching image binaries. + +* Wed Sep 29 2021 chemingdao - v1.1.1-4 +- switch logo images and modify logo size. + +* Wed Sep 29 2021 orange-snn - v1.1.1-3 +- add permission control in ragdoll. + +* Wed Sep 29 2021 chemingdao - v1.1.1-2 +- fix log info of the task execution. + +* Sun Sep 26 2021 chemingdao - v1.1.1-1 +- New release 1.1.1, bug fix and new features. +- 1. Web issues fix: display fix and domain management modification. +- 2. Fix cli display issues and add loading bar of diag. +- 3. Fix return of gala-ragdoll. +- 4. Fix log level. +- 5. haproxy probe with vport info. + +* Sat Sep 18 2021 zhuyuncheng - v1.1.0-2 +- add missed file and better cli output + +* Fri Sep 17 2021 chemingdao - v1.1.0-1 +- New release 1.1.0, bug fix and UI beautify. +- 1. Simplify gala-spider UI display. +- 2. Beautify cli print with table and highlight json. +- 3. Bug fix: now support check with management host. +- 4. Modify elasticsearch and fluentd default config. + +* Thu Sep 16 2021 chemingdao - v1.0.3-1 +- NEW release 1.0.3. + +* Mon Sep 13 2021 chemingdao - v1.0.2-3 +- modify spec for aops-web build and fix some issues. + +* Sat Sep 11 2021 yangyunyi - v1.0.2-2 +- modify ansible playbook + +* Tue Sep 7 2021 zhaoyuxing - v1.0.2-1 +- add gala-spider in spec + +* Mon Sep 6 2021 Yiru Wang - v1.0.1-2 +- add web build modle of the aops + +* Mon Sep 6 2021 Lostwayzxc - v1.0.1-1 +- update src, add intelligent check and diagnosis module + +* Thu Sep 2 2021 zhaoyuxing - 1.0.0-4 +- add service file in gala-spider + +* Wed Sep 1 2021 orange-snn - 1.0.0-3 +- add service file in gala-ragdoll + +* Tue Aug 24 2021 zhu-yuncheng - 1.0.0-2 +- Update spec + +* Sat Jul 31 2021 orange-snn - 1.0.0-1 +- Package init diff --git a/horizontal-left.png b/horizontal-left.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7b8af86025b8f27fa3b2539300b24a0487895f Binary files /dev/null and b/horizontal-left.png differ diff --git a/vertical-left.png b/vertical-left.png new file mode 100644 index 0000000000000000000000000000000000000000..6dbfd7c9e0d1ebe0b1eb6c811f978dcac1c593d6 Binary files /dev/null and b/vertical-left.png differ