Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
systemsmanagement:Ardana:8:CentOS:7.5
ardana-monasca-transform
ardana-monasca-transform-8.0+git.1571845965.977...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ardana-monasca-transform-8.0+git.1571845965.97714fb.obscpio of Package ardana-monasca-transform
07070100000000000081A40000000000000000000000015DB0774D00000075000000000000000000000000000000000000003F00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/.gitignore.vagrant *.sw? .tox *.egg *.egg-info .testrepository *.pyc .project .pydevproject .settings/* .settings *.iml .idea 07070100000001000081A40000000000000000000000015DB0774D0000008D000000000000000000000000000000000000003F00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/.gitreview[gerrit] host=gerrit.suse.provo.cloud port=29418 project=ardana/monasca-transform-ansible.git defaultremote=ardana defaultbranch=stable/pike 07070100000002000081A40000000000000000000000015DB0774D0000000C000000000000000000000000000000000000004200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/.rsync-filter- ardana-ci 07070100000003000081A40000000000000000000000015DB0774D0000279F000000000000000000000000000000000000003C00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/LICENSE Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. 07070100000004000081A40000000000000000000000015DB0774D0000049C000000000000000000000000000000000000003E00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/README.md<!-- (c) Copyright 2016 Hewlett Packard Enterprise Development LP (c) Copyright 2017 SUSE LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> MONASCA-TRANSFORM-ANSIBLE ========================= This repo contains the following roles - MON-TRA: Monasca-transform service The verbs: - configure - configure the service/role - install - install the service/role - start - start the service/role - stop - stop the service/role The operations: - deploy - deploy the service (install, configure and start) - upgrade - upgrade the service (install new packages, re-configure, re-start) - reconfigure - re-configure the service, re-start 07070100000005000081A40000000000000000000000015DB0774D000002ED000000000000000000000000000000000000005C00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/_monasca-transform-schedule-restart.yml# # (c) Copyright 2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- # Schedule a restart of all monasca-transform services # using ardana_notify_... variables - hosts: all tasks: - include: roles/MON-TRA/tasks/_schedule_restart.yml07070100000006000041ED0000000000000000000000045DB0774D00000000000000000000000000000000000000000000003E00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci07070100000007000041ED0000000000000000000000035DB0774D00000000000000000000000000000000000000000000004600000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/project07070100000008000041ED0000000000000000000000035DB0774D00000000000000000000000000000000000000000000005200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/project/input-model07070100000009000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000005700000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/project/input-model/data0707010000000A000081A40000000000000000000000015DB0774D00000CBB000000000000000000000000000000000000006900000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/project/input-model/data/control_plane.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- product: version: 2 control-planes: - name: ccp control-plane-prefix: ccp region-name: region1 failure-zones: - AZ1 - AZ2 - AZ3 common-service-components: - lifecycle-manager-target - monasca-agent clusters: - name: cluster0 cluster-prefix: c0 server-role: - SERVER1-ROLE member-count: 1 allocation-policy: strict service-components: - lifecycle-manager - tempest - ntp-client # Required for testing in (run-test.sh) - openstack-client - name: cluster1 cluster-prefix: c1 server-role: - SERVER2-ROLE member-count: 1 allocation-policy: strict service-components: - ntp-client # Monasca server - kafka - zookeeper - vertica - monasca-api - monasca-persister - spark - monasca-transform - name: cluster2 cluster-prefix: c2 server-role: - SERVER3-ROLE member-count: 1 allocation-policy: strict service-components: - ntp-server - mysql - rabbitmq - keystone-api - name: cluster3 cluster-prefix: c3 server-role: - SERVER4-ROLE - SERVER5-ROLE - SERVER6-ROLE member-count: 1 allocation-policy: strict service-components: - ntp-client - ip-cluster - glance-api: ha_mode: false glance_stores: 'file' glance_default_store: 'file' - glance-registry - nova-api - nova-scheduler - nova-conductor - nova-console-auth - nova-novncproxy - neutron-server - neutron-ml2-plugin - neutron-vpn-agent - neutron-dhcp-agent - neutron-metadata-agent - neutron-openvswitch-agent resources: - name: resource resource-prefix: res server-role: - SERVER7-ROLE allocation-policy: any service-components: - ntp-client - nova-compute-kvm - nova-compute - neutron-l3-agent - neutron-metadata-agent - neutron-openvswitch-agent - neutron-lbaasv2-agent 0707010000000B000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests0707010000000C000081A40000000000000000000000015DB0774D000004A3000000000000000000000000000000000000005300000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests/test-plan.yaml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # - name: Validate monasca-transform-up logfile: testsuite-test_up.log exec: - validate-monasca-transform-up.bash - name: Validate stop-start monasca-transform logfile: testsuite-test_stop-start.log exec: - validate-monasca-transform-stop-start.bash - name: Validate monasca-transform-upgrade logfile: testsuite-test_upgrade.log exec: - validate-monasca-transform-upgrade.bash - name: Validate monasca-transform-reconfigure logfile: testsuite-test_reconfigure.log exec: - validate-monasca-transform-reconfigure.bash0707010000000D000081ED0000000000000000000000015DB0774D00000402000000000000000000000000000000000000005500000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests/update-conf.bash#!/bin/bash # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # set -vxe echo "Changing $1 in $2" pushd ~/openstack/my_cloud/config sed -e "$1" -i "$2" --follow-symlinks git add -A git commit --allow-empty -m "My Config Change" pushd ~/openstack/ardana/ansible/ ansible-playbook -i hosts/localhost config-processor-run.yml -e encrypt="" \ -e rekey="" ansible-playbook -i hosts/localhost ready-deployment.yml popd popd 0707010000000E000081ED0000000000000000000000015DB0774D00000465000000000000000000000000000000000000007000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests/validate-monasca-transform-reconfigure.bash#!/bin/bash # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ansible-playbook -i hosts/verb_hosts monasca-transform-reconfigure.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform reconfigure" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi ansible-playbook -i hosts/verb_hosts monasca-transform-status.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Status is $MONASCA_TRANSFORM_STATUS" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi 0707010000000F000081ED0000000000000000000000015DB0774D00000635000000000000000000000000000000000000006F00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests/validate-monasca-transform-stop-start.bash#!/bin/bash # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ansible-playbook -i hosts/verb_hosts monasca-transform-stop.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Stop" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi ansible-playbook -i hosts/verb_hosts monasca-transform-status.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Status is $MONASCA_TRANSFORM_STATUS" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Fail" exit 1 else echo "Ok" fi ansible-playbook -i hosts/verb_hosts monasca-transform-start.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Start" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi ansible-playbook -i hosts/verb_hosts monasca-transform-status.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Status is $MONASCA_TRANSFORM_STATUS" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi07070100000010000081ED0000000000000000000000015DB0774D00000385000000000000000000000000000000000000006700000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests/validate-monasca-transform-up.bash#!/bin/bash # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ansible-playbook -i hosts/verb_hosts monasca-transform-status.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Status is $MONASCA_TRANSFORM_STATUS" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi 07070100000011000081ED0000000000000000000000015DB0774D0000045D000000000000000000000000000000000000006C00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/ardana-ci/tests/validate-monasca-transform-upgrade.bash#!/bin/bash # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # ansible-playbook -i hosts/verb_hosts monasca-transform-upgrade.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform upgrade" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi ansible-playbook -i hosts/verb_hosts monasca-transform-status.yml MONASCA_TRANSFORM_STATUS=$? echo "Monasca-transform Service Status is $MONASCA_TRANSFORM_STATUS" if [ $MONASCA_TRANSFORM_STATUS -eq 0 ] then echo "Ok" else echo "Fail" exit 1 fi 07070100000012000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000003B00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/config07070100000013000081A40000000000000000000000015DB0774D00000417000000000000000000000000000000000000005A00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/config/monasca-transform-symlinks.yml# # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # # The following relative symlinks are created under the # my_cloud/config directory. --- symlinks: "monasca-transform/monasca-transform.conf.j2": "roles/MON-TRA/templates/monasca-transform.conf.j2" "monasca-transform/pre_transform_specs.json.j2": "roles/MON-TRA/templates/pre_transform_specs.json.j2" "monasca-transform/transform_specs.json.j2": "roles/MON-TRA/templates/transform_specs.json.j2" 07070100000014000081A40000000000000000000000015DB0774D000003C2000000000000000000000000000000000000006200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-deploy-monitoring-agent.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - hosts: MON-TRA roles: - {role: monasca-agent, run_mode: Use} - MON-TRA tasks: - include: roles/MON-TRA/tasks/monasca_configure.yml # Creating monitoring checks for monasca-transform Services # Monitoring checks need service to be running for which # to be created ande hence need to run post start. 07070100000015000081A40000000000000000000000015DB0774D0000057D000000000000000000000000000000000000005900000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-deploy-service.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- # get the admin project details for the service configuration - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/discover_admin_project.yml ansible_python_interpreter: > {{ KEY_CLI.vars.keystone_client_python_interpreter }} - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/install.yml - include: roles/MON-TRA/tasks/configure.yml # task delegated to kafka node as kafka deploys the script required - include: roles/MON-TRA/tasks/create_kafka_topics.yml - include: roles/MON-TRA/tasks/start.yml # Creating monitoring checks for monasca-transform Services # Monitoring checks need service to be running for which # to be created ande hence need to run post start. 07070100000016000081A40000000000000000000000015DB0774D000003C6000000000000000000000000000000000000005100000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-deploy.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - include: pbstart.yml vars: playbook_name: "monasca-transform-deploy.yml" # deploy the service - include: monasca-transform-deploy-service.yml # deploy the monitoring agent - include: monasca-transform-deploy-monitoring-agent.yml - include: pbfinish.yml vars: playbook_name: "monasca-transform-deploy.yml" 07070100000017000081A40000000000000000000000015DB0774D0000044D000000000000000000000000000000000000005600000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-reconfigure.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- # get the admin project details for the service configuration - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/discover_admin_project.yml ansible_python_interpreter: > {{ KEY_CLI.vars.keystone_client_python_interpreter }} - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/stop.yml - include: roles/MON-TRA/tasks/configure.yml - include: roles/MON-TRA/tasks/start.yml07070100000018000081A40000000000000000000000015DB0774D0000029F000000000000000000000000000000000000005200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-restart.yml# # (c) Copyright 2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - include: _monasca-transform-schedule-restart.yml - include: monasca-transform-start.yml 07070100000019000081A40000000000000000000000015DB0774D000002E0000000000000000000000000000000000000005000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-start.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/start.yml0707010000001A000081A40000000000000000000000015DB0774D000002FA000000000000000000000000000000000000005100000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-status.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - hosts: MON-TRA max_fail_percentage: 0 roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/status.yml0707010000001B000081A40000000000000000000000015DB0774D000002DF000000000000000000000000000000000000004F00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-stop.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/stop.yml0707010000001C000081A40000000000000000000000015DB0774D0000041D000000000000000000000000000000000000005200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/monasca-transform-upgrade.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- # get the admin project details for the service configuration - hosts: MON-TRA roles: - MON-TRA tasks: - include: roles/MON-TRA/tasks/discover_admin_project.yml ansible_python_interpreter: > {{ KEY_CLI.vars.keystone_client_python_interpreter }} - hosts: MON-TRA roles: - {role: monasca-agent, run_mode: Use} - MON-TRA tasks: - include: roles/MON-TRA/tasks/upgrade.yml0707010000001D000041ED0000000000000000000000035DB0774D00000000000000000000000000000000000000000000003A00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles0707010000001E000041ED0000000000000000000000085DB0774D00000000000000000000000000000000000000000000004200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA0707010000001F000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004B00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/defaults07070100000020000081A40000000000000000000000015DB0774D0000142D000000000000000000000000000000000000005400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/defaults/main.yml# # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- mon_tra_component_name: "monasca-transform" mon_tra_spark_component_name: "spark" mon_tra_spark_group_name: "spark" mon_tra_app_dir: "/opt/monasca/{{ mon_tra_component_name }}" mon_tra_configuration_file: "monasca-transform.conf" mon_tra_service_name: "monasca-transform" mon_tra_monasca_run_dir: "/var/run/monasca" mon_tra_service_run_dir: "{{ mon_tra_monasca_run_dir }}/{{ mon_tra_component_name }}" mon_tra_service_pid_file: "{{ mon_tra_service_run_dir }}/{{ mon_tra_service_name }}.pid" mon_tra_monasca_log_dir: "/var/log/monasca" mon_tra_service_log_dir: "{{ mon_tra_monasca_log_dir }}/{{ mon_tra_component_name }}" mon_tra_service_log_filename: "{{ mon_tra_component_name }}.log" mon_tra_event_logging_enabled: "false" mon_tra_service_user: "monasca-transform" mon_tra_service_group: "{{ mon_tra_service_user }}" mon_tra_monasca_group: "monasca" mon_tra_service_start_levels: "2 3 4 5" mon_tra_virtualenv_location: "/opt/stack/service/monasca-transform/venv/" mon_tra_service_dir: "{{ mon_tra_app_dir }}/lib" mon_tra_tools_dir: "{{ mon_tra_app_dir }}/tools" mon_tra_service_file: "service_runner.py" mon_tra_bin_dir: "{{ mon_tra_component_name | bin_dir() }}" mon_tra_lib_dir: "{{ mon_tra_component_name | jar_dir() }}" mon_tra_zip_filename: monasca_transform.zip mon_tra_admin_project: "{{ KEY_API.vars.keystone_admin_tenant }}" mon_tra_region: "region1" mon_tra_keystone_url: "{{ MON_TRA.consumes_KEY_API.vips.private[0].url }}/v3" mon_tra_keystone_admin: "{{ KEY_API.vars.keystone_admin_user }}" mon_tra_keystone_admin_project: "{{ KEY_API.vars.keystone_admin_tenant }}" mon_tra_keystone_admin_password: "{{ KEY_API.vars.keystone_admin_pwd | quote }}" mon_tra_keystone_default_domain_name: "{{ KEY_API.vars.keystone_default_domain }}" # the following value will be populated in the 'discover_admin_tenant' play # in time for the 'configure' where the config template is processed mon_tra_admin_project_id: "{{ mon_tra_project_result.result.id }}" mon_tra_stream_interval: 600 mon_tra_kafka_target_host: "{{ groups[verb_hosts.FND_KFK][0] }}" mon_tra_kafka_nodes: "{{ MON_TRA.consumes_FND_KFK.members.private }}" mon_tra_kafka_node_count: "{{ MON_TRA.consumes_FND_KFK.members.private | length }}" mon_tra_kafka_replicas: "{% if mon_tra_kafka_node_count | int > 3 %}3{% else %}{{ mon_tra_kafka_node_count }}{% endif %}" mon_tra_kafka_brokers: "{% for node in mon_tra_kafka_nodes %}{{ node.host }}:{{ node.port }}{% if not loop.last %},{% endif %}{% endfor %}" mon_tra_zookeeper_nodes: "{{ MON_TRA.consumes_FND_ZOO.members.private }}" mon_tra_zookeeper_hosts: "{% for node in mon_tra_zookeeper_nodes %}{{ node.host }}:{{ node.port }}{% if not loop.last %},{% endif %}{% endfor %}" mon_tra_spark_masters: "{% for node in FND_SPA.members.master %}{{ node.host }}:{{ node.port }}{% if not loop.last %},{% endif %}{% endfor %}" mon_tra_spark_home: "{%- if deployer_media_legacy_layout|bool -%} {{ mon_tra_spark_component_name | bin_dir() }}/../current {%- else -%} /usr/share/spark {%- endif -%}" mon_tra_jdbc_server_type: "{%- if deployer_media_legacy_layout|bool -%} mysql:thin {%- else -%} mysql {%- endif -%}" # systemd mon_tra_systemd_service: /etc/systemd/system/monasca-transform.service mon_tra_init_dir: /etc/monasca/transform/init # database related vars mon_tra_database_root_dir: "{{ mon_tra_app_dir }}/schema_files" mon_tra_mysql_user: "{{ MON_TRA.consumes_FND_MDB.vars.mysql_monasca_transform_user }}" mon_tra_mysql_password: "{{ MON_TRA.consumes_FND_MDB.vars.mysql_monasca_transform_password }}" mon_tra_mysql_target_host: "{{ MON_TRA.consumes_FND_MDB.vips.private[0].host }}" # specs source mon_tra_specs_source_dir: /etc/monasca/transform # database ssl mon_tra_db_use_ssl: "{{ MON_TRA.consumes_FND_MDB.vips.private[0].use_tls }}" mon_tra_ca_file: "{{ trusted_ca_bundle }}" # schema and data to populate mon_tra_schema_file: "{{ mon_tra_database_root_dir }}/monasca-transform_mysql.sql" mon_tra_pre_transform_specs_file: "{{ mon_tra_database_root_dir }}/pre_transform_specs.sql" mon_tra_transform_specs_file: "{{ mon_tra_database_root_dir }}/transform_specs.sql" # monitoring mon_tra_agent_detection_plugin_dir: "{{ monasca_agent_detection_plugin_dir }}" mon_tra_deferred_start_monitored_processes: - "pyspark" - "org.apache.spark.executor.CoarseGrainedExecutorBackend" 07070100000021000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004800000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files07070100000022000081A40000000000000000000000015DB0774D000005A0000000000000000000000000000000000000006200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/MonascaTransformDetect.py# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # import logging import monasca_setup.detection log = logging.getLogger(__name__) class MonascaTransformDetect(monasca_setup.detection.ServicePlugin): """Detect Monasca Transform daemons and setup configuration to monitor them.""" def __init__(self, template_dir, overwrite=True, args=None): log.info("\tWatching the monasca transform processes.") service_params = { 'args': {}, 'template_dir': template_dir, 'overwrite': overwrite, 'service_name': 'monasca-transform', 'process_names': [ 'monasca-transform', 'pyspark', 'org.apache.spark.executor.CoarseGrainedExecutorBackend'] } super(MonascaTransformDetect, self).__init__(service_params) 07070100000023000081ED0000000000000000000000015DB0774D000002DD000000000000000000000000000000000000006000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/create_ghost_process.sh# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #!/usr/bin/env bash echo Ghosting process for $1, duration $2 bash ghost_process.sh $1 $2 & 07070100000024000081A40000000000000000000000015DB0774D00000DA8000000000000000000000000000000000000005800000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/generate_ddl.py# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # """Generator for ddl -t type of output to generate - either 'pre_transform_spec' or 'transform_spec' -o output path -i path to template file """ import getopt import json import os.path import sys class Generator(object): key_name = None def generate(self, template_path, source_json_path, output_path): print("Generating content at %s with template at %s, using key %s" % ( output_path, template_path, self.key_name)) data = [] with open(source_json_path) as f: for line in f: json_line = json.loads(line) data_line = '(\'%s\',\n\'%s\')' % ( json_line[self.key_name], json.dumps(json_line)) data.append(str(data_line)) print(data) with open(template_path) as f: template = f.read() with open(output_path, 'w') as write_file: write_file.write(template) for record in data: write_file.write(record) write_file.write(',\n') write_file.seek(-2, 1) write_file.truncate() write_file.write(';') class TransformSpecsGenerator(Generator): key_name = 'metric_id' class PreTransformSpecsGenerator(Generator): key_name = 'event_type' def main(): # parse command line options try: opts, args = getopt.getopt(sys.argv[1:], "ht:o:i:s:") print('Opts = %s' % opts) print('Args = %s' % args) except getopt.error as msg: print(msg) print("for help use --help") sys.exit(2) script_type = None template_path = None source_json_path = None output_path = None # process options for o, a in opts: if o in ("-h", "--help"): print(__doc__) sys.exit(0) elif o == "-t": script_type = a if a not in ('pre_transform_spec', 'transform_spec'): print('Incorrect output type specified: \'%s\'.\n %s' % ( a, __doc__)) sys.exit(1) elif o == "-i": template_path = a if not os.path.isfile(a): print('Cannot find template file at %s' % a) sys.exit(1) elif o == "-o": output_path = a elif o == "-s": source_json_path = a print("Called with type = %s, template_path = %s, source_json_path %s" " and output_path = %s" % ( script_type, template_path, source_json_path, output_path)) generator = None if script_type == 'pre_transform_spec': generator = PreTransformSpecsGenerator() elif script_type == 'transform_spec': generator = TransformSpecsGenerator() generator.generate(template_path, source_json_path, output_path) if __name__ == '__main__': main() 07070100000025000081ED0000000000000000000000015DB0774D000002C3000000000000000000000000000000000000005900000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/ghost_process.sh# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #!/usr/bin/env bash echo Ghost process for $1, duration $2 sleep $2 07070100000026000081A40000000000000000000000015DB0774D000006D6000000000000000000000000000000000000006400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/monasca-transform_mysql.sql# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # CREATE DATABASE IF NOT EXISTS `monasca_transform` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE `monasca_transform`; SET foreign_key_checks = 0; CREATE TABLE IF NOT EXISTS `kafka_offsets` ( `id` INTEGER AUTO_INCREMENT NOT NULL, `topic` varchar(128) NOT NULL, `until_offset` BIGINT NULL, `from_offset` BIGINT NULL, `app_name` varchar(128) NOT NULL, `partition` integer NOT NULL, `batch_time` varchar(20) NOT NULL, `last_updated` varchar(20) NOT NULL, `revision` integer NOT NULL, PRIMARY KEY (`id`, `app_name`, `topic`, `partition`, `revision`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `transform_specs` ( `metric_id` varchar(128) NOT NULL, `transform_spec` varchar(2048) NOT NULL, PRIMARY KEY (`metric_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `pre_transform_specs` ( `event_type` varchar(128) NOT NULL, `pre_transform_spec` varchar(2048) NOT NULL, PRIMARY KEY (`event_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; 07070100000027000081A40000000000000000000000015DB0774D00000320000000000000000000000000000000000000006900000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/pre_transform_specs_template.sql# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # DELETE FROM `monasca_transform`.`pre_transform_specs`; INSERT IGNORE INTO `monasca_transform`.`pre_transform_specs` (`event_type`, `pre_transform_spec`) VALUES 07070100000028000081A40000000000000000000000015DB0774D00000313000000000000000000000000000000000000006500000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/files/transform_specs_template.sql# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # DELETE FROM `monasca_transform`.`transform_specs`; INSERT IGNORE INTO `monasca_transform`.`transform_specs` (`metric_id`, `transform_spec`) VALUES 07070100000029000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004700000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/meta0707010000002A000081A40000000000000000000000015DB0774D00000263000000000000000000000000000000000000005000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/meta/main.yml# (c) Copyright 2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- dependencies: - role: tls-vars 0707010000002B000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004800000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks0707010000002C000081A40000000000000000000000015DB0774D00000327000000000000000000000000000000000000005E00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/_schedule_restart.yml# # (c) Copyright 2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | _schedule_restart | Schedule a restart for all services debug: msg: "Trigger a change notification in monasca-transform" changed_when: true register: ardana_notify_monasca_transform_restart_required 0707010000002D000081A40000000000000000000000015DB0774D00000C54000000000000000000000000000000000000005600000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/configure.yml# # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - include: populate_db.yml - name: MON-TRA | configure | Copy service_runner.py template become: yes template: src: "{{ mon_tra_service_file }}.j2" dest: "{{ mon_tra_service_dir }}/{{ mon_tra_service_file }}" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0644 - name: MON-TRA | configure | Copy configuration file become: yes template: src: "{{ mon_tra_configuration_file }}.j2" dest: /etc/{{ mon_tra_configuration_file }} owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0600 - name: MON-TRA | configure | Deploy the driver script become_user: "{{ mon_tra_service_user }}" become: yes template: src: driver.py.j2 dest: "{{ mon_tra_service_dir }}/driver.py" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0644 - name: MON-TRA | configure | Update installed packager cache become: yes install_package: cache: update - name: MON-TRA | configure | Generate the zip for use in spark-submit become: yes command: | "{{ mon_tra_bin_dir }}"/python {{ mon_tra_tools_dir }}/create_zip.py - name: MON-TRA | configure | Chown zipfile to service user become: yes file: path: "{{ mon_tra_service_dir }}/{{ mon_tra_zip_filename }}" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0644 - name: MON-TRA | configure | Create the init directory become: yes file: path: "{{ mon_tra_init_dir }}" state: directory owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 - name: MON-TRA | configure | Create service unit become: yes template: src: monasca-transform.service.j2 dest: "{{ mon_tra_systemd_service }}" owner: root group: root mode: 0775 - name: MON-TRA | configure | Create monasca-transform start script become: yes template: src: start-monasca-transform.sh.j2 dest: "{{ mon_tra_init_dir }}/start-monasca-transform.sh" owner: root group: root mode: 0775 # See: http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html - name: MON-TRA | configure | Create tmpfs monasca-transform.conf become: yes template: src: monasca-transform-tmpfsdirs.conf.j2 dest: "/usr/lib/tmpfiles.d/monasca-transform.conf" owner: root group: root mode: 0644 - name: MON-TRA | configure | Reload systemctl become: yes command: /bin/systemctl daemon-reload 0707010000002E000081A40000000000000000000000015DB0774D000006A5000000000000000000000000000000000000006000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/create_kafka_topics.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | create_kafka_topics | include kafka vars include_vars: ../../kafka/vars/main.yml - name: MON-TRA | create_kafka_topics | Check metrics pre hourly topic become: yes delegate_to: "{{ mon_tra_kafka_target_host }}" shell: > {{ kafka_bin_dir }}/kafka-topics.sh --list --zookeeper {{ mon_tra_zookeeper_hosts }} --topic metrics_pre_hourly changed_when: false register: check_metrics_pre_hourly_topic_result run_once: true - name: MON-TRA | create_kafka_topics | Create metrics pre hourly topic become: yes delegate_to: "{{ mon_tra_kafka_target_host }}" command: > {{ kafka_bin_dir }}/kafka-topics.sh --create --zookeeper {{ mon_tra_zookeeper_hosts }} --replication-factor {{ mon_tra_kafka_replicas }} --partitions 64 --topic metrics_pre_hourly when: (not (check_metrics_pre_hourly_topic_result.stdout | search('metrics_pre_hourly'))) register: create_metrics_pre_hourly_result failed_when: "'Error' in create_metrics_pre_hourly_result.stdout" run_once: true 0707010000002F000081A40000000000000000000000015DB0774D000006FF000000000000000000000000000000000000006300000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/discover_admin_project.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | discover_admin_project | Get a domain scoped token no_log: True keystone_v3: endpoint: "{{ mon_tra_keystone_url }}" login_username: "{{ mon_tra_keystone_admin }}" login_password: "{{ mon_tra_keystone_admin_password }}" login_user_domain_name: "{{ mon_tra_keystone_default_domain_name }}" login_domain_name: "{{ mon_tra_keystone_default_domain_name }}" action: "token_get" register: mon_tra_domain_scoped_token_result run_once: True # retrieve the admin project details from keystone so that the lazy init # of the mon_tra_admin_project_id variable can be fulfilled - name: MON-TRA | discover_admin_project | Get admin project details no_log: True keystone_v3: endpoint: "{{ mon_tra_keystone_url }}" login_token: "{{ mon_tra_domain_scoped_token_result.result }}" project_name: "{{ mon_tra_keystone_admin_project }}" project_domain_name: "{{ mon_tra_keystone_default_domain_name }}" action: find_project run_once: True register: mon_tra_project_result failed_when: > mon_tra_project_result.result is undefined or mon_tra_project_result.result.id is undefined 07070100000030000081A40000000000000000000000015DB0774D0000040D000000000000000000000000000000000000005400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/drop_db.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | drop_db | drop the monasca_transform db run_once: true no_log: true shell: > mysql {{ "--ssl-ca=" + mon_tra_ca_file if mon_tra_db_use_ssl else "" }} -u {{ mon_tra_mysql_user }} {% if mon_tra_mysql_password is defined %} -p{{ mon_tra_mysql_password }} {% endif %} -h {{ mon_tra_mysql_target_host }} -A -e 'drop database if exists monasca_transform;' 07070100000031000081A40000000000000000000000015DB0774D00000515000000000000000000000000000000000000005C00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/ghost_processes.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | ghost_processes | Copy ghosting script become_user: "{{ mon_tra_service_user }}" become: yes copy: src: "{{ item }}" dest: "{{ mon_tra_tools_dir }}/{{ item }}" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 with_items: - "create_ghost_process.sh" - "ghost_process.sh" - name: MON-TRA | ghost_processes | Ghost processes with deferred start become_user: "{{ mon_tra_service_user }}" become: yes shell: ./create_ghost_process.sh {{ item }} 100 args: chdir: "{{ mon_tra_tools_dir }}" with_items: "{{ mon_tra_deferred_start_monitored_processes }}" 07070100000032000081A40000000000000000000000015DB0774D0000116E000000000000000000000000000000000000005400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/install.yml# # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | install | include OS specific variables include_vars: "{{ ansible_os_family | lower }}.yml" - name: MON-TRA | install | Setup group become: yes group: name: "{{ mon_tra_service_group }}" system: yes - name: MON-TRA | install | Setup user become: yes user: name: "{{ mon_tra_service_user }}" createhome: no home: /var/nonexistent shell: /sbin/nologin system: yes group: "{{ mon_tra_service_group }}" groups: "{{ mon_tra_spark_group_name }},{{ mon_tra_monasca_group }}" register: monasca_transform_create_user_result failed_when: monasca_transform_create_user_result|failed and "user {{ mon_tra_service_user }} is currently used by process" not in monasca_transform_create_user_result.msg - name: MON-TRA | install | Create directories become: yes file: path: "{{ item }}" state: directory owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 with_items: - "{{ mon_tra_service_log_dir }}" - "{{ mon_tra_service_dir }}" - "{{ mon_tra_service_run_dir }}" - "{{ mon_tra_tools_dir }}" - "{{ mon_tra_specs_source_dir }}" - name: MON-TRA | install | Touch logfile become: yes file: path: "{{ mon_tra_service_log_dir }}/{{ mon_tra_service_log_filename }}" state: touch owner: "{{ mon_tra_service_user }}" group: adm mode: 0640 - name: MON-TRA | install | Push zip generation script become: yes template: src: create_zip.py.j2 dest: "{{ mon_tra_tools_dir }}/create_zip.py" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 - name: MON-TRA | install | Push ddl generation script become: yes template: src: generate_ddl.sh.j2 dest: "{{ mon_tra_tools_dir }}/generate_ddl.sh" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 - name: MON-TRA | install | Push ddl generation python module and templates become: yes copy: src: "{{ item }}" dest: "{{ mon_tra_tools_dir }}/{{ item }}" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 with_items: - "generate_ddl.py" - "pre_transform_specs_template.sql" - "transform_specs_template.sql" - name: MON-TRA | install | Create database root dir become_user: "{{ mon_tra_service_user }}" become: yes file: path: "{{ mon_tra_database_root_dir }}" state: directory mode: 0755 recurse: yes - name: MON-TRA | install | Copy mysql schema to host become_user: "{{ mon_tra_service_user }}" become: yes copy: dest: "{{ mon_tra_schema_file }}" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0640 src: monasca-transform_mysql.sql register: copy_result - name: MON-TRA | install | MySQL client become: yes package: name: "{{ item }}" state: present with_items: monasca_transform_package_dependencies - name: MON-TRA | install | Apply mysql schema to db run_once: true no_log: true become_user: "{{ mon_tra_service_user }}" become: yes shell: > mysql {{ "--ssl-ca=" + mon_tra_ca_file if mon_tra_db_use_ssl else "" }} -u {{ mon_tra_mysql_user }} -p{{ mon_tra_mysql_password }} -h {{ mon_tra_mysql_target_host }} < {{ mon_tra_schema_file }} - name: MON-TRA | install | Update installed packager cache become: yes install_package: cache: update - name: MON-TRA | install | Install the monasca-transform venv become: yes install_package: name: "{%- if deployer_media_legacy_layout|bool -%} monasca_transform {%- else -%} monasca {%- endif -%}" service: monasca-transform state: present 07070100000033000081A40000000000000000000000015DB0774D000004E0000000000000000000000000000000000000005E00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/monasca_configure.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | monasca_configure | Copy monasca transform Custom plugin for Ardana only become: yes copy: src: MonascaTransformDetect.py dest: "{{ mon_tra_agent_detection_plugin_dir }}/MonascaTransformDetect.py" owner: root group: root mode: 0440 # kick off a pyspark and executor dummy process here to fool the detection # plugin into doing what it's told - include: ghost_processes.yml - name: MON-TRA | monasca_configure | Run Monasca agent Ardana specific monasca transform detection plugin become: yes monasca_agent_plugin: name: "MonascaTransformDetect" 07070100000034000081A40000000000000000000000015DB0774D00000972000000000000000000000000000000000000005800000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/populate_db.yml# # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | populate_db | include OS specific variables include_vars: "{{ ansible_os_family | lower }}.yml" - name: MON-TRA | populate_db | Copy pre transform specs become: yes template: src: pre_transform_specs.json.j2 dest: "{{ mon_tra_specs_source_dir }}/pre_transform_specs.json" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 - name: MON-TRA | populate_db | Copy transform specs become: yes template: src: transform_specs.json.j2 dest: "{{ mon_tra_specs_source_dir }}/transform_specs.json" owner: "{{ mon_tra_service_user }}" group: "{{ mon_tra_service_group }}" mode: 0755 - name: MON-TRA | populate_db | Generate ddl become_user: "{{ mon_tra_service_user }}" become: yes command: | {{ mon_tra_tools_dir }}/generate_ddl.sh - name: MON-TRA | populate_db | MySQL client become: yes package: name: "{{ item }}" state: present with_items: monasca_transform_package_dependencies - name: MON-TRA | populate_db | Populate transform_specs in db run_once: true no_log: true become_user: "{{ mon_tra_service_user }}" become: yes shell: > mysql {{ "--ssl-ca=" + mon_tra_ca_file if mon_tra_db_use_ssl else "" }} -u {{ mon_tra_mysql_user }} -p{{ mon_tra_mysql_password }} -h {{ mon_tra_mysql_target_host }} < {{ mon_tra_transform_specs_file }} - name: MON-TRA | populate_db | Populate pre_transform_specs in db run_once: true no_log: true become_user: "{{ mon_tra_service_user }}" become: yes shell: > mysql {{ "--ssl-ca=" + mon_tra_ca_file if mon_tra_db_use_ssl else "" }} -u {{ mon_tra_mysql_user }} -p{{ mon_tra_mysql_password }} -h {{ mon_tra_mysql_target_host }} < {{ mon_tra_pre_transform_specs_file }} 07070100000035000081A40000000000000000000000015DB0774D00000437000000000000000000000000000000000000005200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/start.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | start | restart "{{ mon_tra_service_name }}" become: yes service: name: "{{ mon_tra_service_name }}" state: restarted when: ardana_notify_monasca_transform_restart_required is defined and ardana_notify_monasca_transform_restart_required.changed - name: MON-TRA | start | start "{{ mon_tra_service_name }}" become: yes service: name: "{{ mon_tra_service_name }}" state: started 07070100000036000081A40000000000000000000000015DB0774D0000053C000000000000000000000000000000000000005300000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/status.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | status | Print service being checked run_once: true debug: msg: "Running service check for {{ mon_tra_service_name }}" - name: MON-TRA | status | Check systemd service running command: systemctl status {{ mon_tra_service_name }} ignore_errors: yes changed_when: false register: mon_tra_systemctl_status_result - name: MON-TRA | status | Report status of "{{ mon_tra_service_name }}" fail: msg: | {{ mon_tra_service_name }} is not running. systemctl status {{ mon_tra_service_name }} output: {{ mon_tra_systemctl_status_result.stdout }} {{ mon_tra_systemctl_status_result.stderr }} when: mon_tra_systemctl_status_result | failed 07070100000037000081A40000000000000000000000015DB0774D0000039C000000000000000000000000000000000000005100000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/stop.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- - name: MON-TRA | stop | stop "{{ mon_tra_service_name }}" become: yes service: name: "{{ mon_tra_service_name }}" state: stopped register: mon_tra_stop_result failed_when: > mon_tra_stop_result|failed and 'service not found' not in mon_tra_stop_result.msg07070100000038000081A40000000000000000000000015DB0774D00000515000000000000000000000000000000000000005400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/tasks/upgrade.yml# # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- ## upgrade is not yet implemented as this is the initial release - include: stop.yml - include: drop_db.yml - name: MON-TRA | upgrade | Remove old scripts from tools dir become: True file: path: "{{ mon_tra_tools_dir }}/{{ item }}" state: absent with_items: - "create_zip.py" - "generate_ddl.sh" - "generate_ddl.py" - "pre_transform_specs_template.sql" - "transform_specs_template.sql" - name: MON-TRA | upgrade | Remove old sql schema become: True file: path: "{{ mon_tra_schema_file }}" state: absent - include: install.yml - include: configure.yml - include: start.yml - include: monasca_configure.yml07070100000039000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004C00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates0707010000003A000081A40000000000000000000000015DB0774D000003AA000000000000000000000000000000000000005D00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/create_zip.py.j2{# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} from zipfile import PyZipFile with PyZipFile("{{ mon_tra_service_dir }}/{{ mon_tra_zip_filename }}", "w") as spark_submit_zipfile: spark_submit_zipfile.writepy( "{{ mon_tra_virtualenv_location }}" "lib/python2.7/site-packages/monasca_transform" ) 0707010000003B000081A40000000000000000000000015DB0774D00000367000000000000000000000000000000000000005900000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/driver.py.j2{# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} import sys activate_this_file = "{{ mon_tra_virtualenv_location }}/bin/activate_this.py" execfile(activate_this_file, dict(__file__=activate_this_file)) from monasca_transform.driver.mon_metrics_kafka import invoke invoke()0707010000003C000081ED0000000000000000000000015DB0774D000004A9000000000000000000000000000000000000005F00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/generate_ddl.sh.j2#!/usr/bin/env bash {# # # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} SCRIPT_HOME=$(dirname $(readlink -f $BASH_SOURCE)) pushd $SCRIPT_HOME {{ mon_tra_bin_dir }}/python ./generate_ddl.py -t pre_transform_spec -i {{ mon_tra_tools_dir }}//pre_transform_specs_template.sql -s {{ mon_tra_specs_source_dir }}/pre_transform_specs.json -o {{ mon_tra_pre_transform_specs_file }} {{ mon_tra_bin_dir }}/python ./generate_ddl.py -t transform_spec -i {{ mon_tra_tools_dir }}//transform_specs_template.sql -s {{ mon_tra_specs_source_dir }}/transform_specs.json -o {{ mon_tra_transform_specs_file }} popd 0707010000003D000081A40000000000000000000000015DB0774D000002E1000000000000000000000000000000000000007000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/monasca-transform-tmpfsdirs.conf.j2{# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} d {{ mon_tra_service_run_dir }} 0755 {{ mon_tra_service_user }} {{ mon_tra_service_group }} 0707010000003E000081A40000000000000000000000015DB0774D00001041000000000000000000000000000000000000006600000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/monasca-transform.conf.j2{# # # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} [DEFAULTS] [repositories] offsets = monasca_transform.mysql_offset_specs:MySQLOffsetSpecs data_driven_specs = monasca_transform.data_driven_specs.mysql_data_driven_specs_repo:MySQLDataDrivenSpecsRepo offsets_max_revisions = 10 [database] server_type = {{ mon_tra_jdbc_server_type }} host = {{ mon_tra_mysql_target_host }} database_name = monasca_transform username = {{ mon_tra_mysql_user }} password = {{ mon_tra_mysql_password }} use_ssl = {{ mon_tra_db_use_ssl }} ca_file = {{ mon_tra_ca_file }} [messaging] adapter = monasca_transform.messaging.adapter:KafkaMessageAdapter topic = metrics brokers = {{ mon_tra_kafka_brokers }} publish_kafka_project_id = {{ mon_tra_admin_project_id }} publish_region = {{ mon_tra_region }} adapter_pre_hourly = monasca_transform.messaging.adapter:KafkaMessageAdapterPreHourly topic_pre_hourly = metrics_pre_hourly [stage_processors] pre_hourly_processor_enabled = True [pre_hourly_processor] late_metric_slack_time = 600 enable_instance_usage_df_cache = True instance_usage_df_cache_storage_level = MEMORY_ONLY_SER_2 enable_batch_time_filtering = True data_provider=monasca_transform.processor.pre_hourly_processor:PreHourlyProcessorDataProvider # # Configurable values for the monasca-transform service # [service] # The address of the mechanism being used for election coordination coordinator_address = kazoo://{{ mon_tra_zookeeper_hosts }} # The name of the coordination/election group coordinator_group = monasca-transform # How long the candidate should sleep between election result queries election_polling_frequency = 15 # Whether debug-level log entries should be included in the application # log. If this setting is false, info-level will be used for logging. enable_debug_log_entries = false # The path for the monasca-transform Spark driver spark_driver = {{ mon_tra_service_dir }}/driver.py # the location for the transform-service log service_log_path={{ mon_tra_service_log_dir }} # the filename for the transform-service log service_log_filename={{ mon_tra_service_log_filename }} # Whether Spark event logging should be enabled (true/false) spark_event_logging_enabled = {{ mon_tra_event_logging_enabled }} # A list of jars which Spark should use {% if deployer_media_legacy_layout|bool %} spark_jars_list = {{ mon_tra_spark_home }}/lib/spark-streaming-kafka.jar,{{ mon_tra_spark_home }}/lib/scala-library-2.10.1.jar,{{ mon_tra_spark_home }}/lib/kafka_2.10-0.8.1.1.jar,{{ mon_tra_spark_home }}/lib/metrics-core-2.2.0.jar,{{ mon_tra_spark_home }}/lib/drizzle-jdbc-1.3.jar {% else %} spark_jars_list = {{ mon_tra_spark_home }}/lib/spark-streaming-kafka.jar,{{ mon_tra_spark_home }}/lib/scala-library-2.10.4.jar,{{ mon_tra_spark_home }}/lib/kafka_2.10-0.8.2.1.jar,{{ mon_tra_spark_home }}/lib/metrics-core-2.2.0.jar,{{ mon_tra_spark_home }}/lib/mysql-connector-java.jar {% endif %} # A list of where the Spark master(s) should run spark_master_list = spark://{{ mon_tra_spark_masters }} # spark_home for the environment spark_home = {{ mon_tra_spark_home }} # Python files for Spark to use spark_python_files = {{ mon_tra_service_dir }}/{{ mon_tra_zip_filename }} # How often the stream should be read (in seconds) stream_interval = {{ mon_tra_stream_interval }} # The working directory for monasca-transform work_dir = {{ mon_tra_service_run_dir }} # enable caching of record store df enable_record_store_df_cache = True # set spark storage level for record store df cache record_store_df_cache_storage_level = MEMORY_ONLY_SER_2 0707010000003F000081A40000000000000000000000015DB0774D00001008000000000000000000000000000000000000006100000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/monasca-transform.j2#!/bin/bash {# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} ### BEGIN INIT INFO # Provides: {{ mon_tra_service_name }} # Required-Start: # Required-Stop: # Default-Start: {{ mon_tra_service_start_levels }} # Default-Stop: # Short-Description: {{ mon_tra_service_name }} # Description: ### END INIT INFO service_is_running() { if [ -e {{ mon_tra_service_pid_file }} ]; then PID=$(cat {{ mon_tra_service_pid_file }}) if $(ps $PID > /dev/null 2>&1); then return 0 else echo "Found obsolete PID file for {{ mon_tra_service_name }}...deleting it" rm {{ mon_tra_service_pid_file }} return 1 fi else return 1 fi } case $1 in start) echo "Starting {{ mon_tra_service_name }}..." if service_is_running; then echo "{{ mon_tra_service_name }} is already running" exit 0 fi echo " _/_/ _/_/ _/_/_/_/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/_/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/ _/_/_/_/ _/_/_/ _/_/_/_/ _/_/ _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ _/_/_/ _/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/_/_/_/ _/ _/_/_/_/ _/ _/ _/ _/ _/ " >> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_name }}.log nohup sudo -u {{ mon_tra_service_user }} {{ mon_tra_virtualenv_location }}/bin/python \ {{ mon_tra_service_dir }}/{{ mon_tra_service_file }} \ >> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_name }}.log \ 2>> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_name }}.log & PID=$(echo $!) if [ -z $PID ]; then echo "{{ mon_tra_service_name }} failed to start" else echo $PID > {{ mon_tra_service_pid_file }} echo "{{ mon_tra_service_name }} is running" fi ;; stop) echo "Stopping {{ mon_tra_service_name }}..." if service_is_running; then PID=$(cat {{ mon_tra_service_pid_file }}) sudo kill -- -$(ps -o pgid= $PID | grep -o '[0-9]*') rm {{ mon_tra_service_pid_file }} echo "{{ mon_tra_service_name }} is stopped" else echo "{{ mon_tra_service_name }} is not running" exit 0 fi ;; status) if service_is_running; then echo "{{ mon_tra_service_name }} is running" else echo "{{ mon_tra_service_name }} is not running" fi ;; restart) $0 stop $0 start ;; esac 07070100000040000081A40000000000000000000000015DB0774D0000037D000000000000000000000000000000000000006900000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/monasca-transform.service.j2{# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} [Unit] Description=Monasca Transform Daemon After=zookeeper.service spark-master.service spark-worker.service [Service] Type=simple LimitNOFILE=32768 ExecStart={{ mon_tra_init_dir }}/start-monasca-transform.sh [Install] WantedBy=multi-user.target 07070100000041000081A40000000000000000000000015DB0774D000015CB000000000000000000000000000000000000006800000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/pre_transform_specs.json.j2{# # # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"mem.total_mb","metric_id_list":["mem_total_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"mem.usable_mb","metric_id_list":["mem_usable_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"vm.mem.total_mb","metric_id_list":["vm_mem_total_mb_all","vm_mem_total_mb_project"],"required_raw_fields_list":["creation_time","tenantId","resource_id"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"vm.mem.used_mb","metric_id_list":["vm_mem_used_mb_all","vm_mem_used_mb_project"],"required_raw_fields_list":["creation_time","tenantId","resource_id"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"nova.vm.mem.total_allocated_mb","metric_id_list":["nova_vm_mem_total_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"disk.total_space_mb","metric_id_list":["disk_total_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"disk.total_used_space_mb","metric_id_list":["disk_usable_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"nova.vm.disk.total_allocated_gb","metric_id_list":["nova_disk_total_allocated_gb_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"vm.disk.allocation","metric_id_list":["vm_disk_allocation_all","vm_disk_allocation_project"],"required_raw_fields_list":["creation_time","tenant_id","resource_id"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"cpu.total_logical_cores","metric_id_list":["cpu_total_all","cpu_total_host","cpu_util_all","cpu_util_host"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"cpu.idle_perc","metric_id_list":["cpu_util_all","cpu_util_host"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"vcpus","metric_id_list":["vcpus_all","vcpus_project"],"required_raw_fields_list":["creation_time","project_id","resource_id"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"vm.cpu.utilization_perc","metric_id_list":["vm_cpu_util_perc_project"],"required_raw_fields_list":["creation_time","tenant_id","resource_id"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"nova.vm.cpu.total_allocated","metric_id_list":["nova_vm_cpu_total_all"],"required_raw_fields_list":["creation_time"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"swiftlm.diskusage.host.val.size","metric_id_list":["swift_total_all","swift_total_host"],"required_raw_fields_list":["creation_time", "hostname", "mount"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"swiftlm.diskusage.host.val.avail","metric_id_list":["swift_avail_all","swift_avail_host","swift_usage_rate"],"required_raw_fields_list":["creation_time", "hostname", "mount"],"service_id":"host_metrics"} {"event_processing_params":{"set_default_zone_to":"1","set_default_geolocation_to":"1","set_default_region_to":"W"},"event_type":"storage.objects.size","metric_id_list":["storage_objects_size_all"],"required_raw_fields_list":["creation_time", "project_id"],"service_id":"host_metrics"} 07070100000042000081A40000000000000000000000015DB0774D000003B8000000000000000000000000000000000000006100000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/service_runner.py.j2{# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} import sys activate_this_file = "{{ mon_tra_virtualenv_location }}/bin/activate_this.py" execfile(activate_this_file, dict(__file__=activate_this_file)) from monasca_transform.service.transform_service import main_service def main(): main_service() if __name__ == "__main__": sys.exit(main()) 07070100000043000081A40000000000000000000000015DB0774D0000062F000000000000000000000000000000000000006A00000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/start-monasca-transform.sh.j2#!/usr/bin/env bash {# # # (c) Copyright 2016 Hewlett Packard Enterprise Development LP # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} {% if ansible_os_family | lower == 'debian' %} start-stop-daemon -c {{ mon_tra_service_user }}:{{ mon_tra_service_group }} \ --pidfile /{{ mon_tra_monasca_run_dir }}/{{ mon_tra_component_name }}.pid \ --start --exec {{ mon_tra_virtualenv_location }}/bin/python {{ mon_tra_service_dir }}/{{ mon_tra_service_file }} \ >> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_log_filename }} 2>> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_log_filename }} {% elif ansible_os_family | lower == 'suse' %} start_daemon -u {{ mon_tra_service_user }} -g {{ mon_tra_service_group }} \ -p /{{ mon_tra_monasca_run_dir }}/{{ mon_tra_component_name }}.pid \ {{ mon_tra_virtualenv_location }}/bin/python {{ mon_tra_service_dir }}/{{ mon_tra_service_file }} \ >> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_log_filename }} 2>> {{ mon_tra_service_log_dir }}/{{ mon_tra_service_log_filename }} {% endif %}07070100000044000081A40000000000000000000000015DB0774D00004D76000000000000000000000000000000000000006400000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/templates/transform_specs.json.j2{# # # (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # #} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"mem.total_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"mem_total_all","metric_id":"mem_total_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"mem.usable_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"mem_usable_all","metric_id":"mem_usable_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.mem.total_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_mem_total_mb_all","metric_id":"vm_mem_total_mb_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.mem.total_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["tenant_id"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_mem_total_mb_project","metric_id":"vm_mem_total_mb_project"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.mem.used_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_mem_used_mb_all","metric_id":"vm_mem_used_mb_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.mem.used_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["tenant_id"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_mem_used_mb_project","metric_id":"vm_mem_used_mb_project"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"nova.vm.mem.total_allocated_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list": [],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"nova_vm_mem_total_all","metric_id":"nova_vm_mem_total_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"disk.total_space_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"disk_total_all","metric_id":"disk_total_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"disk.total_used_space_mb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"disk_usable_all","metric_id":"disk_usable_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"nova.vm.disk.total_allocated_gb_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"nova_disk_total_allocated_gb_all","metric_id":"nova_disk_total_allocated_gb_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.disk.allocation_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_disk_allocation_all","metric_id":"vm_disk_allocation_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.disk.allocation_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["tenant_id"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_disk_allocation_project","metric_id":"vm_disk_allocation_project"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"cpu.total_logical_cores_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list": [],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"cpu_total_all","metric_id":"cpu_total_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"cpu.total_logical_cores_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":["host"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"cpu_total_host","metric_id":"cpu_total_host"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity_util","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"cpu.utilized_logical_cores_agg","aggregation_period":"hourly","aggregation_group_by_list": ["event_type", "host"],"usage_fetch_operation": "avg","usage_fetch_util_quantity_event_type": "cpu.total_logical_cores","usage_fetch_util_idle_perc_event_type": "cpu.idle_perc","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"cpu_util_all","metric_id":"cpu_util_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity_util","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"cpu.utilized_logical_cores_agg","aggregation_period":"hourly","aggregation_group_by_list": ["event_type", "host"],"usage_fetch_operation": "avg","usage_fetch_util_quantity_event_type": "cpu.total_logical_cores","usage_fetch_util_idle_perc_event_type": "cpu.idle_perc","filter_by_list": [{"field_to_filter": "host","filter_expression": "-comp(ute)?[0-9]+-","filter_operation": "include"}],"setter_rollup_group_by_list":["host"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"cpu_util_host","metric_id":"cpu_util_host"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vcpus_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vcpus_all","metric_id":"vcpus_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vcpus_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["tenant_id"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vcpus_project","metric_id":"vcpus_project"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"vm.cpu.utilization_perc_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "tenant_id", "resource_uuid"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["tenant_id"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"vm_cpu_util_perc_project","metric_id":"vm_cpu_util_perc_project"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"nova.vm.cpu.total_allocated_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list": [],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"nova_vm_cpu_total_all","metric_id":"nova_vm_cpu_total_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"swiftlm.diskusage.val.size_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "mount"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"swift_total_all","metric_id":"swift_total_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"swiftlm.diskusage.val.size_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "mount"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["host"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"swift_total_host","metric_id":"swift_total_host"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"swiftlm.diskusage.val.avail_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "mount"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"swift_avail_all","metric_id":"swift_avail_all"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"swiftlm.diskusage.val.avail_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "mount"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":["host"],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"avg","pre_hourly_group_by_list":["default"]},"metric_group":"swift_avail_host","metric_id":"swift_avail_host"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"calculate_rate","setters":["set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"swiftlm.diskusage.rate_agg","aggregation_period":"hourly","aggregation_group_by_list": ["host", "metric_id", "mount"],"filter_by_list": [],"setter_rollup_group_by_list": [],"dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"rate","pre_hourly_group_by_list":["default"]},"metric_group":"swift_avail_rate","metric_id":"swift_usage_rate"} {"aggregation_params_map":{"aggregation_pipeline":{"source":"streaming","usage":"fetch_quantity","setters":["rollup_quantity","set_aggregated_metric_name","set_aggregated_period"],"insert":["prepare_data","insert_data_pre_hourly"]},"aggregated_metric_name":"storage.objects.size_agg","aggregation_period":"hourly","aggregation_group_by_list": ["metric_id", "tenant_id"],"usage_fetch_operation": "avg","filter_by_list": [],"setter_rollup_group_by_list":[],"setter_rollup_operation": "sum","dimension_list":["aggregation_period","host","project_id"],"pre_hourly_operation":"sum","pre_hourly_group_by_list":["default"]},"metric_group":"storage_objects_size_all","metric_id":"storage_objects_size_all"} 07070100000045000041ED0000000000000000000000025DB0774D00000000000000000000000000000000000000000000004700000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/vars07070100000046000081A40000000000000000000000015DB0774D00000291000000000000000000000000000000000000005200000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/vars/debian.yml# # (c) Copyright 2017 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- monasca_transform_package_dependencies: - percona-xtradb-cluster-client-5.607070100000047000081A40000000000000000000000015DB0774D000002C0000000000000000000000000000000000000005000000000ardana-monasca-transform-8.0+git.1571845965.97714fb/roles/MON-TRA/vars/suse.yml# # (c) Copyright 2017-2018 SUSE LLC # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # --- monasca_transform_package_dependencies: - mariadb-client - python-mysql - python-PyMySQL - python-oslo.service 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!248 blocks
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor