File ardana-ceilometer-8.0+git.1534266629.0bb5d54.obscpio of Package ardana-ceilometer

07070100000000000081A40000000000000000000000015B730D050000001F000000000000000000000000000000000000003E00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/.copyrightignore.copyrightignore
.rsync-filter
07070100000001000081A40000000000000000000000015B730D0500000086000000000000000000000000000000000000003800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/.gitreview[gerrit]
host=gerrit.suse.provo.cloud
port=29418
project=ardana/ceilometer-ansible.git
defaultremote=ardana
defaultbranch=stable/pike
07070100000002000081A40000000000000000000000015B730D050000000C000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/.rsync-filter- ardana-ci
07070100000003000081A40000000000000000000000015B730D050000279F000000000000000000000000000000000000003500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/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.

07070100000004000081A40000000000000000000000015B730D050000051D000000000000000000000000000000000000004700000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/_ceilometer-configure.yml#
# (c) Copyright 2015-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: CEI-NAG
  roles:
  - CEI-NAG
  tasks:
  - include: roles/CEI-NAG/tasks/configure.yml

- hosts: CEI-POL:CEI-CAG
  roles:
  - CEI-POL
  tasks:
  - include: roles/CEI-POL/tasks/configure.yml

- hosts: CEI-API
  roles:
  - CEI-API
  tasks:
  - include: roles/CEI-API/tasks/configure.yml

- hosts: CEI-API
  roles:
    - CEI-API
  # This task should be set to run-once
  tasks:
    - include: roles/CEI-API/tasks/keystone_conf.yml
      ansible_python_interpreter:
        "{{ KEY_CLI.vars.keystone_client_python_interpreter }}"

- hosts: CEI-POL:CEI-CAG
  roles:
    - CEI-POL
  tasks:
    - include: roles/CEI-POL/tasks/reconfigure_polling_for_swift.yml
07070100000005000081A40000000000000000000000015B730D05000003A7000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/_ceilometer-install.yml#
# (c) Copyright 2015-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: CEI-NAG
  roles:
  - CEI-NAG
  tasks:
  - include: roles/CEI-NAG/tasks/install.yml

- hosts: CEI-POL:CEI-CAG
  roles:
  - CEI-POL
  tasks:
  - include: roles/CEI-POL/tasks/install.yml

- hosts: CEI-API
  roles:
  - CEI-API
  tasks:
  - include: roles/CEI-API/tasks/install.yml
07070100000006000081A40000000000000000000000015B730D0500000472000000000000000000000000000000000000004600000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/_ceilometer-populate.yml#
# (c) Copyright 2015 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.
#

# Creating monitoring checks for ceilometer Services
# Monitoring checks need service to be running for which
# to be created ande hence need to run post start.
---

- hosts: CEI-CMN:&MON-AGN
  roles:
    - _CEI-CMN
  # All these tasks should be set to run-once
  tasks:
    - include: roles/_CEI-CMN/tasks/monasca_configure.yml

- hosts: CEI-API:&MON-AGN
  roles:
    - _CEI-CMN
  # All these tasks should be set to run-once
  tasks:
    - include: roles/_CEI-CMN/tasks/api_monasca_configure.yml

07070100000007000081A40000000000000000000000015B730D05000002E7000000000000000000000000000000000000004E00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/_ceilometer-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 ceilometer services
# using ardana_notify_... variables
- hosts: all
  tasks:
    - include: roles/_CEI-CMN/tasks/_schedule_restart.yml07070100000008000041ED0000000000000000000000045B730D0500000000000000000000000000000000000000000000003700000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci07070100000009000041ED0000000000000000000000035B730D0500000000000000000000000000000000000000000000003F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project0707010000000A000041ED0000000000000000000000035B730D0500000000000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model0707010000000B000041ED0000000000000000000000035B730D0500000000000000000000000000000000000000000000005000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data0707010000000C000081A40000000000000000000000015B730D0500000D0B000000000000000000000000000000000000006200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/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: cp1
      control-plane-prefix: cp1
      failure-zones:
        - AZ1
      configuration-data:
        - SWIFT-CONFIG-CP1
      common-service-components:
        - lifecycle-manager-target
        - monasca-agent
      load-balancers:
        - provider: ip-cluster
          name: lb
          components:
            - default
          roles:
            - internal
            - admin
        - provider: ip-cluster
          name: extlb
          external-name: myardana-cp1.test
          components:
            - default
          roles:
            - public
      clusters:
        - name: cluster0
          cluster-prefix: c0
          server-role:
            - SERVER1-ROLE
          member-count: 3
          allocation-policy: strict
          service-components:
            - lifecycle-manager
            - ntp-server
            - mysql
            - ip-cluster
            - keystone-api
            - keystone-client
            - rabbitmq
            - swift-proxy
            - swift-account
            - swift-container
            - swift-object
            - swift-ring-builder
            - ceilometer-api
            - ceilometer-polling
            - ceilometer-agent-notification
            - ceilometer-common
            - zookeeper
            - kafka
            - vertica
            - storm
            - memcached
            - monasca-api
            - monasca-persister
            - monasca-notifier
            - monasca-threshold

    - name: cp2
      uses:
        - from: cp1
          service-components:
            - all
      control-plane-prefix: cp2
      failure-zones:
        - AZ1
        - AZ2
        - AZ3
      common-service-components:
        - lifecycle-manager-target
        - monasca-agent
      load-balancers:
        - provider: ip-cluster
          name: lb
          components:
            - default
          roles:
            - internal
            - admin
        - provider: ip-cluster
          name: extlb
          external-name: myardana-cp2.test
          components:
            - default
          roles:
            - public
      clusters:
        - name: cluster1
          cluster-prefix: c1
          server-role:
            - SERVER2-ROLE
          member-count: 1
          allocation-policy: strict
          service-components:
            - ntp-server
            - mysql
            - ip-cluster
            - rabbitmq
            - keystone-client
            - cinder-api
            - cinder-scheduler
            - cinder-volume
            - cinder-backup
            - ceilometer-agent-notification
            - ceilometer-common

0707010000000D000081A40000000000000000000000015B730D0500000A93000000000000000000000000000000000000005A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/disks.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

  disk-models:
  - name: SWIFT_DISKS
    device-groups:
      - name: swiftobj
        devices:
          - name: /dev/sdb
          - name: /dev/sdc
          - name: /dev/sdd
        consumer:
          name: swift
          attrs:
            rings:
              - account
              - container
              - object-0
    volume-groups:
      # The policy is not to consume 100% of the space of each volume group.
      # 5% should be left free for snapshots and to allow for some flexibility.
      # sda_root is a templated value to align with whatever partition is really used
      # This value is checked in os config and replaced by the partition actually used
      # on sda e.g. sda1 or sda5
      - name: ardana-vg
        physical-volumes:
         - /dev/sda_root
        logical-volumes:
          - name: root
            size: 75%
            fstype: ext4
            mount: /

          - name: log
            size: 15%
            mount: /var/log
            fstype: ext4
            mkfs-opts: -O large_file

          - name: crash
            size: 2%
            mount: /var/crash
            fstype: ext4
            mkfs-opts: -O large_file

  - name: DISKS
    volume-groups:
      # The policy is not to consume 100% of the space of each volume group.
      # 5% should be left free for snapshots and to allow for some flexibility.
      # sda_root is a templated value to align with whatever partition is really used
      # This value is checked in os config and replaced by the partition actually used
      # on sda e.g. sda1 or sda5
      - name: ardana-vg
        physical-volumes:
         - /dev/sda_root
        logical-volumes:
          - name: root
            size: 75%
            fstype: ext4
            mount: /

          - name: log
            size: 15%
            mount: /var/log
            fstype: ext4
            mkfs-opts: -O large_file

          - name: crash
            size: 2%
            mount: /var/crash
            fstype: ext4
            mkfs-opts: -O large_file
0707010000000E000081A40000000000000000000000015B730D0500000519000000000000000000000000000000000000006300000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/network_groups.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

  network-groups:
    - name: ARDANA
      hostname-suffix: ardana
      component-endpoints:
        - lifecycle-manager
        - lifecycle-manager-target


    - name: MANAGEMENT
      hostname-suffix: mgmt
      hostname: true

      tags:
        - neutron.networks.vxlan
        - neutron.networks.vlan:
            provider-physical-network: physnet1

#      tls-component-endpoints:
#        - barbican-api
      component-endpoints:
        - default

#      routes:
#        - default

      load-balancers:
        - lb
        - extlb

    - name: EXTERNAL-VM
      tags:
        - neutron.l3_agent.external_network_bridge
0707010000000F000081A40000000000000000000000015B730D05000003BB000000000000000000000000000000000000005C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/regions.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

  regions:
    - name: region1
      includes:
        - control-plane: cp1
          services:
            - all

    - name: region2
      includes:
        - control-plane: cp1
          services:
            - all
        - control-plane: cp2
          services:
            - all
07070100000010000081A40000000000000000000000015B730D0500000366000000000000000000000000000000000000006100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/server_roles.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

  server-roles:

    - name: SERVER1-ROLE
      interface-model: NET-INTERFACES
      disk-model: SWIFT_DISKS

    - name: SERVER2-ROLE
      interface-model: NET-INTERFACES
      disk-model: DISKS


07070100000011000081A40000000000000000000000015B730D05000006C4000000000000000000000000000000000000005C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/servers.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

  baremetal:
    netmask: 255.255.255.0
    subnet: 192.168.110.0
    server-interface: eth2

  servers:

    - id: server1
      ip-addr: 192.168.110.3
      role: SERVER1-ROLE
      server-group: RACK1
      mac-addr: a4:93:0c:4f:7c:73
      nic-mapping: VAGRANT
      ilo-ip: 192.168.109.3
      ilo-password: password
      ilo-user: admin

    - id: server2
      ip-addr: 192.168.110.4
      role: SERVER1-ROLE
      server-group: RACK1
      mac-addr: b2:72:8d:ac:7c:6f
      nic-mapping: VAGRANT
      ilo-ip: 192.168.109.4
      ilo-password: password
      ilo-user: admin

    - id: server3
      ip-addr: 192.168.110.5
      role: SERVER1-ROLE
      server-group: RACK1
      mac-addr: 8a:8e:64:55:43:76
      nic-mapping: VAGRANT
      ilo-ip: 192.168.109.5
      ilo-password: password
      ilo-user: admin

    - id: server4
      ip-addr: 192.168.110.6
      role: SERVER2-ROLE
      server-group: RACK3
      mac-addr: 9a:9e:64:55:43:67
      nic-mapping: VAGRANT
      ilo-ip: 192.168.109.5
      ilo-password: password
      ilo-user: admin

07070100000012000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000005600000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/swift07070100000013000081A40000000000000000000000015B730D050000060A000000000000000000000000000000000000006700000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/project/input-model/data/swift/swift_config.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

  configuration-data:
    - name: SWIFT-CONFIG-CP1
      services:
        - swift
      data:
        control_plane_rings:
          swift-zones:
            - id: 1
              server-groups:
                - CLOUD
          rings:
            - name: account
              display-name: Account Ring
              min-part-hours: 16
              partition-power: 12
              replication-policy:
                replica-count: 3

            - name: container
              display-name: Container Ring
              min-part-hours: 16
              partition-power: 12
              replication-policy:
                replica-count: 3

            - name: object-0
              display-name: General
              default: yes
              min-part-hours: 16
              partition-power: 12
              replication-policy:
                replica-count: 3

07070100000014000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000003D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests07070100000015000081A40000000000000000000000015B730D0500000352000000000000000000000000000000000000005000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests/pwd_change_cp1.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.
#

keystone_ceilometer_password:
    value: "mynewpassword"
    metadata:
    -   cluster:
        - cluster0
        component: ceilometer-common
        consumes: keystone-api
        cp: cp1
    version: '2.0'
07070100000016000081A40000000000000000000000015B730D0500000352000000000000000000000000000000000000005000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests/pwd_change_cp2.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.
#

keystone_ceilometer_password:
    value: "mynewpassword"
    metadata:
    -   cluster:
        - cluster1
        component: ceilometer-common
        consumes: keystone-api
        cp: cp2
    version: '2.0'
07070100000017000081ED0000000000000000000000015B730D050000042F000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests/test-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.
#
#  test-conf cp1 value ceilometer.conf
#  tests to see if value is in ceilometer.cnf on cp1 and not in ceilometer.cnf
#  on any other control plane
set -vx
echo " $1 $2 $3"
cnfstatus=0
if [[ $(hostname) == *"$1"* ]]
then
  sudo grep  "$2" "$3"
  if [[ $? == 1 ]]
  then
    cnfstatus=1
  fi
fi
if [[ $(hostname) != *"$1"* ]]
then
  sudo grep  "$2" "$3"
  if [[ $? == 0 ]]
  then
    cnfstatus=1
  fi
fi
exit $cnfstatus

07070100000018000081A40000000000000000000000015B730D0500000DEE000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/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.
#
---

# Singleton Tests

# Test Normal Stop  (one node)
- name: Test stop one ceilometer on singleton Cluster
  logfile: testsuite-stop.log
  prefix: stop-ceilometer
  playbooks:
    - ceilometer-stop.yml --limit=project-cp1-c0-m1-mgmt


# Test ceilometer Still down
- name: Validate ceilometer Down
  logfile: testsuite-stop.log
  prefix: validate-ceilometer-down
  exec:
    - validate-ceilometer-down.bash

- name: Test start one ceilometer on Multi-Node Cluster
  logfile: testsuite-stop.log
  prefix: start-ceilometer
  playbooks:
    - ceilometer-start.yml --limit=project-cp1-c0-m1-mgmt

- name: Validate ceilometer Up
  logfile: testsuite-stop.log
  prefix: validate-ceilometer-up
  exec:
    - validate-ceilometer-up.bash

# Test Noop Reconfigure
- name: Test Noop reconfigure
  logfile: testsuite-reconfigure-noop.log
  prefix: testsuite-reconfigure-noop
  playbooks:
    - ceilometer-reconfigure.yml

# Test ceilometer is up - This should test that ceilometer has not restarted (TBD)
- name: Validate ceilometer
  logfile: testsuite-reconfigure-noop.log
  prefix: validate-ceilometer
  exec:
    - validate-ceilometer-up.bash

- name: Update conf file change
  logfile: testsuite-reconfigure-conf-change.log
  prefix: update-conf-all
  exec:
    - update-conf.bash 's/pipeline_polling_interval = 30/pipeline_polling_interval = 60/g' ./ceilometer/ceilometer.conf.j2

- name: Test reconfigure conf file change
  logfile: testsuite-reconfigure-conf-change.log
  prefix: reconfigure-conf-all
  playbooks:
    - ceilometer-reconfigure.yml

- name: Validate ceilometer
  logfile: testsuite-reconfigure-conf-change.log
  prefix: reconfigure-conf-all
  exec:
    - validate-ceilometer-up.bash


- name: Update password  for single control plane
  logfile: testsuite-reconfigure-pwd-change.log
  prefix: update-pwd
  exec:
    - update-pwd.bash ~/ardana-ci-tests/pwd_change_cp1.yml

- name: Test reconfigure password change
  logfile: testsuite-reconfigure-pwd-change.log
  prefix: reconfigure-password-change
  playbooks:
    - ceilometer-reconfigure-credentials-change.yml

- name: Test Password Change Result
  logfile: testsuite-reconfigure-pwd-change.log
  prefix: test-conf-limited
  exec:
    - validate-ceilometer-up.bash

- name: Test Pasword change Result - Password on control planes
  logfile: testsuite-reconfigure-conf-change.log
  prefix: test-conf-limited
  become: yes
  exec:
    -  test-conf.bash cp1 mynewpassword /etc/ceilometer/ceilometer.conf

# Reboot Tests - Single Host reboots  TBD check if test harness has
# long enough sleep as next test failing occassionally without sleep
- name: Test reboot server2
  logfile: reboot.log
  prefix: reboot-server2
  vms:
    - reboot: server2

- name: Test reboot server2
  logfile: reboot.log
  prefix: sleep-for-1
  exec:
    - sleep 60

- name: Test we are up
  logfile: reboot.log
  prefix: validate-ceilometer-up
  exec:
    - validate-ceilometer-up.bash

07070100000019000081ED0000000000000000000000015B730D0500000403000000000000000000000000000000000000004E00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/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

0707010000001A000081ED0000000000000000000000015B730D0500000404000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests/update-pwd.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 -evx
cp $1 ~/openstack/change_credentials/
pushd ~/openstack/ardana/ansible/

# Next two lines should not be necessary but are, checking why
git add -A
git commit  --allow-empty -m "My Config Change"

ansible-playbook -i hosts/localhost config-processor-run.yml -e encrypt="" \
                     -e rekey=""
ansible-playbook -i hosts/localhost ready-deployment.yml
popd
0707010000001B000081ED0000000000000000000000015B730D050000038A000000000000000000000000000000000000005B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests/validate-ceilometer-down.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 ceilometer-status.yml
ceilometer_test_status=$?
echo "Ceilometer Test Status is $ceilometer_test_status"
if [ $ceilometer_test_status -eq 0 ]
then
  echo "Fail, Expected Ceilometer Down!"
  exit 1
else
  echo "OK"
fi
0707010000001C000081ED0000000000000000000000015B730D050000036E000000000000000000000000000000000000005900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ardana-ci/tests/validate-ceilometer-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 ceilometer-status.yml
ceilometer_test_status=$?
echo "Ceilometer Test Status is $ceilometer_test_status"
if [ $ceilometer_test_status -eq 0 ]
then
  echo "Ok"
else
  echo "Fail"
  exit 1
fi
0707010000001D000081A40000000000000000000000015B730D050000032F000000000000000000000000000000000000004300000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-deploy.yml#
# (c) Copyright 2015 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: _ceilometer-install.yml
- include: _ceilometer-configure.yml
- include: ceilometer-stop.yml
- include: ceilometer-start.yml
- include: _ceilometer-populate.yml
0707010000001E000081A40000000000000000000000015B730D050000035B000000000000000000000000000000000000005100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-pipeline-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.
#
---

- hosts: CEI-NAG
  roles:
  - CEI-NAG
  tasks:
  - include: roles/CEI-NAG/tasks/pipeline_configure.yml

- hosts: CEI-POL:CEI-CAG
  roles:
  - CEI-POL
  tasks:
  - include: roles/CEI-POL/tasks/pipeline_configure.yml
0707010000001F000081A40000000000000000000000015B730D0500000489000000000000000000000000000000000000005B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-reconfigure-credentials-change.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: CEI-API
  roles:
  - CEI-API
  tasks:
  - include: roles/CEI-API/tasks/configure.yml
  - include: roles/CEI-API/tasks/keystone_pwd_configure.yml
    ansible_python_interpreter:
      "{{ KEY_CLI.vars.keystone_client_python_interpreter }}"

- hosts: CEI-NAG
  roles:
  - CEI-NAG
  tasks:
  - include: roles/CEI-NAG/tasks/ceilometer_nag_pwd_configure.yml

- hosts: CEI-CAG:CEI-POL
  roles:
  - CEI-POL
  tasks:
  - include: roles/CEI-POL/tasks/ceilometer_pol_pwd_configure.yml

- include: ceilometer-start.yml
07070100000020000081A40000000000000000000000015B730D05000002C9000000000000000000000000000000000000004800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-reconfigure.yml#
# (c) Copyright 2015 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: _ceilometer-configure.yml
- include: ceilometer-start.yml
07070100000021000081A40000000000000000000000015B730D0500000291000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-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: _ceilometer-schedule-restart.yml

- include: ceilometer-start.yml
07070100000022000081A40000000000000000000000015B730D05000003AA000000000000000000000000000000000000004200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-start.yml#
# (c) Copyright 2015-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: CEI-NAG
  roles:
    - CEI-NAG
  tasks:
    - include: roles/CEI-NAG/tasks/start.yml

- hosts: CEI-POL:CEI-CAG
  roles:
    - CEI-POL
  tasks:
    - include: roles/CEI-POL/tasks/start.yml

- hosts: CEI-API
  roles:
    - CEI-API
  tasks:
  - include: roles/CEI-API/tasks/start.yml
07070100000023000081A40000000000000000000000015B730D05000003FD000000000000000000000000000000000000004300000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-status.yml#
# (c) Copyright 2015-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: CEI-API
  max_fail_percentage: 0
  roles:
    - CEI-API

  tasks:
    - include: roles/CEI-API/tasks/status.yml

- hosts: CEI-NAG
  max_fail_percentage: 0
  roles:
    - CEI-NAG

  tasks:
    - include: roles/CEI-NAG/tasks/status.yml

- hosts: CEI-CAG:CEI-POL
  max_fail_percentage: 0
  roles:
    - CEI-POL

  tasks:
    - include: roles/CEI-POL/tasks/status.yml
07070100000024000081A40000000000000000000000015B730D0500000457000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-stop.yml#
# (c) Copyright 2015-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: CEI-COL
  roles:
  - CEI-COL

  tasks:
  - include: roles/CEI-COL/tasks/stop.yml

- hosts: CEI-NAG
  roles:
  - CEI-NAG

  tasks:
  - include: roles/CEI-NAG/tasks/stop.yml

- hosts: CEI-API
  roles:
  - CEI-API

  tasks:
  - include: roles/CEI-API/tasks/stop.yml

- hosts: CEI-EXP
  roles:
  - CEI-EXP

  tasks:
  - include: roles/CEI-EXP/tasks/stop.yml

- hosts: CEI-POL:CEI-CAG
  roles:
  - CEI-POL

  tasks:
  - include: roles/CEI-POL/tasks/stop.yml
07070100000025000081A40000000000000000000000015B730D05000004C1000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/ceilometer-upgrade.yml#
# (c) Copyright 2015-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 of plays to uninstall ceilometer components removed in liberty release.
- hosts: CEI-CAG
  roles:
  - CEI-CAG
  tasks:
  - include: roles/CEI-CAG/tasks/uninstall.yml

- hosts: CEI-COL
  roles:
  - CEI-COL
  tasks:
  - include: roles/CEI-COL/tasks/uninstall.yml

- hosts: CEI-EXP
  roles:
  - CEI-EXP
  tasks:
  - include: roles/CEI-EXP/tasks/uninstall.yml

- include: ceilometer-status.yml
- include: _ceilometer-install.yml
- include: _ceilometer-configure.yml
- include: ceilometer-start.yml
- include: _ceilometer-populate.yml
- include: ceilometer-status.yml
07070100000026000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000003400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/config07070100000027000081A40000000000000000000000015B730D050000082C000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/config/ceilometer-symlinks.yml#
# (c) Copyright 2015-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.
#

# The following relative symlinks are created under the
# my_cloud/config directory.
---
symlinks:
  "ceilometer/ceilometer.conf.j2": "roles/_CEI-CMN/templates/ceilometer.conf.j2"
  "ceilometer/collector.conf.j2": "roles/CEI-COL/templates/collector.conf.j2"
  "ceilometer/expirer.conf.j2": "roles/CEI-EXP/templates/expirer.conf.j2"
  "ceilometer/ceilometer-expirer-cron.j2": "roles/CEI-EXP/templates/ceilometer-expirer-cron.j2"
  "ceilometer/pipeline-polling.yaml.j2": "roles/CEI-POL/templates/pipeline-polling.yaml.j2"
  "ceilometer/polling.conf.j2": "roles/CEI-POL/templates/polling.conf.j2"
  "ceilometer/api_paste.ini.j2": "roles/CEI-API/templates/api_paste.ini.j2"
  "ceilometer/api_audit_map.conf.j2": "roles/CEI-API/templates/api_audit_map.conf.j2"
  "ceilometer/policy.json.j2": "roles/CEI-API/templates/policy.json.j2"
  "ceilometer/pipeline-api.yaml.j2": "roles/CEI-API/templates/pipeline-api.yaml.j2"
  "ceilometer/agent-notification.conf.j2": "roles/CEI-NAG/templates/agent-notification.conf.j2"
  "ceilometer/pipeline-agent-notification.yaml.j2": "roles/CEI-NAG/templates/pipeline-agent-notification.yaml.j2"
  "ceilometer/monasca-field-definitions.yaml.j2": "roles/_CEI-CMN/templates/monasca-field-definitions.yaml.j2"
  "ceilometer/ceilosca_mapping.yaml.j2": "roles/_CEI-CMN/templates/ceilosca_mapping.yaml.j2"
  "ceilometer/ceilometer_static_info_mapping.yaml.j2": "roles/_CEI-CMN/templates/ceilometer_static_info_mapping.yaml.j2"
07070100000028000041ED0000000000000000000000095B730D0500000000000000000000000000000000000000000000003300000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles07070100000029000041ED0000000000000000000000075B730D0500000000000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API0707010000002A000081A40000000000000000000000015B730D05000005AF000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/README.mdREADME
======

### Enable or Disable Auditing
  * Auditing feature can be disabled or enabled by following steps.
    * Edit the file  ~/openstack/my_cloud/definition/cloudConfig.yml
    * All audit related configuration is defined under `audit-settings` section.
        * Please note that valid yaml syntax need to be followed when specifying values.
    * Service name defined under `enabled-services` or `disabled-services` override
      the default setting (i.e. `default: enabled` or `default: disabled`)
    * To enable auditing, make sure that `ceilometer` service name is within
      `enabled-services` list of `audit-settings` section or is **not** present in
      `disabled-services` list when `default: enabled`.
    * To disable auditing for ceilometer service specifically, make sure that `ceilometer`
      service name is within `disabled-services` list of `audit-settings`
      section or is **not** present in `enabled-services` list when
      `default: disabled`.
    * It is incorrect to specify service name in both list. If its specified, then
      `enabled-services` value takes precedence.
    * Commit the change in git repository.
    * *cd ~/openstack/ardana/ansible/*
    * *ansible-playbook -i hosts/localhost config-processor-run.yml*
    * *ansible-playbook -i hosts/localhost ready-deployment.yml*
    * *cd ~/scratch/ansible/next/ardana/ansible*
  * *ansible-playbook -i hosts/verb_hosts ceilometer-reconfigure.yml*
0707010000002B000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/defaults0707010000002C000081A40000000000000000000000015B730D05000005F5000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/defaults/main.yml#
# (c) Copyright 2015-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.
#
# This file will contain the default values for the ceilometer-api service
---
ceilometer_component: ceilometer-api

# flag to track restart requirement during reconfigure
ceilometer_api_restart_required: false

ceilometer_apache_settle_time: 30

# flag to track if venv activation is required during start
ceilometer_api_activate_required: false

# Default service directories
ceilometer_api_conf_dir: "{{ 'ceilometer-api' | config_dir() }}"
ceilometer_api_venv_share_dir: "{{ 'ceilometer-api' | share_dir() }}/ceilometer"
ceilometer_api_bin_dir:  "{{ 'ceilometer-api' | bin_dir() }}"
ceilometer_api_venv_dir: "{{ ceilometer_component | venv_dir }}"

notification_driver_name: "log"
audit_filter: ""

# NOTE: Since Ceilometer runs as Modwsgi we can not set ceilometer api
# config directory to versioned config directory. It will be default
# to global_conf i.e. /etc/ceilometer

0707010000002D000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/meta0707010000002E000081A40000000000000000000000015B730D05000002BC000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/meta/main.yml#
# (c) Copyright 2015-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.
#
---
dependencies:
  - role: _CEI-CMN
  - role: FND-AP2

0707010000002F000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks07070100000030000081A40000000000000000000000015B730D0500000C06000000000000000000000000000000000000005900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/_configure_auditing.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: CEI-API | _configure_auditing | echo ceilometer auditing enable flag
  debug:
    msg: "ceilometer_enable_auditing = {{ ceilometer_enable_auditing }}"
  tags:
    - ceilometer
    - ceilometer_debug
  when: ceilometer_debug is defined

- name: CEI-API | _configure_auditing  |
    Enable auditing via setting notification_driver
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "DEFAULT"
    option: "notification_driver"
    value: "{{ notification_driver_name }}"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  when: ceilometer_enable_auditing
  register: ceilometer_audit_enable_driver_result
  tags:
    - ceilometer

- name: CEI-API | _configure_auditing |
    Create auditing logging directory if not there
  file:
    path: "{{ ceilometer_audit_log_base_location }}/ceilometer"
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_log_group }}"
    mode: 0750
    state: directory
  become: yes
  when: ceilometer_enable_auditing | bool
  tags:
    - ceilometer

- name: CEI-API | _configure_auditing | create ceilometer-audit log
  file:
    path: "{{ ceilometer_audit_log_base_location }}/ceilometer/{{ item }}"
    state: touch
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_log_group }}"
    mode: 0640
  with_items:
    - ceilometer-audit.log
  become: yes
  when: ceilometer_enable_auditing | bool
  tags:
    - ceilometer

- name: CEI-API | _configure_auditing  |
    Disable auditing via setting noop notification_driver
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "DEFAULT"
    option: "notification_driver"
    value: "noop"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  when: ceilometer_enable_auditing == false
  register: ceilometer_audit_disable_driver_result
  tags:
    - ceilometer

- name: CEI-API | _configure_auditing |
    echo ceilometer ceilometer_audit_disable_driver
  debug:
    msg: "ceilometer_audit_disable_driver_result =
      {{ ceilometer_audit_disable_driver_result }}"

- name: CEI-API | _configure_auditing | notify api reload if changed
  debug:
    msg: "ceilometer audit setting is modified so reload needed"
  register: ardana_notify_ceilometer_api_restart_required
  when: ceilometer_audit_enable_driver_result.changed
    or ceilometer_audit_disable_driver_result.changed
07070100000031000081A40000000000000000000000015B730D0500001B60000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/configure.yml#
# (c) Copyright 2015-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.
#

### Copying Configurations in right locations ###
---
- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_api_conf_dir }}"

- name: CEI-API | configure | Register ceilometer api restart
  command: /bin/true
  register: ardana_notify_ceilometer_api_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed

- name: CEI-API | configure |
    Enable auditing via setting filter in api paste config
  set_fact:
    audit_filter: "audit"
  when: ceilometer_enable_auditing
  tags:
    - ceilometer

- name: CEI-API | configure |
    Disable auditing via removing filter in api paste config
  set_fact:
    audit_filter: ""
  when: ceilometer_enable_auditing == false
  tags:
    - ceilometer

- name: CEI-API | configure | Create several ceilometer config files
  become: yes
  template:
    src: "{{ item[0] }}.j2"
    dest: "{{ item[1] }}/{{ item[0] }}"
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    mode: 0600
  with_nested:
    - ['api_paste.ini','policy.json','api-logging.conf',
        'pipeline-api.yaml','api_audit_map.conf',
        'event-pipeline-api.yaml']
    - ["{{ ceilometer_api_conf_dir }}"]
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure Logging for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "DEFAULT"
    option: "log_config_append"
    value: "{{ ceilometer_api_conf_dir }}/api-logging.conf"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure api_paste reference for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "DEFAULT"
    option: "api_paste_config"
    value: "{{ ceilometer_api_conf_dir }}/api_paste.ini"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure pipeline reference for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "DEFAULT"
    option: "pipeline_cfg_file"
    value: "{{ ceilometer_api_conf_dir }}/pipeline-api.yaml"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure event pipeline for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "DEFAULT"
    option: "event_pipeline_cfg_file"
    value: "{{ ceilometer_api_conf_dir }}/event-pipeline-api.yaml"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure service credentials for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "service_credentials"
    option: "project_name"
    value: "{{ keystone.admin_tenant }}"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure service proj name for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "monasca"
    option: "service_project_name"
    value: "{{ keystone.admin_tenant }}"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure keystone credentials for Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "keystone_authtoken"
    option: "project_name"
    value: "{{ keystone.admin_tenant }}"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure ceilosca mapping for  Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "monasca"
    option: "ceilometer_monasca_metrics_mapping"
    value: "{{ ceilometer_api_conf_dir }}/ceilosca_mapping.yaml"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | Configure ceilosca mapping for  Ceilometer API
  ini_file:
    dest: "{{ ceilometer_api_conf_dir }}/ceilometer.conf"
    section: "monasca"
    option: "ceilometer_static_info_mapping"
    value: "{{ ceilometer_api_conf_dir }}/ceilometer_static_info_mapping.yaml"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure | create ceilometer-api log
  become: yes
  file:
    path: "{{ ceilometer_log_dir }}/{{ item }}"
    state: touch
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_log_group }}"
    mode: 0640
  with_items:
    - ceilometer-api.log
    - ceilometer-api-json.log
  register: ardana_notify_ceilometer_api_restart_required

### Configuring audit logging changes ###

- include: _configure_auditing.yml

### Configuring Apache changes ###

- name: CEI-API | configure | Create Ceilometer vhost
  become: yes
  template:
    src: ceilometer_modwsgi.conf.j2
    dest: "{{ apache2_vhost_dir }}/ceilometer_modwsgi.vhost"
    mode: 0640
  register: ardana_notify_ceilometer_api_restart_required

- name: CEI-API | configure  | Enable wsgi module in apache
  become: yes
  apache2_module:
    state: present
    name: wsgi
  register: ardana_notify_apache2_restart_required

# Temporary patch to enable upgrade from Beta1 to Beta 2
# without manual workaround
- name: CEI-API | configure | Remove the files that are in Beta 1
  file:
    path: "{{ ceilometer_global_conf_dir }}/{{ item }}"
    state: absent
  with_items:
    - api-logging.conf
    - api_paste.ini
    - ceilometer.conf
    - pipeline.yaml
    - policy.json
  become: yes
  ignore_errors: True
07070100000032000081A40000000000000000000000015B730D0500000447000000000000000000000000000000000000005200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/db_configure.yml#
# (c) Copyright 2015 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.
#

# Configuring Mysql to be in sync with ceilometer data model
---
- name: ceilometer-post-configure | db_configure |Sync Ceilometer DB
  become: yes
  become_user: ceilometer
  command: "{{ ceilometer_common_bin_dir }}/ceilometer-dbsync
    --config-file={{ ceilometer_api_conf_dir }}/ceilometer.conf"
  register: script_result
  failed_when: script_result.stderr != ''
    and not('exception.NotSupportedWarning' in script_result.stderr)
  run_once: true
07070100000033000081A40000000000000000000000015B730D0500000AC7000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/install.yml#
# (c) Copyright 2015 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.
#

# Install Ceilometer API
---
- include: ../../_CEI-CMN/tasks/install.yml

- name: CEI-API | install | Remove Ceilometer API package if exists
  become: yes
  package:
    name: ceilometer-api
    state: absent
  ignore_errors: True

- name: CEI-API | install | Update venv Cache
  become: yes
  install_package:
    cache: update

- name: CEI-API | install | Installing Ceilometer API code
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-api
    state: present
    activate: act_off
  register: ceilometer_api_install_result

- name: CEI-API | install | Register Venv Change
  command: echo "ceilometer api venv changed"
  register: ardana_notify_ceilometer_api_venv_change
  when: ceilometer_api_install_result.changed

- name: CEI-API | install | Register restart required
  command: echo "ceilometer api restart required"
  register: ardana_notify_ceilometer_api_restart_required
  when: ceilometer_api_install_result.changed

- name: CEI-API | install | Set service conf directories
  set_fact:
    ceilometer_api_conf_dir: "{{ 'ceilometer-api' |
      config_dir(ceilometer_api_install_result.version) }}"
    ceilometer_api_venv_share_dir: "{{ 'ceilometer-api' |
      share_dir(ceilometer_api_install_result.version) }}/ceilometer"
    ceilometer_api_bin_dir: "{{ 'ceilometer-api' |
      bin_dir(ceilometer_api_install_result.version) }}"

# NOTE: Since Ceilometer runs as Modwsgi we can not set ceilometer api
# config directory to versioned config directory. It will be default
# to global_conf i.e. /etc/ceilometer

- name: CEI-API | install | Install modwsgi dependencies
  become: yes
  package:
    name: "{{ item }}"
    state: present
  with_items: ceilometer_api_dependencies

- name: CEI-API | install | Create modwsgi handler directory
  become: yes
  file:
    path: "{{ www_root }}/ceilometer"
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    mode: 0755
    state: directory
    recurse: yes
07070100000034000081A40000000000000000000000015B730D0500001488000000000000000000000000000000000000005300000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/keystone_conf.yml#
# (c) Copyright 2015-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.
#

# Making Keystone changes to set up ceilometer API endpoint:
# Refer: http://docs.openstack.org/juno/install-guide/install/\
#        apt/content/ceilometer-controller-install.html
# Step 5 & 6
#
---
- name: CEI-API | keystone_conf | Get a domain scoped token
  keystone_v3:
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    login_username: "{{ keystone.admin_user }}"
    login_password: "{{ keystone.admin_password }}"
    login_user_domain_name: "{{ keystone.default_domain_name }}"
    login_domain_name: "{{ keystone.default_domain_name }}"
    action: "token_get"
  run_once: true
  register: domain_scoped_token_result

- name: CEI-API | keystone_conf | Create Admin User
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_password: "{{ id_password }}"
    user_domain_name: "Default"
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "create_user"
  register: result_ceilkey_result
  until : not result_ceilkey_result|failed
  retries: 6
  delay: 5
  run_once: true

- name: CEI-API | keystone_conf | Apply admin Role to admin user service project
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_domain_name: "Default"
    project_domain_name: "Default"
    project_name: "{{ id_service_tenant }}"
    role_name: "{{ id_admin_role }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "grant_project_role"
  run_once: true

- name: CEI-API | keystone_conf | Apply domain observer Role to  service project
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_domain_name: "Default"
    project_domain_name: "Default"
    project_name: "{{ id_service_tenant }}"
    role_name: "{{ id_domain_observer_role }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "grant_project_role"
  run_once: true

- name: CEI-API | keystone_conf | Apply admin Role to admin user admin project
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_domain_name: "Default"
    project_domain_name: "Default"
    project_name: "{{ keystone.admin_tenant }}"
    role_name: "{{ id_admin_role }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "grant_project_role"
  run_once: true

- name: CEI-API | keystone_conf | Search if Reseller admin role exists
  keystone_v3:
    role_name: ResellerAdmin
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "find_role"
  run_once: true
  register: find_role_result

- name: CEI-API | keystone_conf | Apply ResellerAdmin Role to admin User
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_domain_name: "Default"
    project_domain_name: "Default"
    project_name: "{{ id_service_tenant }}"
    role_name: ResellerAdmin
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "grant_project_role"
  run_once: true
  when: find_role_result.result

- name: CEI-API | keystone_conf | Apply monasca-user Role to service User
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_domain_name: "Default"
    project_domain_name: "Default"
    project_name: "{{ id_service_tenant }}"
    role_name: monasca-user
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "grant_project_role"
  run_once: true

- name: CEI-API | keystone_conf | Search if Keystone-Observer role exists
  keystone_v3:
    role_name: "{{ keystone.project_observer_role }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "find_role"
  run_once: true
  register: find_observer_role_result

- name: CEI-API | keystone_conf | Apply Keystone-Observer Role to service User
  become: yes
  keystone_v3:
    user_name: ceilometer
    user_domain_name: "Default"
    project_domain_name: "Default"
    project_name: "{{ id_service_tenant }}"
    role_name: "{{ keystone.project_observer_role }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    action: "grant_project_role"
  run_once: true
  when: find_observer_role_result.result
07070100000035000081A40000000000000000000000015B730D05000006D5000000000000000000000000000000000000005C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/keystone_pwd_configure.yml#
# (c) Copyright 2015-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.
#

# Making Keystone changes to set up ceilometer API endpoint:
# Refer: http://docs.openstack.org/juno/install-guide/install/\
#        apt/content/ceilometer-controller-install.html
# Step 5 & 6
#
---
- name: CEI-API | keystone_pwd_configure | Get a domain scoped token
  keystone_v3:
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    login_username: "{{ keystone.admin_user }}"
    login_password: "{{ keystone.admin_password }}"
    login_user_domain_name: "{{ keystone.default_domain_name }}"
    login_domain_name: "{{ keystone.default_domain_name }}"
    action: "token_get"
  run_once: true
  register: domain_scoped_token_result

- name: CEI-API | keystone_pwd_configure | Reset ceilometer keystone password
  become: yes
  keystone_v3:
    endpoint: "{{ id_admin_uri }}/{{ service_config_keystone_ver }}"
    user_name: ceilometer
    user_password: "{{ id_password }}"
    user_domain_name: "Default"
    login_token: "{{ domain_scoped_token_result.result }}"
    action: "reset_password_by_admin"
  run_once: true
  register: ardana_notify_ceilometer_api_restart_required
07070100000036000081A40000000000000000000000015B730D05000002AD000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/main.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.
#

- name: CEI-API | main | include OS specific variables
  include_vars: "{{ ansible_os_family | lower }}.yml"07070100000037000081A40000000000000000000000015B730D0500000C67000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/start.yml#
# (c) Copyright 2015-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.
#
---
- include: ../../_CEI-CMN/tasks/_activate.yml

- name: CEI-API | start | Activate the latest install
  become: yes
  install_package:
    name: ceilometer
    service: ceilometer-api
    activate: act_on
    version: "{{ ceilometer_api_install_result.version }}"
  when: ardana_notify_ceilometer_api_venv_change is defined and
        ardana_notify_ceilometer_api_venv_change.changed and
        ceilometer_api_venv_changed_result is not defined
  register: ceilometer_api_venv_changed_result

- name: CEI-API | start | Create Symlinks for other config files from install
  file:
    src: "{{ ceilometer_api_conf_dir }}/{{ item }}"
    dest: "{{ ceilometer_global_conf_dir }}/{{ item }}"
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    state: link
    mode: 0750
  with_items:
    - api-logging.conf
    - api_paste.ini
    - ceilometer.conf
    - pipeline-api.yaml
    - event-pipeline-api.yaml
    - policy.json
    - ceilosca_mapping.yaml
    - ceilometer_static_info_mapping.yaml
  become: yes

- name: CEI-API | start | Create symbolic link for startup file
  become: yes
  file:
    src: "{{ ceilometer_api_venv_dir }}/bin/ceilometer-api"
    dest: "{{ www_root }}/ceilometer/{{ ceilometer_component }}"
    owner: root
    group: "{{ ceilometer_group }}"
    state: link

- name: CEI-API | start | Enable Ceilometer site
  become: yes
  file:
    src: "{{ apache2_vhost_dir }}/ceilometer_modwsgi.vhost"
    dest: "{{ apache2_vhost_dir }}/ceilometer_modwsgi.conf"
    state: link
  register: ceilometer_enable_result

- include: "{{ playbook_dir }}/roles/FND-AP2/tasks/start_reload.yml"
  vars:
    apache_reload_requested: "{{
      (ardana_notify_ceilometer_api_restart_required is defined and
      ardana_notify_ceilometer_api_restart_required.changed and
      ceilometer_api_restarted_result is not defined) or
      ceilometer_enable_result.changed }}"
    apache_restart_requested: "{{
      ardana_notify_apache2_restart_required is defined and
      ardana_notify_apache2_restart_required.changed and
      ceilometer_api_restarted_result is not defined }}"
  register: ceilometer_api_restarted_result

- name: CEI-API | start | Make sure ceilometer api is up and responding
  uri:
    url: "{{ ceilometer_api_vip_private_url }}/v2/health"
    status_code: 200
    timeout: 20
  register: ceilometer_version_status_result
  until: ceilometer_version_status_result.status is defined
    and ceilometer_version_status_result.status == 200
  delay: 30
  retries: 6
  run_once: true
07070100000038000081A40000000000000000000000015B730D05000003A0000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/status.yml#
# (c) Copyright 2015 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: CEI-API | status | Ceilometer API status
  action: uri url=http://localhost:8777/v2/health return_content=yes
  ignore_errors: True
  register: health_check_output_result

- name: CEI-API | status | Ceilometer API status output
  debug: msg="{{ health_check_output_result }}"

07070100000039000081A40000000000000000000000015B730D0500000414000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/tasks/stop.yml#
# (c) Copyright 2015 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: CEI-API | stop | Disable Ceilometer site
  become: yes
  file:
    state: absent
    path: "{{ apache2_vhost_dir }}/ceilometer-modwsgi.conf"

# Reload Apache, ignore errors, if reload fails in stop as apache not
# running, keep going
- name: CEI-API | stop | Reload apache after disabling Ceilometer API
  become: yes
  service:
    name: apache2
    state: reloaded
  ignore_errors: yes
0707010000003A000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates0707010000003B000081A40000000000000000000000015B730D0500000B15000000000000000000000000000000000000005900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/api-logging.conf.j2{#
#
# (c) Copyright 2015-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.
#
#}
[loggers]
keys: root, iso8601, dogpile, requests{%- if ceilometer_enable_auditing|bool %}, audit{% endif %}

[handlers]
keys: watchedfile, logstash{%- if ceilometer_enable_auditing|bool %}, auditfile{% endif %}

[formatters]
keys:  debug,minimal, normal, logstash


###########
# Loggers #
###########

[logger_root]
qualname: root
handlers: watchedfile, logstash
level: NOTSET

[logger_iso8601]
qualname: iso8601
handlers: watchedfile, logstash
level: INFO

[logger_dogpile]
qualname: dogpile
handlers: watchedfile, logstash
level: INFO

[logger_requests]
qualname: requests
handlers: watchedfile, logstash
level: WARNING

{%- if ceilometer_enable_auditing|bool %}


[logger_audit]
qualname: oslo.messaging.notification.audit
handlers: auditfile
propagate: 0
level: INFO

{% endif %}

################
# Log Handlers #
################

# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('/var/log/ceilometer/ceilometer-api.log',)
formatter = debug
level: {{ ceilometer_loglevel }}

# Writes JSON to disk, beaver will ship to logstash
[handler_logstash]
class: handlers.WatchedFileHandler
args: ('/var/log/ceilometer/ceilometer-api-json.log',)
formatter= logstash
level: {{ ceilometer_logstash_loglevel }}

{%- if ceilometer_enable_auditing|bool %}


[handler_auditfile]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_audit_log_base_location }}/ceilometer/ceilometer-audit.log',)
formatter = minimal
level: INFO

{% endif %}

##################
# Log Formatters #
##################

[formatter_minimal]
format=%(message)s

[formatter_normal]
format=(%(name)s): %(asctime)s %(levelname)s %(message)s

[formatter_debug]
format=(%(name)s): %(asctime)s %(levelname)s %(module)s %(funcName)s %(message)s

# datefmt must be set otherwise you end up with too many (msecs) fields
[formatter_context]
class: oslo_log.formatters.ContextFormatter
args: (datefmt=datefmt)
format: %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
datefmt: %Y-%m-%d %H:%M:%S

# the "format" attr actually sets the "type"
[formatter_logstash]
class = logstash.LogstashFormatterVersion1
format = ceilometer
0707010000003C000081A40000000000000000000000015B730D0500000482000000000000000000000000000000000000005B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/api_audit_map.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.
#
#}
[DEFAULT]
# default target endpoint type
# should match the endpoint type defined in service catalog
target_endpoint_type = None

# possible end path of api requests
[path_keywords]
meters = meter_name
resources = resource_id
statistics = None
samples = sample_id
capabilities = None
alarms = alarm_id
history = None
state = None
event_types = event_type
traits = event_type
events = message_id

# map endpoint type defined in service catalog to CADF typeURI
[service_endpoints]
telemetry = service/telemetry
0707010000003D000081A40000000000000000000000015B730D05000005EB000000000000000000000000000000000000005600000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/api_paste.ini.j2#
# (c) Copyright 2015-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.
#
# Ceilometer API WSGI Pipeline
# Define the filters that make up the pipeline for processing WSGI requests
# Note: This pipeline is PasteDeploy's term rather than Ceilometer's pipeline
# used for processing samples

# Remove authtoken from the pipeline if you don't want to use keystone
# authentication
[pipeline:main]
pipeline = healthcheck authtoken {{ audit_filter }} api-server

[app:api-server]
paste.app_factory = ceilometer.api.app:app_factory

[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
oslo_config_project = ceilometer

[filter:healthcheck]
paste.filter_factory = ceilometer.api.health:filter_factory
oslo_config_project = ceilometer

[filter:audit]
paste.filter_factory = keystonemiddleware.audit:filter_factory
audit_map_file = {{ ceilometer_api_conf_dir }}/api_audit_map.conf
oslo_config_project = ceilometer
0707010000003E000081A40000000000000000000000015B730D05000005FE000000000000000000000000000000000000006000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/ceilometer_modwsgi.conf.j2{#
#
# (c) Copyright 2015-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.
#
#}
Listen {{ ceilometer_api_bind_host }}:{{ ceilometer_api_bind_port }}

<VirtualHost *:8777>
  WSGIScriptAlias / {{ www_root }}/ceilometer/ceilometer-api
  WSGIDaemonProcess ceilometer user=ceilometer group=ceilometer processes=4 threads=5 socket-timeout=600 python-path={{ ceilometer_api_venv_dir }}:{{ ceilometer_api_venv_dir }}/lib/python2.7/site-packages/ display-name=ceilometer-api
  WSGIApplicationGroup %{GLOBAL}
  WSGIProcessGroup ceilometer

  ErrorLog /var/log/ceilometer/ceilometer_modwsgi.log
  LogLevel {{ ceilometer_loglevel }}
  CustomLog /var/log/ceilometer/ceilometer_access.log combined

  <Directory {{ ceilometer_api_venv_dir }}/lib/python2.7/site-packages/ceilometer>
    Options Indexes FollowSymLinks MultiViews
    Require all granted
    AllowOverride None
    Order allow,deny
    allow from all
    LimitRequestBody 102400
  </Directory>
</VirtualHost>
0707010000003F000081A40000000000000000000000015B730D05000000C1000000000000000000000000000000000000006000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/event-pipeline-api.yaml.j2---
sources:
    - name: event_source
      events:
          - "!*"
      sinks:
          - event_sink
sinks:
    - name: event_sink
      transformers:
      publishers:
          - test://
07070100000040000081A40000000000000000000000015B730D05000008F5000000000000000000000000000000000000005A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/pipeline-api.yaml.j2{#
#
# (c) Copyright 2015-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.
#
#}
---
sources:
    - name: compute_source
      interval: 30
      meters:
          - "instance"
          - "memory"
          - "vcpus"
      sinks:
          - meter_sink
    - name: network_source
      interval: 30
      meters:
      meters:
          - "network"
          - "port"
          - "router"
          - "subnet"
          - "ip.floating"
          - "network.create"
          - "network.update"
          - "network.delete"
          - "port.create"
          - "port.delete"
          - "port.update"
          - "router.create"
          - "router.delete"
          - "router.update"
          - "subnet.create"
          - "subnet.delete"
          - "subnet.update"
      sinks:
          - meter_sink
    - name: image_source
      interval: 30
      meters:
          - "image"
          - "image.size"
          - "image.update"
          - "image.upload"
          - "image.delete"
      sinks:
          - meter_sink
    - name: volume_source
      interval: 30
      meters:
          - "volume"
          - "volume.size"
          - "snapshot"
          - "snapshot.size"
          - "volume.delete.end"
          - "volume.create.end"
          - "volume.resize.end"
          - "volume.update.end"
          - "snapshot.create.end"
          - "snapshot.delete.end"
      sinks:
          - meter_sink
    - name: swift_source
      interval: 3600
      meters:
          - "storage.objects"
          - "storage.objects.size"
          - "storage.objects.containers"
      sinks:
          - meter_sink
sinks:
    - name: meter_sink
      transformers:
      publishers:
         - {{ cm_backend_connection }}
07070100000041000081A40000000000000000000000015B730D05000004E6000000000000000000000000000000000000005400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/templates/policy.json.j2{#
#
# (c) Copyright 2015-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.
#
#}
{
"context_is_admin": "role:admin",
"context_is_project": "project_id:%(target.project_id)s",
"context_is_owner": "user_id:%(target.user_id)s",
"segregation": "rule:context_is_admin",

"telemetry:create_samples": "ardana_disabled_rule:not_implemented",

"telemetry:events:index": "ardana_disabled_rule:not_implemented",
"telemetry:events:show": "ardana_disabled_rule:not_implemented",
"telemetry:event_types:index": "ardana_disabled_rule:not_implemented",
"telemetry:traits:show": "ardana_disabled_rule:not_implemented",
"telemetry:traits:index": "ardana_disabled_rule:not_implemented",

"default": ""
}
07070100000042000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/vars07070100000043000081A40000000000000000000000015B730D05000002FA000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/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.
#
---
ceilometer_api_dependencies:
  - libapache2-mod-wsgi
  - libssl-dev
  - libapache2-mod-shib2
  - libffi-dev
  - libmysqlclient18
  - python-httplib2 # Required for ansible url plugin07070100000044000081A40000000000000000000000015B730D0500000313000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-API/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.
#
---
ceilometer_api_dependencies:
  - apache2-mod_wsgi
  - ipmitool
  - libffi4
  - libmysqlclient18
  - libopenssl1_0_0
  - logrotate
  - python-httplib2 # Required for ansible url plugin
  - shibboleth-sp
07070100000045000041ED0000000000000000000000055B730D0500000000000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG07070100000046000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG/defaults07070100000047000081A40000000000000000000000015B730D0500000288000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG/defaults/main.yml#
# (c) Copyright 2015-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.
#
---
07070100000048000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG/meta07070100000049000081A40000000000000000000000015B730D05000002A9000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG/meta/main.yml#
# (c) Copyright 2015-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.
#
---
dependencies:
  - role: _CEI-CMN
0707010000004A000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG/tasks0707010000004B000081A40000000000000000000000015B730D05000006F2000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-CAG/tasks/uninstall.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.
#

# Uninstall Ceilometer agent central if it exists
---
- name: CEI-CAG | uninstall | stop and disable the service
  become: yes
  service:
    name: ceilometer-agent-central
    state: stopped
    enabled: no

- name: CEI-CAG | uninstall | disable monitoring process check alarm
  become: yes
  monasca_agent_plugin:
    name: "ArdanaCeilometer"
    state: "absent"
  ignore_errors: yes

- name: CEI-CAG | uninstall | remove service from systemd
  become: yes
  file:
    path: /usr/lib/systemd/system/ceilometer-agent-central.service
    state: absent
  register: ardana_notify_ceilometer_cag_uninstalled

- name: CEI-CAG | uninstall | Reload Systemd after uninstall
  become: yes
  command: systemctl daemon-reload
  when: ardana_notify_ceilometer_cag_uninstalled is defined and
        ardana_notify_ceilometer_cag_uninstalled.changed and
        ceilometer_cag_unistalled_result is not defined
  register: ceilometer_cag_unistalled_result

- name: CEI-CAG | uninstall | Remove Ceilometer Agent Central package if exists
  become: yes
  package:
    name: ceilometer-agent-central
    state: absent
    force: yes
  ignore_errors: True
0707010000004C000041ED0000000000000000000000075B730D0500000000000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL0707010000004D000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/defaults0707010000004E000081A40000000000000000000000015B730D0500000455000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/defaults/main.yml#
# (c) Copyright 2015 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.
#
---
ceilometer_component: ceilometer-collector

# flag to track restart requirement during reconfigure
ceilometer_collector_restart_required: false

ceilometer_collector_activate_required: false

# Default service directories
ceilometer_collector_conf_dir: "{{ 'ceilometer-collector' | config_dir() }}"
ceilometer_collector_venv_share_dir: "{{ 'ceilometer-collector' | share_dir() }}/ceilometer"
ceilometer_collector_bin_dir:  "{{ 'ceilometer-collector' | bin_dir() }}"
0707010000004F000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/handlers07070100000050000081A40000000000000000000000015B730D0500000355000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/handlers/main.yml#
# (c) Copyright 2015-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.
#
---
# Handlers for ceilometer-collector
- name: ceilometer_collector_change
  set_fact:
    ceilometer_collector_restart_required: true

- name: reload systemd
  become: yes
  command: systemctl daemon-reload
07070100000051000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/meta07070100000052000081A40000000000000000000000015B730D05000002A4000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/meta/main.yml#
# (c) Copyright 2015 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.
#
---
dependencies:
  - role: _CEI-CMN
07070100000053000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks07070100000054000081A40000000000000000000000015B730D0500000649000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks/configure.yml#
# (c) Copyright 2015-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.
#
---
### Copying Configurations in right locations ###

- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_collector_conf_dir }}"

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-COL/templates/collector.conf.j2"
  dest: "{{ ceilometer_collector_conf_dir }}/collector.conf"
  notify:
    - ceilometer_collector_change

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-COL/templates/collector-logging.conf.j2"
  dest: "{{ ceilometer_collector_conf_dir }}/collector-logging.conf"
  notify:
    - ceilometer_collector_change

- name: CEI-COL | configure | create ceilometer-collector log
  become: yes
  file:
    path: "{{ ceilometer_log_dir }}/{{ item }}"
    state: touch
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_log_group }}"
    mode: 0640
  with_items:
     - ceilometer-collector.log
     - ceilometer-collector-json.log
  notify:
    - ceilometer_collector_change
07070100000055000081A40000000000000000000000015B730D0500000936000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks/install.yml#
# (c) Copyright 2015 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.
#

# Install Ceilometer Collector
---
- include: ../../_CEI-CMN/tasks/install.yml

- name: CEI-COL | install | Remove Ceilometer Collector package if exists
  become: yes
  package:
    name: ceilometer-collector
    state: absent
  ignore_errors: True

- name: CEI-COL | install | Update venv Cache
  become: yes
  install_package:
    cache: update

- name: CEI-COL | install | Installing Ceilometer Collector code
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-collector
    state: present
    activate: act_off
  register: ceilometer_collector_install_result
  notify: ceilometer_collector_change

- name: CEI-COL | install | Set service conf directories
  set_fact:
    ceilometer_collector_conf_dir: "{{ 'ceilometer-collector' |
      config_dir(ceilometer_collector_install_result.version) }}"
    ceilometer_collector_venv_share_dir: "{{ 'ceilometer-collector' |
      share_dir(ceilometer_collector_install_result.version) }}/ceilometer"
    ceilometer_collector_bin_dir: "{{ 'ceilometer-collector' |
      bin_dir(ceilometer_collector_install_result.version) }}"
    ceilometer_collector_activate_required: true

- name: CEI-COL | install |Setup systemd for ceilometer-collector
  become: yes
  setup_systemd:
    name: ceilometer-collector
    service: ceilometer-collector
    user: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    cmd: ceilometer-collector
    args: >
      --config-file {{ ceilometer_collector_conf_dir }}/ceilometer.conf
      --config-file {{ ceilometer_collector_conf_dir }}/collector.conf
07070100000056000081A40000000000000000000000015B730D05000005D6000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks/start.yml#
# (c) Copyright 2015 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.
#
---

- include: ../../_CEI-CMN/tasks/_activate.yml

- name: Ceilometer Collector | start | Activate the latest install
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-collector
    activate: act_on
    version: "{{ ceilometer_collector_install_result.version }}"
  when: ceilometer_collector_activate_required

- name: CEI-COL | start | Start ceilometer collector after install
  become: yes
  service:
    name: ceilometer-collector
    state: restarted
  when: ceilometer_restart_required or ceilometer_collector_restart_required

- name: CEI-COL | start | Start ceilometer collector after install
  become: yes
  service:
    name: ceilometer-collector
    state: started
07070100000057000081A40000000000000000000000015B730D05000002B8000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks/status.yml#
# (c) Copyright 2015 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: ../../_CEI-CMN/tasks/_service_status.yml
07070100000058000081A40000000000000000000000015B730D050000036E000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks/stop.yml#
# (c) Copyright 2015 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: CEI-COL | stop | Stop ceilometer collector
  become: yes
  service:
    name: ceilometer-collector
    state: stopped
  register: stop_result
  failed_when: stop_result|failed
    and 'service not found' not in stop_result.msg
07070100000059000081A40000000000000000000000015B730D0500000541000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/tasks/uninstall.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.
#

# Uninstall CEI-COL
---
- name: CEI-COL | uninstall | stop and disable the service
  become: yes
  service:
    name: ceilometer-collector
    state: stopped
    enabled: no

- name: CEI-COL | uninstall | disable monitoring process check alarm
  become: yes
  monasca_agent_plugin:
    name: "ArdanaCeilometer"
    state: "absent"
  ignore_errors: yes

- name: CEI-COL | uninstall | Remove service from systemd
  become: yes
  file:
    path: /usr/lib/systemd/system/ceilometer-collector.service
    state: absent
  notify:
    - reload systemd

- name: CEI-COL | uninstall | Remove CEI-COL package if exists
  become: yes
  package:
    name: ceilometer-collector
    state: absent
  ignore_errors: True
0707010000005A000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/templates0707010000005B000081A40000000000000000000000015B730D05000008C8000000000000000000000000000000000000005F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/templates/collector-logging.conf.j2{#
#
# (c) Copyright 2015 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.
#
#}
[loggers]
keys: root, iso8601, dogpile

[handlers]
keys: watchedfile, logstash

[formatters]
keys:  debug,minimal, normal, logstash


###########
# Loggers #
###########

[logger_root]
qualname: root
handlers: watchedfile, logstash
level: NOTSET

[logger_iso8601]
qualname: iso8601
handlers: watchedfile, logstash
level: INFO

[logger_dogpile]
qualname: dogpile
handlers: watchedfile, logstash
level: INFO

################
# Log Handlers #
################

# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-collector.log',)
formatter = debug
level: {{ ceilometer_loglevel }}

# Writes JSON to disk, beaver will ship to logstash
[handler_logstash]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-collector-json.log',)
formatter= logstash
level: {{ ceilometer_logstash_loglevel }}


##################
# Log Formatters #
##################

[formatter_minimal]
format=%(message)s

[formatter_normal]
format=(%(name)s): %(asctime)s %(levelname)s %(message)s

[formatter_debug]
format=(%(name)s): %(asctime)s %(levelname)s %(module)s %(funcName)s %(message)s

# datefmt must be set otherwise you end up with too many (msecs) fields
[formatter_context]
class: oslo_log.formatters.ContextFormatter
args: (datefmt=datefmt)
format: %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
datefmt: %Y-%m-%d %H:%M:%S

# the "format" attr actually sets the "type"
[formatter_logstash]
class = logstash.LogstashFormatterVersion1
format = ceilometer

0707010000005C000081A40000000000000000000000015B730D05000002DC000000000000000000000000000000000000005700000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-COL/templates/collector.conf.j2{#
#
# (c) Copyright 2015 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.
#
#}
[DEFAULT]
log_config_append={{ ceilometer_collector_conf_dir }}/collector-logging.conf
0707010000005D000041ED0000000000000000000000075B730D0500000000000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP0707010000005E000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/defaults0707010000005F000081A40000000000000000000000015B730D0500000445000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/defaults/main.yml#
# (c) Copyright 2015 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.
#
---
ceilometer_component: ceilometer-expirer

# flag to track restart requirement during reconfigure
ceilometer_expirer_restart_required: false
ceilometer_expirer_activate_required: false

# Default service directories
ceilometer_expirer_conf_dir: "{{ 'ceilometer-expirer' | config_dir() }}"
ceilometer_expirer_venv_share_dir: "{{ 'ceilometer-expirer' | share_dir() }}/ceilometer"
ceilometer_expirer_bin_dir:  "{{ 'ceilometer-expirer' | bin_dir() }}"



07070100000060000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/handlers07070100000061000081A40000000000000000000000015B730D05000002FA000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/handlers/main.yml#
# (c) Copyright 2015 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.
#
---
# Handlers for ceilometer-expirer
- name: ceilometer_expirer_change
  set_fact:
    ceilometer_expirer_required: true

07070100000062000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/meta07070100000063000081A40000000000000000000000015B730D05000002A5000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/meta/main.yml#
# (c) Copyright 2015 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.
#
---
dependencies:
  - role: _CEI-CMN

07070100000064000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks07070100000065000081A40000000000000000000000015B730D050000052D000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks/configure.yml#
# (c) Copyright 2015-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.
#

# Configure Ceilometer Expirer
# We only neeed to create the Cron entry for this one
---
- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_expirer_conf_dir }}"

- name: CEI-EXP | configure | Installing Configuration
  become: yes
  template:
     src: "{{ item.filename }}.j2"
     dest: "{{ item.destination }}/{{ item.filename }}"
     owner: "{{ ceilometer_user }}"
     group: "{{ ceilometer_log_group }}"
     mode: 0400
  with_items:
     - { filename: 'expirer.conf',
         destination: '{{ ceilometer_expirer_conf_dir }}'}
     - { filename: 'expirer-logging.conf',
         destination: '{{ ceilometer_expirer_conf_dir }}'}
07070100000066000081A40000000000000000000000015B730D0500000776000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks/install.yml#
# (c) Copyright 2015 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.
#

# Install Ceilometer EXP
---
- include: ../../_CEI-CMN/tasks/install.yml

- name: CEI-EXP | install | Remove Ceilometer EXP package if exists
  become: yes
  package:
    name: ceilometer-expirer
    state: absent
  ignore_errors: True

- name: CEI-EXP | install | Update venv Cache
  become: yes
  install_package:
     cache: update

- name: CEI-EXP | install | Installing Ceilometer EXP code
  become: yes
  install_package:
     name: "{%- if deployer_media_legacy_layout|bool -%}
               ceilometer
             {%- else -%}
               monasca-ceilometer
             {%- endif -%}"
     service: ceilometer-expirer
     state: present
     activate: act_off
  register: ceilometer_expirer_install_result
  notify: ceilometer_expirer_change

- name: Ceilometer EXP | install | Set service conf directories
  set_fact:
    ceilometer_expirer_conf_dir: "{{ 'ceilometer-expirer' |
      config_dir(ceilometer_expirer_install_result.version) }}"
    ceilometer_expirer_venv_share_dir: "{{ 'ceilometer-expirer' |
      share_dir(ceilometer_expirer_install_result.version) }}/ceilometer"
    ceilometer_expirer_bin_dir: "{{ 'ceilometer-expirer' |
      bin_dir(ceilometer_expirer_install_result.version) }}"
    ceilometer_expirer_activate_required: true
07070100000067000081A40000000000000000000000015B730D0500000581000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks/start.yml#
# (c) Copyright 2015 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.
#
---

- include: ../../_CEI-CMN/tasks/_activate.yml

- name: CEI-EXP | start | Activate the latest install
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-expirer
    activate: act_on
    version: "{{ ceilometer_expirer_install_result.version }}"
  when: ceilometer_expirer_activate_required

- name: CEI-EXP | start | Installing Cron to start expirer
  become: yes
  template:
     src: "{{ item.filename }}.j2"
     dest: "{{ item.destination }}/{{ item.filename }}"
     owner: root
     group: root
  with_items:
     - { filename: 'ceilometer-expirer-cron', destination: '/etc/cron.d'}
07070100000068000081A40000000000000000000000015B730D050000039C000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks/status.yml#
# (c) Copyright 2015 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: CEI-EXP | status | ceilometer-expirer status
  stat:
    path: '/etc/cron.d/ceilometer-expirer-cron'
  ignore_errors: True
  register: expirer_path_result

- name: CEI-EXP | status | print ceilometer-expirer status
  debug:
    msg: "{{ expirer_path_result.stat.exists }}"
07070100000069000081A40000000000000000000000015B730D0500000311000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks/stop.yml#
# (c) Copyright 2015 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: CEI-EXP | stop | removing Cron to stop expirer
  become: yes
  file:
    path: /etc/cron.d/ceilometer-expirer-cron
    state: absent
0707010000006A000081A40000000000000000000000015B730D05000003C3000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/tasks/uninstall.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.
#

# Uninstall CEI-EXP
---
- name: CEI-EXP | uninstall | remove service from cron
  become: yes
  file:
    path: /etc/cron.d/ceilometer-expirer-cron
    state: absent

- name: CEI-EXP | uninstall | Remove CEI-EXP package if exists
  become: yes
  package:
    name: ceilometer-expirer
    state: absent
  ignore_errors: True
0707010000006B000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/templates0707010000006C000081A40000000000000000000000015B730D05000005A8000000000000000000000000000000000000006000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/templates/ceilometer-expirer-cron.j2{#
#
# (c) Copyright 2015 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.
#
#}
# Cronjob to execute the Ceilometer data expirer (only expire samples) according to the configuration setting "time_to_live"
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
30 0,4,8,12,16 * * * ceilometer {{ ceilometer_expirer_bin_dir }}/ceilometer-expirer --config-file {{ ceilometer_expirer_conf_dir }}/ceilometer.conf  --config-file {{ ceilometer_expirer_conf_dir }}/expirer.conf --sql-expire-samples-only
# Cronjob to execute the Ceilometer data expirer (expire samples, meters, resources and metadata) according to the configuration setting "time_to_live"
30 20 * * * ceilometer {{ ceilometer_expirer_bin_dir }}/ceilometer-expirer --config-file {{ ceilometer_expirer_conf_dir }}/ceilometer.conf --config-file {{ ceilometer_expirer_conf_dir }}/expirer.conf
0707010000006D000081A40000000000000000000000015B730D05000008C3000000000000000000000000000000000000005D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/templates/expirer-logging.conf.j2{#
#
# (c) Copyright 2015 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.
#
#}
[loggers]
keys: root, iso8601, dogpile

[handlers]
keys: watchedfile, logstash

[formatters]
keys:  debug,minimal, normal, logstash


###########
# Loggers #
###########

[logger_root]
qualname: root
handlers: watchedfile, logstash
level: NOTSET

[logger_iso8601]
qualname: iso8601
handlers: watchedfile, logstash
level: INFO

[logger_dogpile]
qualname: dogpile
handlers: watchedfile, logstash
level: INFO

################
# Log Handlers #
################

# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-expirer.log',)
formatter = debug
level: {{ ceilometer_loglevel }}

# Writes JSON to disk, beaver will ship to logstash
[handler_logstash]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-expirer-json.log',)
formatter= logstash
level: {{ ceilometer_logstash_loglevel }}


##################
# Log Formatters #
##################

[formatter_minimal]
format=%(message)s

[formatter_normal]
format=(%(name)s): %(asctime)s %(levelname)s %(message)s

[formatter_debug]
format=(%(name)s): %(asctime)s %(levelname)s %(module)s %(funcName)s %(message)s

# datefmt must be set otherwise you end up with too many (msecs) fields
[formatter_context]
class: oslo_log.formatters.ContextFormatter
args: (datefmt=datefmt)
format: %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
datefmt: %Y-%m-%d %H:%M:%S

# the "format" attr actually sets the "type"
[formatter_logstash]
class = logstash.LogstashFormatterVersion1
format = ceilometer
0707010000006E000081A40000000000000000000000015B730D05000002DD000000000000000000000000000000000000005500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-EXP/templates/expirer.conf.j2{#
#
# (c) Copyright 2015-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.
#
#}
[DEFAULT]
log_config_append={{ ceilometer_expirer_conf_dir }}/expirer-logging.conf
0707010000006F000041ED0000000000000000000000065B730D0500000000000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG07070100000070000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/defaults07070100000071000081A40000000000000000000000015B730D05000003D3000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/defaults/main.yml#
# (c) Copyright 2015 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.
#
---
ceilometer_component: ceilometer-agent-notification

# Default service directories
ceilometer_nag_conf_dir: "{{ 'ceilometer-agent-notification' | config_dir() }}"
ceilometer_nag_venv_share_dir: "{{ 'ceilometer-agent-notification' | share_dir() }}/ceilometer"
ceilometer_nag_bin_dir:  "{{ 'ceilometer-agent-notification' | bin_dir() }}"
07070100000072000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/meta07070100000073000081A40000000000000000000000015B730D05000002A4000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/meta/main.yml#
# (c) Copyright 2015 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.
#
---
dependencies:
  - role: _CEI-CMN
07070100000074000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks07070100000075000081A40000000000000000000000015B730D0500000552000000000000000000000000000000000000006200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/ceilometer_nag_pwd_configure.yml#
# (c) Copyright 2015-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: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_nag_conf_dir }}"

- name: CEI-NAG | ceilometer_nag_pwd_configure |
    Register ceilometer nag restart
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-NAG/templates/agent-notification.conf.j2"
  dest: "{{ ceilometer_nag_conf_dir }}/agent-notification.conf"

- name: CEI-NAG | ceilometer_nag_pwd_configure |
    Register ceilometer nag restart
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: write_conf_result.changed
07070100000076000081A40000000000000000000000015B730D0500000B38000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/configure.yml#
# (c) Copyright 2015-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: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_nag_conf_dir }}"

- name: CEI-NAG | configure | Register ceilometer nag restart
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed


- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-NAG/templates/agent-notification.conf.j2"
  dest: "{{ ceilometer_nag_conf_dir }}/agent-notification.conf"

- name: CEI-NAG | configure | configure agent-notification.conf
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: write_conf_result.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-NAG/templates/agent-notification-logging.conf.j2"
  dest: "{{ ceilometer_nag_conf_dir }}/agent-notification-logging.conf"

- name: CEI-NAG | configure | configure agent-notification-logging.conf
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: write_conf_result.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-NAG/templates/meters.yaml.j2"
  dest: "{{ ceilometer_nag_conf_dir }}/meters.yaml"

- name: CEI-NAG | configure | configure meters.yaml
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: write_conf_result.changed

- include: pipeline_configure.yml

- name: CEI-NAG | configure | create ceilometer-agent-notification log
  become: yes
  file:
    path: "{{ ceilometer_log_dir }}/{{ item }}"
    state: touch
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_log_group }}"
    mode: 0640
  with_items:
    - ceilometer-agent-notification.log
    - ceilometer-agent-notification-json.log
  register: ardana_notify_ceilometer_nag_restart_required

# With 'enable' SLES systemctl fails, claiming 'Too many levels of symbolic
# links', if service is already enabled and systemd unit file is symlink.
# So reenable is the suggested option.
- name: CEI-NAG | configure | Enable the ceilometer notifiation agent
    services to start on boot
  become: yes
  command: systemctl reenable ceilometer-agent-notification
  register: ardana_notify_ceilometer_nag_restart_required
07070100000077000081A40000000000000000000000015B730D0500000AA8000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/install.yml#
# (c) Copyright 2015 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.
#

# Install Ceilometer notification agent
---

- include: ../../_CEI-CMN/tasks/install.yml

- name: CEI-NAG | install | Remove Ceilometer Agent Notification package
  become: yes
  package:
    name: ceilometer-agent-notification
    state: absent
  ignore_errors: True

- name: CEI-NAG | install | Update venv Cache
  become: yes
  install_package:
    cache: update

- name: CEI-NAG | install | Installing Ceilometer Agent Notification code
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-agent-notification
    state: present
    activate: act_off
  register: ceilometer_nag_install_result

- name: CEI-NAG | install | Register Venv Change
  command: echo "ceilometer nag venv changed"
  register: ardana_notify_ceilometer_nag_venv_change
  when: ceilometer_nag_install_result.changed

- name: CEI-NAG | install | Register restart required
  command: echo "ceilometer nag restart required"
  register: ardana_notify_ceilometer_nag_restart_required
  when: ceilometer_nag_install_result.changed

- name: CEI-NAG | install | Set service conf directory
  set_fact:
    ceilometer_nag_conf_dir: "{{ 'ceilometer-agent-notification' |
      config_dir(ceilometer_nag_install_result.version) }}"
    ceilometer_nag_venv_share_dir: "{{ 'ceilometer-agent-notification' |
      share_dir(ceilometer_nag_install_result.version) }}/ceilometer"
    ceilometer_nag_bin_dir: "{{ 'ceilometer-agent-notification' |
      bin_dir(ceilometer_nag_install_result.version) }}"

- name: CEI-NAG | install | Setup systemd for ceilometer-agent-notification
  become: yes
  setup_systemd:
    name: ceilometer-agent-notification
    service: ceilometer-agent-notification
    user: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    cmd: ceilometer-agent-notification
    args: >
      --config-file {{ ceilometer_nag_conf_dir }}/ceilometer.conf
      --config-file {{ ceilometer_nag_conf_dir }}/agent-notification.conf
07070100000078000081A40000000000000000000000015B730D0500000613000000000000000000000000000000000000005800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/pipeline_configure.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.
#
---

- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_nag_conf_dir }}"

- name: CEI-NAG | pipeline_configure | Register ceilometer nag restart
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-NAG/templates/pipeline-agent-notification.yaml.j2"
  dest: "{{ ceilometer_nag_conf_dir }}/pipeline-agent-notification.yaml"

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-NAG/templates/event-pipeline-agent-notification.yaml.j2"
  dest: "{{ ceilometer_nag_conf_dir }}/event-pipeline-agent-notification.yaml"

- name: CEI-NAG | pipeline_configure | Register ceilometer nag restart
  command: /bin/true
  register: ardana_notify_ceilometer_nag_restart_required
  when: write_conf_result.changed
07070100000079000081A40000000000000000000000015B730D050000071E000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/start.yml#
# (c) Copyright 2015 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.
#
---

- include: ../../_CEI-CMN/tasks/_activate.yml

- name: CEI-NAG | start | Activate the latest install
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-agent-notification
    activate: act_on
    version: "{{ ceilometer_nag_install_result.version }}"
  when: ardana_notify_ceilometer_nag_venv_change is defined
    and ardana_notify_ceilometer_nag_venv_change.changed
    and ceilometer_nag_venv_changed_result is not defined
  register: ceilometer_nag_venv_changed_result

- name: CEI-NAG | start | Start notification-agent after install
  become: yes
  service:
    name: ceilometer-agent-notification
    state: restarted
  when: ardana_notify_ceilometer_nag_restart_required is defined
    and ardana_notify_ceilometer_nag_restart_required.changed
    and ceilometer_nag_restarted_result is not defined
  register: ceilometer_nag_restarted_result

- name: CEI-NAG | start | Start notification-agent after install
  become: yes
  service:
    name: ceilometer-agent-notification
    state: started
0707010000007A000081A40000000000000000000000015B730D05000002B8000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/status.yml#
# (c) Copyright 2015 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: ../../_CEI-CMN/tasks/_service_status.yml
0707010000007B000081A40000000000000000000000015B730D0500000375000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/tasks/stop.yml#
# (c) Copyright 2015 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: CEI-NAG | stop | Stop notification-agent
  become: yes
  service:
    name: ceilometer-agent-notification
    state: stopped
  register: stop_result
  failed_when: stop_result|failed
    and 'service not found' not in stop_result.msg
0707010000007C000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/templates0707010000007D000081ED0000000000000000000000015B730D0500000939000000000000000000000000000000000000006800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/templates/agent-notification-logging.conf.j2{#
#
# (c) Copyright 2015 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.
#
#}
[loggers]
keys: root, iso8601, dogpile, requests

[handlers]
keys: watchedfile, logstash

[formatters]
keys:  debug,minimal, normal, logstash


###########
# Loggers #
###########

[logger_root]
qualname: root
handlers: watchedfile, logstash
level: NOTSET

[logger_iso8601]
qualname: iso8601
handlers: watchedfile, logstash
level: INFO

[logger_dogpile]
qualname: dogpile
handlers: watchedfile, logstash
level: INFO

[logger_requests]
qualname: requests
handlers: watchedfile, logstash
level: WARNING

################
# Log Handlers #
################

# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-agent-notification.log',)
formatter = debug
level: {{ ceilometer_loglevel }}

# Writes JSON to disk, beaver will ship to logstash
[handler_logstash]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-agent-notification-json.log',)
formatter= logstash
level: {{ ceilometer_logstash_loglevel }}


##################
# Log Formatters #
##################

[formatter_minimal]
format=%(message)s

[formatter_normal]
format=(%(name)s): %(asctime)s %(levelname)s %(message)s

[formatter_debug]
format=(%(name)s): %(asctime)s %(levelname)s %(module)s %(funcName)s %(message)s

# datefmt must be set otherwise you end up with too many (msecs) fields
[formatter_context]
class: oslo_log.formatters.ContextFormatter
args: (datefmt=datefmt)
format: %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
datefmt: %Y-%m-%d %H:%M:%S

# the "format" attr actually sets the "type"
[formatter_logstash]
class = logstash.LogstashFormatterVersion1
format = ceilometer

0707010000007E000081ED0000000000000000000000015B730D05000006D4000000000000000000000000000000000000006000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/templates/agent-notification.conf.j2{#
#
# (c) Copyright 2015-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.
#
#}
[DEFAULT]
log_config_append={{ ceilometer_nag_conf_dir }}/agent-notification-logging.conf
pipeline_cfg_file={{ ceilometer_nag_conf_dir }}/pipeline-agent-notification.yaml
event_pipeline_cfg_file={{ ceilometer_nag_conf_dir }}/event-pipeline-agent-notification.yaml

[notification]
workload_partitioning=False
disable_non_metric_meters=False
meter_definitions_cfg_file={{ ceilometer_nag_conf_dir }}/meters.yaml
notification_control_exchanges=nova
notification_control_exchanges=glance
notification_control_exchanges=neutron
notification_control_exchanges=cinder
notification_control_exchanges=heat
notification_control_exchanges=swift

[monasca]
batch_mode=True
batch_count=1000
batch_timeout=15
batch_polling_interval=5
retry_on_failure=True
retry_interval=60
max_retries=10
archive_on_failure=False
service_project_name={{ keystone.admin_tenant }}


## Need to publish ceilometer meters as admin tenant
## so that it is accessible through monasca using admin tenant
[service_credentials]
project_name={{ keystone.admin_tenant }}

[keystone_authtoken]
project_name={{ keystone.admin_tenant }}

0707010000007F000081A40000000000000000000000015B730D05000000C1000000000000000000000000000000000000006F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/templates/event-pipeline-agent-notification.yaml.j2---
sources:
    - name: event_source
      events:
          - "!*"
      sinks:
          - event_sink
sinks:
    - name: event_sink
      transformers:
      publishers:
          - test://
07070100000080000081A40000000000000000000000015B730D05000053A7000000000000000000000000000000000000005400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/templates/meters.yaml.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.
#
#}
---

metric:
  # Image
  - name: "image.size"
    event_type:
      - "image.upload"
      - "image.delete"
      - "image.update"
    type: "gauge"
    unit: B
    volume: $.payload.size
    resource_id: $.payload.id
    project_id: $.payload.owner

  - name: "image.download"
    event_type: "image.send"
    type: "delta"
    unit: "B"
    volume: $.payload.bytes_sent
    resource_id: $.payload.image_id
    user_id: $.payload.receiver_user_id
    project_id: $.payload.receiver_tenant_id

  - name: "image.serve"
    event_type: "image.send"
    type: "delta"
    unit: "B"
    volume: $.payload.bytes_sent
    resource_id: $.payload.image_id
    project_id: $.payload.owner_id

  # MagnetoDB
  - name: 'magnetodb.table.index.count'
    type: 'gauge'
    unit: 'index'
    event_type: 'magnetodb.table.create.end'
    volume: $.payload.index_count
    resource_id: $.payload.table_uuid
    user_id: $._context_user

  - name: 'volume.size'
    event_type:
      - 'volume.exists'
      - 'volume.create.*'
      - 'volume.delete.*'
      - 'volume.resize.*'
      - 'volume.attach.*'
      - 'volume.detach.*'
      - 'volume.update.*'
    type: 'gauge'
    unit: 'GB'
    volume: $.payload.size
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.volume_id

  - name: 'snapshot.size'
    event_type:
      - 'snapshot.exists'
      - 'snapshot.create.*'
      - 'snapshot.delete.*'
    type: 'gauge'
    unit: 'GB'
    volume: $.payload.volume_size
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.snapshot_id

  # Magnum
  - name: $.payload.metrics.[*].name
    event_type: 'magnum.bay.metrics.*'
    type: 'gauge'
    unit: $.payload.metrics.[*].unit
    volume: $.payload.metrics.[*].value
    user_id: $.payload.user_id
    project_id: $.payload.project_id
    resource_id: $.payload.resource_id
    lookup: ['name', 'unit', 'volume']

  # Swift
  - name: $.payload.measurements.[*].metric.[*].name
    event_type: 'objectstore.http.request'
    type: 'delta'
    unit: $.payload.measurements.[*].metric.[*].unit
    volume: $.payload.measurements.[*].result
    resource_id: $.payload.target.id
    user_id: $.payload.initiator.id
    project_id: $.payload.initiator.project_id
    lookup: ['name', 'unit', 'volume']

  - name: 'memory'
    event_type: 'compute.instance.*'
    type: 'gauge'
    unit: 'MB'
    volume: $.payload.memory_mb
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.instance_id

  - name: 'vcpus'
    event_type: 'compute.instance.*'
    type: 'gauge'
    unit: 'vcpu'
    volume: $.payload.vcpus
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.instance_id

  - name: 'disk.root.size'
    event_type: 'compute.instance.*'
    type: 'gauge'
    unit: 'GB'
    volume: $.payload.root_gb
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.instance_id

  - name: 'disk.ephemeral.size'
    event_type: 'compute.instance.*'
    type: 'gauge'
    unit: 'GB'
    volume: $.payload.ephemeral_gb
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.instance_id

  - name: 'bandwidth'
    event_type: 'l3.meter'
    type: 'delta'
    unit: 'B'
    volume: $.payload.bytes
    project_id: $.payload.tenant_id
    resource_id: $.payload.label_id

  - name: 'compute.node.cpu.frequency'
    event_type: 'compute.metrics.update'
    type: 'gauge'
    unit: 'MHz'
    volume: $.payload.metrics[?(@.name='cpu.frequency')].value
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.frequency')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.frequency')].source

  - name: 'compute.node.cpu.user.time'
    event_type: 'compute.metrics.update'
    type: 'cumulative'
    unit: 'ns'
    volume: $.payload.metrics[?(@.name='cpu.user.time')].value
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.user.time')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.user.time')].source

  - name: 'compute.node.cpu.kernel.time'
    event_type: 'compute.metrics.update'
    type: 'cumulative'
    unit: 'ns'
    volume: $.payload.metrics[?(@.name='cpu.kernel.time')].value
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.kernel.time')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.kernel.time')].source

  - name: 'compute.node.cpu.idle.time'
    event_type: 'compute.metrics.update'
    type: 'cumulative'
    unit: 'ns'
    volume: $.payload.metrics[?(@.name='cpu.idle.time')].value
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.idle.time')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.idle.time')].source

  - name: 'compute.node.cpu.iowait.time'
    event_type: 'compute.metrics.update'
    type: 'cumulative'
    unit: 'ns'
    volume: $.payload.metrics[?(@.name='cpu.iowait.time')].value
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.iowait.time')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.iowait.time')].source

  - name: 'compute.node.cpu.kernel.percent'
    event_type: 'compute.metrics.update'
    type: 'gauge'
    unit: 'percent'
    volume: $.payload.metrics[?(@.name='cpu.kernel.percent')].value * 100
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.kernel.percent')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.kernel.percent')].source

  - name: 'compute.node.cpu.idle.percent'
    event_type: 'compute.metrics.update'
    type: 'gauge'
    unit: 'percent'
    volume: $.payload.metrics[?(@.name='cpu.idle.percent')].value * 100
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.idle.percent')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.idle.percent')].source

  - name: 'compute.node.cpu.user.percent'
    event_type: 'compute.metrics.update'
    type: 'gauge'
    unit: 'percent'
    volume: $.payload.metrics[?(@.name='cpu.user.percent')].value * 100
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.user.percent')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.user.percent')].source

  - name: 'compute.node.cpu.iowait.percent'
    event_type: 'compute.metrics.update'
    type: 'gauge'
    unit: 'percent'
    volume: $.payload.metrics[?(@.name='cpu.iowait.percent')].value * 100
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.iowait.percent')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.iowait.percent')].source

  - name: 'compute.node.cpu.percent'
    event_type: 'compute.metrics.update'
    type: 'gauge'
    unit: 'percent'
    volume: $.payload.metrics[?(@.name='cpu.percent')].value * 100
    resource_id: $.payload.host + "_" + $.payload.nodename
    timestamp: $.payload.metrics[?(@.name='cpu.percent')].timestamp
    metadata:
      event_type: $.event_type
      host: $.publisher_id
      source: $.payload.metrics[?(@.name='cpu.percent')].source


# NOTE: non-metric meters are generally events/existence meters
# These are DEPRECATED in current release and expected to be
# REMOVED in the next upcoming release.
#
  # Image
  - name: "image"
    event_type:
      - "image.upload"
      - "image.update"
      - "image.delete"
    type: "gauge"
    unit: 'image'
    volume: 1
    resource_id: $.payload.id
    project_id: $.payload.owner

  - name: "image.upload"
    event_type:
      - "image.upload"
    type: "gauge"
    unit: 'image'
    volume: 1
    resource_id: $.payload.id
    project_id: $.payload.owner

  - name: "image.delete"
    event_type:
      - "image.delete"
    type: "gauge"
    unit: 'image'
    volume: 1
    resource_id: $.payload.id
    project_id: $.payload.owner

  - name: "image.update"
    event_type:
      - "image.update"
    type: "gauge"
    unit: 'image'
    volume: 1
    resource_id: $.payload.id
    project_id: $.payload.owner

  # Orchestration
  - name: 'stack.create'
    event_type:
      - 'orchestration.stack.create.end'
    type: 'delta'
    unit: 'stack'
    volume: 1
    user_id: _context_trustor_user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.stack_identity

  - name: 'stack.update'
    event_type:
      - 'orchestration.stack.update.end'
    type: 'delta'
    unit: 'stack'
    volume: 1
    user_id: _context_trustor_user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.stack_identity

  - name: 'stack.delete'
    event_type:
      - 'orchestration.stack.delete.end'
    type: 'delta'
    unit: 'stack'
    volume: 1
    user_id: _context_trustor_user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.stack_identity

  - name: 'stack.resume'
    event_type:
      - 'orchestration.stack.resume.end'
    type: 'delta'
    unit: 'stack'
    volume: 1
    user_id: _context_trustor_user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.stack_identity

  - name: 'stack.suspend'
    event_type:
      - 'orchestration.stack.suspend.end'
    type: 'delta'
    unit: 'stack'
    volume: 1
    user_id: _context_trustor_user_id
    project_id: $.payload.tenant_id
    resource_id: $.payload.stack_identity

  # MagnetoDB
  - name: 'magnetodb.table.create'
    type: 'gauge'
    unit: 'table'
    volume: 1
    event_type: 'magnetodb.table.create.end'
    resource_id: $.payload.table_uuid
    user_id: _context_user
    project_id: _context_tenant

  - name: 'magnetodb.table.delete'
    type: 'gauge'
    unit: 'table'
    volume: 1
    event_type: 'magnetodb.table.delete.end'
    resource_id: $.payload.table_uuid
    user_id: _context_user
    project_id: _context_tenant

  # Volume
  - name: 'volume'
    type: 'gauge'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.exists'
      - 'volume.create.*'
      - 'volume.delete.*'
      - 'volume.resize.*'
      - 'volume.attach.*'
      - 'volume.detach.*'
      - 'volume.update.*'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.exists'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.exists'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.create.start'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.create.start'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.create.end'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.create.end'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.delete.start'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.delete.start'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.delete.end'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.delete.end'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.update.end'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.update.end'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.update.start'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.update.start'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.resize.end'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.resize.end'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.resize.start'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.resize.start'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id


  - name: 'volume.attach.end'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.attach.end'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.attach.start'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.attach.start'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.detach.end'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.detach.end'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'volume.detach.start'
    type: 'delta'
    unit: 'volume'
    volume: 1
    event_type:
      - 'volume.detach.start'
    resource_id: $.payload.volume_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  # Volume Snapshot
  - name: 'snapshot'
    type: 'gauge'
    unit: 'snapshot'
    volume: 1
    event_type:
      - 'snapshot.exists'
      - 'snapshot.create.*'
      - 'snapshot.delete.*'

    resource_id: $.payload.snapshot_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'snapshot.exists'
    type: 'delta'
    unit: 'snapshot'
    volume: 1
    event_type:
      - 'snapshot.exists'
    resource_id: $.payload.snapshot_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'snapshot.create.start'
    type: 'delta'
    unit: 'snapshot'
    volume: 1
    event_type:
      - 'snapshot.create.start'
    resource_id: $.payload.snapshot_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'snapshot.create.end'
    type: 'delta'
    unit: 'snapshot'
    volume: 1
    event_type:
      - 'snapshot.create.end'
    resource_id: $.payload.snapshot_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'snapshot.delete.start'
    type: 'delta'
    unit: 'snapshot'
    volume: 1
    event_type:
      - 'snapshot.delete.start'
    resource_id: $.payload.snapshot_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  - name: 'snapshot.delete.end'
    type: 'delta'
    unit: 'snapshot'
    volume: 1
    event_type:
      - 'snapshot.delete.end'
    resource_id: $.payload.snapshot_id
    user_id: $.payload.user_id
    project_id: $.payload.tenant_id

  # Sahara
  - name: 'cluster.create'
    type: 'delta'
    unit: 'cluster'
    volume: 1
    event_type:
      - 'sahara.cluster.create'
    resource_id: $.payload.cluster_id
    project_id: $.payload.project_id

  - name: 'cluster.update'
    type: 'delta'
    unit: 'cluster'
    volume: 1
    event_type:
      - 'sahara.cluster.update'
    resource_id: $.payload.cluster_id
    project_id: $.payload.project_id

  - name: 'cluster.delete'
    type: 'delta'
    unit: 'cluster'
    volume: 1
    event_type:
      - 'sahara.cluster.delete'
    resource_id: $.payload.cluster_id
    project_id: $.payload.project_id

  # Identity
  - name: 'identity.user.created'
    type: 'delta'
    unit: 'user'
    volume: 1
    event_type:
      - 'identity.user.created'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.user.updated'
    type: 'delta'
    unit: 'user'
    volume: 1
    event_type:
      - 'identity.user.updated'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.user.deleted'
    type: 'delta'
    unit: 'user'
    volume: 1
    event_type:
      - 'identity.user.deleted'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.group.created'
    type: 'delta'
    unit: 'group'
    volume: 1
    event_type:
      - 'identity.group.created'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.group.updated'
    type: 'delta'
    unit: 'group'
    volume: 1
    event_type:
      - 'identity.group.updated'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.group.deleted'
    type: 'delta'
    unit: 'group'
    volume: 1
    event_type:
      - 'identity.group.deleted'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.project.created'
    type: 'delta'
    unit: 'project'
    volume: 1
    event_type:
      - 'identity.project.created'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.project.updated'
    type: 'delta'
    unit: 'project'
    volume: 1
    event_type:
      - 'identity.project.updated'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.project.deleted'
    type: 'delta'
    unit: 'project'
    volume: 1
    event_type:
      - 'identity.project.deleted'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.role.created'
    type: 'delta'
    unit: 'role'
    volume: 1
    event_type:
      - 'identity.role.created'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.role.updated'
    type: 'delta'
    unit: 'role'
    volume: 1
    event_type:
      - 'identity.role.updated'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.role.deleted'
    type: 'delta'
    unit: 'role'
    volume: 1
    event_type:
      - 'identity.role.deleted'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.role_assignment.created'
    type: 'delta'
    unit: 'role_assignment'
    volume: 1
    event_type:
      - 'identity.role_assignment.created'
    resource_id: $.payload.role
    user_id: $.payload.initiator.id

  - name: 'identity.role_assignment.deleted'
    type: 'delta'
    unit: 'role_assignment'
    volume: 1
    event_type:
      - 'identity.role_assignment.deleted'
    resource_id: $.payload.role
    user_id: $.payload.initiator.id

  - name: 'identity.authenticate.success'
    type: 'delta'
    unit: 'user'
    volume: 1
    event_type:
      - 'identity.authenticate'
    resource_id: $.payload.initiator.id
    user_id: $.payload.initiator.id

  - name: 'identity.authenticate.pending'
    type: 'delta'
    unit: 'user'
    volume: 1
    event_type:
      - 'identity.authenticate'
    resource_id: $.payload.initiator.id
    user_id: $.payload.initiator.id

  - name: 'identity.authenticate.failure'
    type: 'delta'
    unit: 'user'
    volume: 1
    event_type:
      - 'identity.authenticate'
    resource_id: $.payload.initiator.id
    user_id: $.payload.initiator.id

  - name: 'identity.trust.created'
    type: 'delta'
    unit: 'trust'
    volume: 1
    event_type:
      - 'identity.OS-TRUST:trust.created'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'identity.trust.deleted'
    type: 'delta'
    unit: 'trust'
    volume: 1
    event_type:
      - 'identity.OS-TRUST:trust.deleted'
    resource_id: $.payload.resource_info
    user_id: $.payload.initiator.id

  - name: 'storage.api.request'
    type: 'delta'
    unit: 'request'
    volume: 1
    event_type:
      - 'objectstore.http.request'
    resource_id: $.payload.target.id
    user_id: $.payload.initiator.id
    project_id: $.payload.initiator.project_id

  - name: '$.payload.name'
    event_type: 'profiler.*'
    type: 'gauge'
    unit: 'trace'
    volume: 1
    user_id: $.payload.user_id
    project_id: $.payload.project_id
    resource_id: '"profiler-" + $.payload.base_id'
07070100000081000081A40000000000000000000000015B730D05000009AC000000000000000000000000000000000000006900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-NAG/templates/pipeline-agent-notification.yaml.j2{#
#
# (c) Copyright 2015-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.
#
# NOTE: Please use full names of meters. Use of * is not supported
#}
---
sources:
    - name: compute_source
      interval: 30
      meters:
          - "disk.ephemeral.size"
          - "disk.root.size"
          - "instance"
          - "memory"
          - "vcpus"
      sinks:
          - meter_sink
    - name: network_source
      interval: 30
      meters:
          - "network"
          - "port"
          - "router"
          - "subnet"
          - "ip.floating"
          - "ip.floating.create"
          - "ip.floating.update"
          - "network.create"
          - "network.update"
          - "network.delete"
          - "port.create"
          - "port.delete"
          - "port.update"
          - "router.create"
          - "router.delete"
          - "router.update"
          - "subnet.create"
          - "subnet.delete"
          - "subnet.update"
      sinks:
          - meter_sink
    - name: image_source
      interval: 30
      meters:
          - "image"
          - "image.size"
          - "image.update"
          - "image.upload"
          - "image.delete"
      sinks:
          - meter_sink
    - name: volume_source
      interval: 30
      meters:
          - "volume"
          - "volume.size"
          - "snapshot"
          - "snapshot.size"
          - "volume.delete.end"
          - "volume.create.end"
          - "volume.resize.end"
          - "volume.update.end"
          - "snapshot.create.end"
          - "snapshot.delete.end"
      sinks:
          - meter_sink
    - name: swift_source
      interval: 3600
      meters:
          - "storage.objects"
          - "storage.objects.size"
          - "storage.objects.containers"
      sinks:
          - meter_sink
sinks:
    - name: meter_sink
      transformers:

      publishers:
         - {{ cm_backend_connection }}
07070100000082000041ED0000000000000000000000065B730D0500000000000000000000000000000000000000000000003B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL07070100000083000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004400000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/defaults07070100000084000081A40000000000000000000000015B730D05000003B3000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/defaults/main.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.
#
---
ceilometer_component: ceilometer-polling

# Default service directories
ceilometer_polling_conf_dir: "{{ 'ceilometer-polling' | config_dir() }}"
ceilometer_polling_venv_share_dir: "{{ 'ceilometer-polling' | share_dir() }}/ceilometer"
ceilometer_polling_bin_dir:  "{{ 'ceilometer-polling' | bin_dir() }}"
07070100000085000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/meta07070100000086000081A40000000000000000000000015B730D05000002A4000000000000000000000000000000000000004900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/meta/main.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.
#
---
dependencies:
  - role: _CEI-CMN
07070100000087000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/tasks07070100000088000081A40000000000000000000000015B730D0500000542000000000000000000000000000000000000006200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/tasks/ceilometer_pol_pwd_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.
#
---

- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_polling_conf_dir }}"

- name: CEI-POL | ceilometer_pol_pwd_configure |
    Register ceilometer polling restart
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-POL/templates/polling.conf.j2"
  dest: "{{ ceilometer_polling_conf_dir }}/polling.conf"

- name: CEI-POL | ceilometer_pol_pwd_configure | configure polling password
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: write_conf_result.changed
07070100000089000081A40000000000000000000000015B730D05000009AA000000000000000000000000000000000000004F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/tasks/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.
#
---

- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_polling_conf_dir }}"

- name: CEI-POL | configure | Register ceilometer polling restart
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-POL/templates/polling.conf.j2"
  dest: "{{ ceilometer_polling_conf_dir }}/polling.conf"

- name: CEI-POL | configure | configure polling.conf
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: write_conf_result.changed

- include: pipeline_configure.yml

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-POL/templates/polling-logging.conf.j2"
  dest: "{{ ceilometer_polling_conf_dir }}/polling-logging.conf"

- name: CEI-POL | configure | configure polling-logging.conf
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: write_conf_result.changed

- name: CEI-POL | configure | create ceilometer-polling log
  become: yes
  file:
    path: "{{ ceilometer_log_dir }}/{{ item }}"
    state: touch
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_log_group }}"
    mode: 0640
  with_items:
    - ceilometer-polling.log
    - ceilometer-polling-json.log
  register: ardana_notify_ceilometer_polling_restart_required

# With 'enable' SLES systemctl fails, claiming 'Too many levels of symbolic
# links', if service is already enabled and systemd unit file is symlink.
# So reenable is the suggested option.
- name: CEI-POL | configure | Enable the ceilometer Polling agent
    services to start on boot
  become: yes
  command: systemctl reenable ceilometer-polling
  register: ardana_notify_ceilometer_polling_restart_required

0707010000008A000081A40000000000000000000000015B730D0500000A95000000000000000000000000000000000000004D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/tasks/install.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.
#

# Install Ceilometer polling agent
---
- include: ../../_CEI-CMN/tasks/install.yml

- name: CEI-POL | install | Remove Ceilometer polling agent package if exists
  become: yes
  package:
    name: ceilometer-polling
    state: absent
  ignore_errors: True

- name: CEI-POL | install | Update venv Cache
  become: yes
  install_package:
    cache: update

- name: CEI-POL | install | Installing Ceilometer Polling Agent code
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-polling
    state: present
    activate: act_off
  register: ceilometer_polling_install_result

- name: CEI-POL | install | Register Venv Change
  command: echo "ceilometer polling venv changed"
  register: ardana_notify_ceilometer_polling_venv_change
  when: ceilometer_polling_install_result.changed

- name: CEI-POL | install | Register restart required
  command: echo "ceilometer polling restart required"
  register: ardana_notify_ceilometer_polling_restart_required
  when: ceilometer_polling_install_result.changed

- name: CEI-POL | install | Set service conf directories
  set_fact:
    ceilometer_polling_conf_dir: "{{ 'ceilometer-polling' |
      config_dir(ceilometer_polling_install_result.version) }}"
    ceilometer_polling_venv_share_dir: "{{ 'ceilometer-polling' |
      share_dir(ceilometer_polling_install_result.version) }}/ceilometer"
    ceilometer_polling_bin_dir: "{{ 'ceilometer-polling' |
      bin_dir(ceilometer_polling_install_result.version) }}"

- name: CEI-POL | install | Setup systemd for ceilometer-polling
  become: yes
  setup_systemd:
    name: ceilometer-polling
    service: ceilometer-polling
    user: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    cmd: ceilometer-polling
    args: >
      --polling-namespaces central
      --config-file {{ ceilometer_polling_conf_dir }}/ceilometer.conf
      --config-file {{ ceilometer_polling_conf_dir }}/polling.conf
0707010000008B000081A40000000000000000000000015B730D0500000545000000000000000000000000000000000000005800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/tasks/pipeline_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.
#
---

- include: ../../_CEI-CMN/tasks/configure.yml
  vars:
    ceilometer_conf_dir: "{{ ceilometer_polling_conf_dir }}"

- name: CEI-POL | pipeline_configure | Register ceilometer polling restart
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: ardana_notify_ceilometer_common_restart_required.changed

- include: ../../_CEI-CMN/tasks/_write_conf.yml
  src: "../../CEI-POL/templates/pipeline-polling.yaml.j2"
  dest: "{{ ceilometer_polling_conf_dir }}/pipeline-polling.yaml"

- name: CEI-POL | pipeline_configure | register ceilometer polling restart
  command: /bin/true
  register: ardana_notify_ceilometer_polling_restart_required
  when: write_conf_result.changed
0707010000008C000081A40000000000000000000000015B730D0500000400000000000000000000000000000000000000006300000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/tasks/reconfigure_polling_for_swift.yml#
# (c) Copyright 2015-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: CEI-POL | reconfigure_polling_for_swift |
    remove swift polling meters if swift is not installed
  become: yes
  replace:
    dest: "{{ ceilometer_polling_conf_dir }}/pipeline-polling.yaml"
    regexp: '(\s+\- \")storage(\.objects.*)'
    replace: '\1!storage\2'
  when: ('SWF_PRX' not in verb_hosts)
  register: ardana_notify_ceilometer_polling_restart_required
0707010000008D000081A40000000000000000000000015B730D050000072D000000000000000000000000000000000000004B00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/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.
#
---

- include: ../../_CEI-CMN/tasks/_activate.yml

- name: CEI-POL | start | Activate the latest install
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-polling
    activate: act_on
    version: "{{ ceilometer_polling_install_result.version }}"
  when: ardana_notify_ceilometer_polling_venv_change is defined
    and ardana_notify_ceilometer_polling_venv_change.changed
    and ceilometer_polling_venv_changed_result is not defined
  register: ceilometer_polling_venv_changed_result

- name: CEI-POL | start | Start ceilometer polling agent after install
  become: yes
  service:
    name: ceilometer-polling
    state: restarted
  when: ardana_notify_ceilometer_polling_restart_required is defined
    and ardana_notify_ceilometer_polling_restart_required.changed
    and ceilometer_polling_restarted_result is not defined
  register: ceilometer_polling_restarted_result

- name: CEI-POL | start | Start ceilometer polling agent after install
  become: yes
  service:
    name: ceilometer-polling
    state: started
0707010000008E000081A40000000000000000000000015B730D050000047B000000000000000000000000000000000000004C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/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.
#

# In upgrade scenario from 2.x to 3.0 we do status check before installing
# polling agent, to handle this special case separately skip status on
# polling agent if the service does not exist
---
- name: CEI-POL | status | if exists run status, if not installed ignore
  stat:
    path: /usr/lib/systemd/system/ceilometer-polling.service
  register: polling_agent_installed_result
  ignore_errors: True

- include: ../../_CEI-CMN/tasks/_service_status.yml
  when: polling_agent_installed_result.stat.exists
0707010000008F000081A40000000000000000000000015B730D0500000365000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/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: CEI-POL | stop | Stop polling-agent
  become: yes
  service:
    name: ceilometer-polling
    state: stopped
  register: stop_result
  failed_when: stop_result|failed
    and 'service not found' not in stop_result.msg
07070100000090000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/templates07070100000091000081ED0000000000000000000000015B730D050000041D000000000000000000000000000000000000005E00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/templates/pipeline-polling.yaml.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.
#
# NOTE: Please use full names of meters. Use of * is not supported.
#}
---
sources:
    - name: swift_source
      interval: 3600
      meters:
          - "storage.objects"
          - "storage.objects.size"
          - "storage.objects.containers"
      resources:
      discovery:
      sinks:
          - meter_sink
sinks:
    - name: meter_sink
      transformers:
      publishers:
         - notifier://
07070100000092000081ED0000000000000000000000015B730D05000008C4000000000000000000000000000000000000005D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/templates/polling-logging.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.
#
#}
[loggers]
keys: root, iso8601, dogpile

[handlers]
keys: watchedfile, logstash

[formatters]
keys:  debug,minimal, normal, logstash


###########
# Loggers #
###########

[logger_root]
qualname: root
handlers: watchedfile, logstash
level: NOTSET

[logger_iso8601]
qualname: iso8601
handlers: watchedfile, logstash
level: INFO

[logger_dogpile]
qualname: dogpile
handlers: watchedfile, logstash
level: INFO

################
# Log Handlers #
################

# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-polling.log',)
formatter = debug
level: {{ ceilometer_loglevel }}

# Writes JSON to disk, beaver will ship to logstash
[handler_logstash]
class: handlers.WatchedFileHandler
args: ('{{ ceilometer_log_dir }}/ceilometer-polling-json.log',)
formatter= logstash
level: {{ ceilometer_logstash_loglevel }}


##################
# Log Formatters #
##################

[formatter_minimal]
format=%(message)s

[formatter_normal]
format=(%(name)s): %(asctime)s %(levelname)s %(message)s

[formatter_debug]
format=(%(name)s): %(asctime)s %(levelname)s %(module)s %(funcName)s %(message)s

# datefmt must be set otherwise you end up with too many (msecs) fields
[formatter_context]
class: oslo_log.formatters.ContextFormatter
args: (datefmt=datefmt)
format: %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s
datefmt: %Y-%m-%d %H:%M:%S

# the "format" attr actually sets the "type"
[formatter_logstash]
class = logstash.LogstashFormatterVersion1
format = ceilometer

07070100000093000081ED0000000000000000000000015B730D0500000462000000000000000000000000000000000000005500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/CEI-POL/templates/polling.conf.j2{#
#
# (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.
#
#}
[DEFAULT]
log_config_append={{ ceilometer_polling_conf_dir }}/polling-logging.conf

pipeline_cfg_file={{ ceilometer_polling_conf_dir }}/pipeline-polling.yaml
region_name = {{ region_name }}
deployed_services = {{ deployed_services }}

##Need use service tenant as polling works for service tenants
[service_credentials]
project_name={{ id_service_tenant }}

[keystone_authtoken]
project_name={{ id_service_tenant }}

[monasca]
service_project_name={{ id_service_tenant }}
07070100000094000041ED0000000000000000000000075B730D0500000000000000000000000000000000000000000000003C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN07070100000095000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004500000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/defaults07070100000096000081A40000000000000000000000015B730D0500001412000000000000000000000000000000000000004E00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/defaults/main.yml#
# (c) Copyright 2015-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.
#
---
CEILOMETER_EXTRA_INSTALL_OPTS:
ceilometer_log_dir: /var/log/ceilometer
ceilometer_global_conf_dir: /etc/ceilometer
ceilometer_log_group: adm
ceilometer_user: ceilometer
ceilometer_group: ceilometer
local_ip: 127.0.0.1
keyston_ver: v2.0
service_config_keystone_ver: v3
signing_dir: /mnt/state/var/lib/ceilometer/keystone-signing
ceilometer_common_conf_dir: "{{ 'ceilometer-common' | config_dir() }}"
ceilometer_common_bin_dir: "{{ 'ceilometer-common' | bin_dir() }}"

# Possible log levels are INFO/DEBUG/WARN/ERROR
ceilometer_loglevel:  INFO
ceilometer_logstash_loglevel:  INFO

# audit logging

# Optional flag to enable ceilometer api auditing support
ceilometer_enable_auditing: "{{ CEI.audit.enabled }}"

# Base location where service audit logs are expected to be present
ceilometer_audit_log_base_location: "{{ CEI.audit.dir }}"

# Monasca variables
monasca_connection:
 "monasca://\
 {{ CEI_CMN.consumes_MON_API.vips.private[0].url }}"


# Message queue variables
ceilometer_rabbit_hosts_port_pair:
  "{% for x in CEI_CMN.consumes_FND_RMQ.members.private -%}
   {{ x.host }}:{{ x.port }}
   {%- if not loop.last -%},{% endif %}
   {%- endfor %}"
ceilometer_rabbit_user: "{{ CEI.consumes_FND_RMQ.vars.accounts.ceilometer.username }}"
ceilometer_rabbit_password: "{{ CEI.consumes_FND_RMQ.vars.accounts.ceilometer.password }}"
ceilometer_rabbit_use_ssl: "{{ CEI.consumes_FND_RMQ.members.private[0].use_tls }}"

# Identity variables
id_admin_protocol: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].protocol }}"
id_admin_host: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].host }}"
id_admin_port: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].port }}"
id_admin_role: "{{ KEY_API.vars.keystone_admin_role }}"
id_domain_observer_role: "{{ KEY_API.vars.keystone_domain_observer_role }}"
id_admin_uri:  "{{ CEI_CMN.consumes_KEY_API.vips.private[0].url }}"
id_auth_url: "{{ id_priv_uri }}/"
id_password: "{{ CEI_CMN.consumes_KEY_API.vars.keystone_ceilometer_password | quote }}"
id_priv_host: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].host }}"
id_priv_port: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].port }}"
id_priv_protocol: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].protocol }}"
id_priv_uri: "{{ CEI_CMN.consumes_KEY_API.vips.private[0].url }}"
id_service_auth_url:  "{{ id_priv_uri }}/{{ keyston_ver }}"
id_service_tenant: "{{ KEY_API.vars.keystone_service_tenant }}"
id_ca_cert: "{{ trusted_ca_bundle }}"
id_region: region1

# Ceilometer variables
cm_priv_host: "{{ CEI_API.advertises.vips.private[0].host }}"
cm_priv_port: "{{ CEI_API.advertises.vips.private[0].port }}"
cm_pub_ip_addr: "{{ CEI_API.advertises.vips.public[0].ip_address }}"
cm_pub_port: "{{ CEI_API.advertises.vips.public[0].port }}"

cm_backend_connection: "{{ monasca_connection }}/v2.0"
_zoo_hosts_list: "{{ CEI_CMN.consumes_FND_ZOO.members.private }}"
zoo_hosts_port_list:
  "{% for h in _zoo_hosts_list -%}
   {{ h.host }}:{{ h.port }}
   {%- if not loop.last -%},{% endif %}
   {%- endfor %}"
cm_agent_ha_backend:
  "kazoo://{{ zoo_hosts_port_list }}"

# flag set in configure playbooks to trigger
# ceilometer services handlers to restart
ceilometer_restart_required: false

#host and port bind variables
ceilometer_api_bind_host: "{{ host.bind.CEI_API.internal.ip_address }}"
ceilometer_api_bind_port: "{{ host.bind.CEI_API.internal.port }}"
ceilometer_api_vip_admin_url: "{{ CEI_API.advertises.vips.admin[0].url }}"
ceilometer_api_vip_private_url: "{{ CEI_API.advertises.vips.private[0].url }}"

keystone:
  admin_user: "{{ KEY_API.vars.keystone_admin_user }}"
  admin_password: "{{ KEY_API.vars.keystone_admin_pwd | quote }}"
  default_domain_name: "{{ KEY_API.vars.keystone_default_domain }}"
  admin_tenant: "{{ KEY_API.vars.keystone_admin_tenant }}"
  project_observer_role: "{{ KEY_API.vars.keystone_project_observer_role }}"
control_plane: "{{ host.my_dimensions.control_plane }}"
cluster: "{{ host.my_dimensions.cluster }}"
cloud_name: "{{ host.my_dimensions.cloud_name }}"

deployed_services: "{% for service,details in CEI_POL.items() -%}
               {% if 'consumes' in service -%}
               {{ details['name'].split('-')[0]  }}{%- if not loop.last %},{%- endif %}
               {%- endif %}{%- endfor %}"

region_name: "{%- set region = [] -%}
         {% for service,details in CEI_POL.items() if 'consumes' in service -%}
             {% if region.append(details['regions'][0]) -%}
                   {%- endif %}
         {%- endfor %}
         {{- region|last|default('') -}}"
07070100000097000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/files07070100000098000081A40000000000000000000000015B730D05000004EE000000000000000000000000000000000000006100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/files/ardanaceilometer_mon_plugin.py#
# (c) Copyright 2015-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 monasca_setup.detection


class ArdanaCeilometer(monasca_setup.detection.ServicePlugin):

    """Detect Ceilometer daemons and setup configuration to monitor them."""

    def __init__(self, template_dir, overwrite=True, args=None):
        service_params = {
            'args': {},
            'template_dir': template_dir,
            'overwrite': overwrite,
            'service_name': 'telemetry',
            'process_names': ['ceilometer-polling', 'ceilometer-agent-notification',
                              'ceilometer-api']
        }

        super(ArdanaCeilometer, self).__init__(service_params)
07070100000099000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004100000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/meta0707010000009A000081A40000000000000000000000015B730D05000002D9000000000000000000000000000000000000004A00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/meta/main.yml#
# (c) Copyright 2015-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.
#
---
dependencies:
  - { role: monasca-agent, run_mode: Use }
  - role: tls-vars
0707010000009B000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks0707010000009C000081A40000000000000000000000015B730D050000050B000000000000000000000000000000000000005000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/_activate.yml
# (c) Copyright 2015 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.
#

# Activate Ceilometer Common Install
---
- name: _CEI-CMN | _activate | Activate the latest install
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-common
    activate: act_on
    version: "{{ ceilometer_common_install_result.version }}"
  when: ardana_notify_ceilometer_common_venv_change is defined
    and ardana_notify_ceilometer_common_venv_change.changed
    and ceilometer_common_venv_changed_result is not defined
  register: ceilometer_common_venv_changed_result
0707010000009D000081A40000000000000000000000015B730D0500001468000000000000000000000000000000000000006200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/_install_monasca_ceilometer.yml#
# (c) Copyright 2015 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.
#

# Install Monasca Ceilometer (For Ocata and Pike)
# ===============================================
# This is a play which which overlays ceilometer source code
# with monasca-ceilometer code.
# Monasca-ceilometer code contains Ceilometer publisher and
# storage driver for Monasca.
#
# Steps:
#
# 1.) Install monasca-ceilometer venv
# 2.) Copy contents from monasca-ceilometer venv to ceilometer venv
# 3.) Update ceilometer's egg-info/entry_points.txt and add
#     monasca publisher and monasca storage driver entry_points.txt
#
# IMPORTANT NOTE:
#
# This was specially created to deploy Ceilometer with Monasca Ceilometer
# when using existing venv building mechanism in ardana.
#
# For Pike with the new RPM to venv generation process
# we will have to remove this playbook.
---
- name: _CEI-CMN | _install_monasca_ceilometer | Installing Monasca Ceilometer
  become: yes
  install_package:
    name: monasca_ceilometer
    service: monasca-ceilometer
    state: present
  register: ardana_notify_monasca_ceilometer_install_result

- name: _CEI-CMN | _install_monasca_ceilometer | set service directories install
  set_fact:
    monasca_ceilometer_etc_dir: |
      "{{ 'monasca-ceilometer' |
        config_dir(ardana_notify_monasca_ceilometer_install_result.version) }}"
    monasca_ceilometer_conf_dir: |
      "{{ 'monasca-ceilometer' |
        config_dir(ardana_notify_monasca_ceilometer_install_result.version) }}\
      /nova"
    monasca_ceilometer_bin_dir: |
      "{{ 'monasca-ceilometer' |
        bin_dir(ardana_notify_monasca_ceilometer_install_result.version) }}"

- name: _CEI-CMN | _install_monasca_ceilometer | Create directories
  become: yes
  file:
    state: directory
    path: "{{ ceilometer_bin_dir }}/../lib/python2.7/\
          site-packages/ceilometer/{{ item }}"
    mode: 0755
  with_items:
    - "ceilosca_mapping"
    - "ceilosca_mapping/data"
    - "publisher"
    - "storage"
    - "api"

- name: _CEI-CMN | _install_monasca_ceilometer | Copy files to ceilometer
  become: yes
  command: "cp {{ monasca_ceilometer_bin_dir }}/../lib/python2.7/\
            site-packages/ceilosca/ceilometer/{{ item }} \
            {{ ceilometer_bin_dir }}/../lib/python2.7/\
            site-packages/ceilometer/{{ item }}"
  with_items:
    - "monasca_client.py"
    - "monasca_ceilometer_opts.py"
    - "opts.py"
    - "service.py"
    - "api/health.py"
    - "ceilosca_mapping/__init__.py"
    - "ceilosca_mapping/ceilometer_static_info_mapping.py"
    - "ceilosca_mapping/ceilosca_mapping.py"
    - "ceilosca_mapping/data/ceilometer_static_info_mapping.yaml"
    - "ceilosca_mapping/data/ceilosca_mapping.yaml"
    - "publisher/monasca_data_filter.py"
    - "publisher/monclient.py"
    - "storage/impl_monasca.py"

- name: _CEI-CMN | _install_monasca_ceilometer | Find .egg directories
  shell: >
    ls {{ ceilometer_bin_dir }}/../lib/python2.7/site-packages/
    | grep 'ceilometer-'
  register: ceilometer_egg_directories_result

- name: _CEI-CMN | _install_monasca_ceilometer | remove monasca publisher
  become: yes
  lineinfile:
    name: "{{ ceilometer_bin_dir }}/../lib/python2.7/\
          site-packages/{{ item }}/entry_points.txt"
    state: absent
    regexp: 'monasca = ceilometer.publisher.monclient:MonascaPublisher'
  with_items:
    ceilometer_egg_directories_result.stdout_lines

- name: _CEI-CMN | _install_monasca_ceilometer | add monasca publisher
  become: yes
  lineinfile:
    name: "{{ ceilometer_bin_dir }}/../lib/python2.7/\
          site-packages/{{ item }}/entry_points.txt"
    state: present
    regexp: '\[ceilometer.sample.publisher\]'
    line: >-
      [ceilometer.sample.publisher]\nmonasca =
      ceilometer.publisher.monclient:MonascaPublisher
  with_items:
    ceilometer_egg_directories_result.stdout_lines

- name: _CEI-CMN | _install_monasca_ceilometer | remove storage driver
  become: yes
  lineinfile:
    name: "{{ ceilometer_bin_dir }}/../lib/python2.7/\
          site-packages/{{ item }}/entry_points.txt"
    state: absent
    regexp: 'monasca = ceilometer.storage.impl_monasca:Connection'
  with_items:
    ceilometer_egg_directories_result.stdout_lines

- name: _CEI-CMN | _install_monasca_ceilometer | add storage driver
  become: yes
  lineinfile:
    name: "{{ ceilometer_bin_dir }}/../lib/python2.7/\
          site-packages/{{ item }}/entry_points.txt"
    state: present
    regexp: '\[ceilometer.metering.storage\]'
    line: >-
      [ceilometer.metering.storage]\nmonasca =
      ceilometer.storage.impl_monasca:Connection
  with_items:
    ceilometer_egg_directories_result.stdout_lines
0707010000009E000081A40000000000000000000000015B730D0500000517000000000000000000000000000000000000005800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/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: _CEI-CMN | _schedule_restart | Schedule a restart for ceilometer API
  debug:
    msg: "Trigger a change notification in ceilometer API"
  changed_when: true
  register: ardana_notify_ceilometer_api_restart_required

- name: _CEI-CMN | _schedule_restart | Schedule a restart for ceilometer polling
  debug:
    msg: "Trigger a change notification in ceilometer polling"
  changed_when: true
  register: ardana_notify_ceilometer_polling_restart_required

- name: _CEI-CMN | _schedule_restart |
        Schedule a restart for ceilometer notification agent
  debug:
    msg: "Trigger a change notification in ceilometer notification agent"
  changed_when: true
  register: ardana_notify_ceilometer_nag_restart_required0707010000009F000081A40000000000000000000000015B730D050000054E000000000000000000000000000000000000005600000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/_service_status.yml#
# (c) Copyright 2015 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: _CEI-CMN | _service_status | Print service being checked
  debug:
    msg: "Running service check for {{ ceilometer_component }}"
  run_once: true

- name: _CEI-CMN | _service_status | Check systemd service running
  become: yes
  command: systemctl status "{{ ceilometer_component }}"
  ignore_errors: yes
  changed_when: false
  register: systemctl_status_result

- name: _CEI-CMN | _service_status |
    Report status of "{{ ceilometer_component }}"
  fail:
    msg: |
      {{ ceilometer_component }} is not running.
      systemctl status {{ ceilometer_component }} output:
      {{ systemctl_status_result.stdout }}
      {{ systemctl_status_result.stderr }}
  when: systemctl_status_result | failed
070701000000A0000081A40000000000000000000000015B730D05000006B5000000000000000000000000000000000000005200000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/_write_conf.yml#
# (c) Copyright 2015 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: _CEI-CMN | _write_conf | Check for pre-existing version of {{ dest }}
  stat:
    path: "{{ dest }}"
  register: conf_stat_result

- name: _CEI-CMN | _write_conf | get timestamp
  command: date +%Y%m%d%H%M%S
  register: time_result

- name: _CEI-CMN | _write_conf |
    Create a backup version of the existing {{ dest }} file
  become: yes
  command: cp {{ dest }} {{ dest }}.{{ time_result.stdout }}
  when: conf_stat_result.stat.exists

- name: _CEI-CMN | _write_conf | Template {{ dest }}
  become: yes
  template:
    src: "{{ src }}"
    dest: "{{ dest }}"
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    mode: 0600
  register: write_conf_result

- name: _CEI-CMN | _write_conf | Delete backup file that has not changed
  become: yes
  file:
    path: "{{ dest }}.{{ time_result.stdout }}"
    state: absent
  when: write_conf_result.changed==false

- name: _CEI-CMN | _write_conf | remove all but last 10 backups of {{ dest }}
  become: yes
  shell: ls -td {{ dest }}.* |awk 'NR>10' |xargs rm -f
  when: conf_stat_result.stat.exists
070701000000A1000081A40000000000000000000000015B730D050000061E000000000000000000000000000000000000005C00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/api_monasca_configure.yml#
# (c) Copyright 2015-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: _CEI-CMN | api_monasca_configure |
    Setup Active check against Ceilometer VIP
  become: yes
  monasca_agent_plugin:
    name: "httpcheck"
    args: "use_keystone=True match_pattern=.*200.OK.* url=\
      {{ item.url }}/v2/health dimensions=service:telemetry,\
      component:ceilometer-api,endpoint_type:{{ item.api_endpoint }},\
      host_type:vip"
  with_items:
    - { api_endpoint: 'internal', url: "{{ ceilometer_api_vip_private_url }}" }

- name: _CEI-CMN | api_monasca_configure |
    Setup Active check against Ceilometer hosts
  become: yes
  monasca_agent_plugin:
    name: "httpcheck"
    args: "use_keystone=True match_pattern=.*200.OK.* url=http://\
      {{ ceilometer_api_bind_host }}:{{ ceilometer_api_bind_port }}/\
      /v2/health dimensions=service:telemetry,\
      component:ceilometer-api,endpoint_type:{{ item.api_endpoint }}"
  with_items:
    - { api_endpoint: 'host_endpoint' }
070701000000A2000081A40000000000000000000000015B730D050000080E000000000000000000000000000000000000005000000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/configure.yml#
# (c) Copyright 2015-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.
#

# Configuring ceilometer.conf
---
- include: _write_conf.yml
  src: "ceilometer.conf.j2"
  dest: "{{ ceilometer_conf_dir }}/ceilometer.conf"

- name: _CEI-CMN | configure | configure ceilometer.conf
  command: /bin/true
  register: ardana_notify_ceilometer_common_restart_required
  when: write_conf_result.changed

- include: _write_conf.yml
  src: "../../_CEI-CMN/templates/monasca-field-definitions.yaml.j2"
  dest: "{{ ceilometer_conf_dir }}/monasca_field_definitions.yaml"

- include: _write_conf.yml
  src: "../../_CEI-CMN/templates/ceilosca_mapping.yaml.j2"
  dest: "{{ ceilometer_conf_dir }}/ceilosca_mapping.yaml"

- include: _write_conf.yml
  src: "../../_CEI-CMN/templates/ceilometer_static_info_mapping.yaml.j2"
  dest: "{{ ceilometer_conf_dir }}/ceilometer_static_info_mapping.yaml"

- name: _CEI-CMN | configure | configure monasca-field-definitions.yaml
  command: /bin/true
  register: ardana_notify_ceilometer_common_restart_required
  when: write_conf_result.changed

- name: _CEI-CMN | configure | Configure metadata mapping reference for Monasca
  ini_file:
    dest: "{{ ceilometer_conf_dir }}/ceilometer.conf"
    section: "monasca"
    option: "monasca_mappings"
    value: "{{ ceilometer_conf_dir }}/monasca_field_definitions.yaml"
    backup: no
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
  become: yes
  register: ardana_notify_ceilometer_common_restart_required
070701000000A3000081A40000000000000000000000015B730D0500000ED0000000000000000000000000000000000000004E00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/install.yml#
# (c) Copyright 2015 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.
#

# Install Ceilometer
---
- name: _CEI-CMN | install | Add group '{{ ceilometer_group }}'
  become: yes
  group:
    name: "{{ ceilometer_group }}"

# Note that mod-wsgi requires a home directory exists, so create one securely
- name: _CEI-CMN | install | creating ceilometer user
  become: yes
  user:
    name: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    createhome: no
    home: "/var/lib/{{ ceilometer_user }}"
    shell: /sbin/nologin
    system: yes
    comment: "Ceilometer user"
  register: ceilometer_user_create_result
  failed_when: ceilometer_user_create_result|failed and
                "user {{ ceilometer_user }} is currently used by process"
                not in ceilometer_user_create_result.msg

- name: _CEI-CMN | install | create ceilometer user home
  become: yes
  file:
    path: "/var/lib/{{ ceilometer_user }}"
    state: directory
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    mode: 0700
  when: not ceilometer_user_create_result|failed

- name: _CEI-CMN | install | Update venv Cache
  become: yes
  install_package:
    cache: update

- name: _CEI-CMN | install | Installing Ceilometer Common code
  become: yes
  install_package:
    name: "{%- if deployer_media_legacy_layout|bool -%}
              ceilometer
            {%- else -%}
              monasca-ceilometer
            {%- endif -%}"
    service: ceilometer-common
    state: present
    activate: act_off
  register: ceilometer_common_install_result

- name: _CEI-CMN | install | Register Venv Change
  command: echo "ceilometer common venv changed"
  register: ardana_notify_ceilometer_common_venv_change
  when: ceilometer_common_install_result.changed

- name: _CEI-CMN | install | Register restart required
  command: echo "ceilometer common restart required"
  register: ardana_notify_ceilometer_common_restart_required
  when: ceilometer_common_install_result.changed

- name: _CEI-CMN | install | Set service conf directory
  set_fact:
    ceilometer_common_conf_dir: "{{ 'ceilometer-common' |
      config_dir(ceilometer_common_install_result.version) }}"
    ceilometer_common_venv_share_dir: "{{ 'ceilometer-common' |
      share_dir(ceilometer_common_install_result.version) }}/ceilometer"
    ceilometer_common_bin_dir: "{{ 'ceilometer-common' |
      bin_dir(ceilometer_common_install_result.version) }}"

# Install Monasca Ceilometer (For legacy venv deployments only)
- include: ../../_CEI-CMN/tasks/_install_monasca_ceilometer.yml
  vars:
    ceilometer_bin_dir: "{{ ceilometer_common_bin_dir }}"
    ceilometer_conf_dir: "{{ ceilometer_common_conf_dir }}"
  when: deployer_media_legacy_layout|bool

### Creating needed directories ###

- name: _CEI-CMN | install | Creating Ceilometer directories
  become: yes
  file:
    path: "{{ item.dir }}"
    state: directory
    owner: "{{ ceilometer_user }}"
    group: "{{ ceilometer_group }}"
    mode: "{{ item.permission }}"
    recurse: yes
  with_items:
    - { dir: '{{ ceilometer_log_dir }}', permission: '0775'}
    - { dir: '{{ ceilometer_global_conf_dir }}', permission: '0750'}
    - { dir: '{{ signing_dir }}', permission: '0700'}
070701000000A4000081A40000000000000000000000015B730D0500000446000000000000000000000000000000000000005800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/tasks/monasca_configure.yml#
# (c) Copyright 2015 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: _CEI-CMN | monasca_configure |
    Copy Ceilometer Custom plugin for Ardana only
  become: yes
  copy:
    src: ardanaceilometer_mon_plugin.py
    dest: /usr/lib/monasca/agent/custom_detect.d/ardanaceilometer_mon_plugin.py
    owner: root
    group: root
    mode: 0440

- name: _CEI-CMN | monasca_configure |
    Run Monasca agent Ardana specific ceilometer detection plugin
  become: yes
  monasca_agent_plugin:
    name: "ArdanaCeilometer"
070701000000A5000041ED0000000000000000000000025B730D0500000000000000000000000000000000000000000000004600000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/templates070701000000A6000081A40000000000000000000000015B730D0500000874000000000000000000000000000000000000005900000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/templates/ceilometer.conf.j2{#
#
# (c) Copyright 2015-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.
#
#}
[DEFAULT]
# debug = true
# log_options = true
rpc_backend=rabbit
refresh_pipeline_cfg = True
pipeline_polling_interval = 30


[oslo_messaging_rabbit]
rabbit_hosts={{ ceilometer_rabbit_hosts_port_pair }}
rabbit_userid={{ ceilometer_rabbit_user }}
rabbit_password={{ ceilometer_rabbit_password }}
rabbit_use_ssl={{ ceilometer_rabbit_use_ssl }}

[api]
host={{ local_ip }}
pecan_debug=False
default_api_return_limit=100

[publisher]
telemetry_secret=openstack

[publisher_notifier]
metering_topic=metering

[service_credentials]
auth_url={{ id_service_auth_url }}
password={{ id_password }}
username={{ ceilometer_user }}
interface=internalURL
auth_type=password

[keystone_authtoken]
auth_type = v3password
auth_url = {{ id_admin_uri }}/v3
auth_uri = {{ id_admin_uri }}/v3
project_domain_name = Default
project_name = {{ keystone.admin_tenant }}
user_domain_name = Default
username = {{ ceilometer_user }}
password = {{ id_password }}
region_name = {{ id_region }}
cafile = {{ id_ca_cert }}

[database]
connection={{ cm_backend_connection }}
metering_time_to_live=-1

[coordination]
backend_url={{ cm_agent_ha_backend }}
check_watchers=10.0
heartbeat=1.0

[monasca]
enable_api_pagination=True
database_retry_interval=5
database_max_retries=5
service_auth_url={{ id_service_auth_url }}
service_password={{ id_password }}
service_username={{ ceilometer_user }}
service_interface=internalURL
service_auth_type=password
service_domain_name=Default
service_verify={{ id_ca_cert }}
service_region_name={{ id_region }}
070701000000A7000081A40000000000000000000000015B730D0500000D70000000000000000000000000000000000000006D00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/templates/ceilometer_static_info_mapping.yaml.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.
#
#reference: http://docs.openstack.org/admin-guide/telemetry-measurements.html
# NOTE: This file should always be in sync with pipeline-api.yaml.j2
# configuration, which means all the meters in pipeline-api.yaml.j2 should be
# listed below with their respective information available from upstream doc
# from references above
---

meter_info_static_map:
    - name: "disk.ephemeral.size"
      type: "gauge"
      unit: "GB"

    - name: "disk.root.size"
      type: "gauge"
      unit: "GB"

    - name: "image"
      type: "gauge"
      unit: "image"

    - name: "image.delete"
      type: "delta"
      unit: "image"

    - name: "image.size"
      type: "gauge"
      unit: "B"

    - name: "image.update"
      type: "gauge"
      unit: "image"

    - name: "image.upload"
      type: "delta"
      unit: "image"

    - name: "instance"
      type: "gauge"
      unit: "instance"

    - name: "ip.floating"
      type: "gauge"
      unit: "ip"

    - name: "ip.floating.create"
      type: "delta"
      unit: "ip"

    - name: "ip.floating.update"
      type: "delta"
      unit: "ip"

    - name: "memory"
      type: "gauge"
      unit: "MB"

    - name: "network"
      type: "gauge"
      unit: "network"

    - name: "network.create"
      type: "delta"
      unit: "network"

    - name: "network.delete"
      type: "delta"
      unit: "network"

    - name: "network.update"
      type: "delta"
      unit: "network"

    - name: "port"
      type: "gauge"
      unit: "port"

    - name: "port.create"
      type: "delta"
      unit: "port"

    - name: "port.delete"
      type: "delta"
      unit: "port"

    - name: "port.update"
      type: "delta"
      unit: "port"

    - name: "router"
      type: "gauge"
      unit: "router"

    - name: "router.create"
      type: "delta"
      unit: "router"

    - name: "router.delete"
      type: "delta"
      unit: "router"

    - name: "router.update"
      type: "delta"
      unit: "router"

    - name: "storage.objects"
      type: "gauge"
      unit: "object"

    - name: "storage.objects.containers"
      type: "gauge"
      unit: "container"

    - name: "storage.objects.size"
      type: "gauge"
      unit: "B"

    - name: "subnet"
      type: "gauge"
      unit: "subnet"

    - name: "subnet.create"
      type: "delta"
      unit: "subnet"

    - name: "subnet.delete"
      type: "delta"
      unit: "subnet"

    - name: "subnet.update"
      type: "delta"
      unit: "subnet"

    - name: "vcpus"
      type: "gauge"
      unit: "vcpu"

    - name: "volume"
      type: "gauge"
      unit: "volume"

    - name: "volume.delete.end"
      type: "delta"
      unit: "volume"

    - name: "volume.size"
      type: "gauge"
      unit: "GB"

    - name: "volume.update.end"
      type: "delta"
      unit: "volume"

070701000000A8000081A40000000000000000000000015B730D0500003192000000000000000000000000000000000000005F00000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/templates/ceilosca_mapping.yaml.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.
#
---

meter_metric_map:
  - name: "disk.device.write.requests"
    monasca_metric_name: "vm.io.write_ops"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "request"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.allocation"
    monasca_metric_name: "vm.disk.allocation"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.usage"
    monasca_metric_name: "vm.disk.physical"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.capacity"
    monasca_metric_name: "vm.disk.capacity_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.read_bytes"
    monasca_metric_name: "vm.io.read_bytes"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.usage"
    monasca_metric_name: "vm.disk.physical_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.write_bytes"
    monasca_metric_name: "vm.io.write_bytes"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.read.bytes"
    monasca_metric_name: "vm.io.read_bytes_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.capacity"
    monasca_metric_name: "vm.disk.capacity"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.write.bytes"
    monasca_metric_name: "vm.io.write_bytes_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.read.requests"
    monasca_metric_name: "vm.io.read_ops_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "request"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.allocation"
    monasca_metric_name: "vm.disk.allocation_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.write.requests"
    monasca_metric_name: "vm.io.write_ops_total"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "request"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.read.requests"
    monasca_metric_name: "vm.io.read_ops"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "request"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.write.requests.rate"
    monasca_metric_name: "vm.io.write_ops_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "request/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.read.bytes.rate"
    monasca_metric_name: "vm.io.read_bytes_total_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.write.bytes.rate"
    monasca_metric_name: "vm.io.write_bytes_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.read.requests.rate"
    monasca_metric_name: "vm.io.read_ops_total_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "request/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.read.requests.rate"
    monasca_metric_name: "vm.io.read_ops_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "request/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.write.requests.rate"
    monasca_metric_name: "vm.io.write_ops_total_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "request/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.device.read.bytes.rate"
    monasca_metric_name: "vm.io.read_bytes_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "disk.write.bytes.rate"
    monasca_metric_name: "vm.io.write_bytes_total_sec"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "B/s"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.kernel.percent"
    monasca_metric_name: "cpu.system_perc"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "gauge"
    unit: "%"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.percent"
    monasca_metric_name: "cpu.percent"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "gauge"
    unit: "%"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.idle.time"
    monasca_metric_name: "cpu.idle_time"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "cumulative"
    unit: "ns"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.frequency"
    monasca_metric_name: "cpu.frequency_mhz"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "gauge"
    unit: "MHz"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.user.time"
    monasca_metric_name: "cpu.user_time"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "cumulative"
    unit: "ns"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.idle.percent"
    monasca_metric_name: "cpu.idle_perc"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "gauge"
    unit: "%"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.iowait.time"
    monasca_metric_name: "cpu.wait_time"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "cumulative"
    unit: "ns"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.user.percent"
    monasca_metric_name: "cpu.user_perc"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "gauge"
    unit: "%"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.kernel.time"
    monasca_metric_name: "cpu.system_time"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "cumulative"
    unit: "ns"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "compute.node.cpu.iowait.percent"
    monasca_metric_name: "cpu.wait_perc"
    resource_id: $.dimensions.hostname
    project_id: "NA"
    user_id: "NA"
    region: "NA"
    type: "gauge"
    unit: "%"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "cpu"
    monasca_metric_name: "vm.cpu.time_ns"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "ns"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "memory.resident"
    monasca_metric_name: "vm.mem.resident_mb"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "MB"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "network.incoming.bytes"
    monasca_metric_name: "vm.net.in_bytes"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "network.outgoing.bytes"
    monasca_metric_name: "vm.net.out_bytes"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "B"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "network.incoming.packets"
    monasca_metric_name: "vm.net.in_packets"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "Packet"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "network.outgoing.packets"
    monasca_metric_name: "vm.net.out_packets"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "cumulative"
    unit: "Packet"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "cpu_util"
    monasca_metric_name: "vm.cpu.utilization_perc"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "%"
    source: "NA"
    resource_metadata: $.measurement[0][2]

  - name: "memory.usage"
    monasca_metric_name: "vm.mem.used_mb"
    resource_id: $.dimensions.resource_id
    project_id: $.dimensions.tenant_id
    user_id: $.dimensions.user_id
    region: "NA"
    type: "gauge"
    unit: "MB"
    source: "NA"
    resource_metadata: $.measurement[0][2]

070701000000A9000081A40000000000000000000000015B730D05000014BE000000000000000000000000000000000000006800000000ardana-ceilometer-8.0+git.1534266629.0bb5d54/roles/_CEI-CMN/templates/monasca-field-definitions.yaml.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.
#
#}
dimensions:
    - resource_id
    - project_id
    - user_id
    - region
    - type
    - unit
    - source
metadata:
    common:
        - event_type
        - audit_period_beginning
        - audit_period_ending
        - availability_zone
    instance:
        - state
        - memory_mb
        - root_gb
        - vcpus
        - disk_gb
        - ephemeral_gb
        - host
        - instance_flavor_id
        - image_ref_url
        - created_at
        - deleted_at
        - launched_at
    memory:
        - state
        - memory_mb
        - root_gb
        - vcpus
        - disk_gb
        - ephemeral_gb
        - host
        - instance_flavor_id
        - image_ref_url
        - created_at
        - deleted_at
        - launched_at
    vcpus:
        - state
        - memory_mb
        - root_gb
        - vcpus
        - disk_gb
        - ephemeral_gb
        - host
        - instance_flavor_id
        - image_ref_url
        - created_at
        - deleted_at
        - launched_at
    image:
        - size
        - status
        - is_public
        - properties.image_type
    image.size:
        - size
        - status
        - is_public
        - properties.image_type
    image.update:
        - size
        - status
        - is_public
        - properties.image_type
    image.upload:
        - size
        - status
        - is_public
        - properties.image_type
    image.delete:
        - size
        - status
        - is_public
        - properties.image_type
    volume:
        - size
        - volume_type
        - status
        - created_at
        - host
        - status
    volume.create.end:
        - size
        - volume_type
        - status
        - created_at
        - host
        - status
    volume.delete.end:
        - size
        - volume_type
        - status
        - created_at
        - host
        - status
    volume.size:
        - size
        - volume_type
        - status
        - created_at
        - host
        - status
    volume.resize.end:
        - size
        - volume_type
        - status
        - created_at
        - host
    volume.update.end:
        - size
        - volume_type
        - status
        - created_at
        - host
    snapshot:
        - volume_size
        - state
        - status
        - created_at
        - host
    snapshot.size:
        - volume_size
        - state
        - status
        - created_at
        - host
    snapshot.create.end:
        - volume_size
        - state
        - status
        - created_at
        - host
    snapshot.delete.end:
        - volume_size
        - state
        - status
        - created_at
        - host
    ip.floating:
        - floating_ip_address
        - fixed_ip_address
        - host
        - port_id
        - router_id
    port:
        - vif_type
        - device_owner
        - mac_address
        - host
    port.create:
        - vif_type
        - device_owner
        - mac_address
        - host
    port.update:
        - vif_type
        - device_owner
        - mac_address
        - host
    port.delete:
        - vif_type
        - device_owner
        - mac_address
        - host
    network:
        - shared
        - provider:network_type
        - provider:physical_network
        - provider:segmentation_id
    network.create:
        - shared
        - provider:network_type
        - provider:physical_network
        - provider:segmentation_id
    network.update:
        - shared
        - provider:network_type
        - provider:physical_network
        - provider:segmentation_id
    network.delete:
        - shared
        - provider:network_type
        - provider:physical_network
        - provider:segmentation_id
    router:
        - external_gateway_info.enable_snat
        - external_gateway_info.network_id
        - host
    router.create:
        - external_gateway_info.enable_snat
        - external_gateway_info.network_id
        - host
    router.update:
        - external_gateway_info.enable_snat
        - external_gateway_info.network_id
        - host
    router.delete:
        - external_gateway_info.enable_snat
        - external_gateway_info.network_id
        - host
    subnet:
        - cidr
        - enable_dhcp
        - gateway_ip
        - host
        - ip_version
    subnet.create:
        - cidr
        - enable_dhcp
        - gateway_ip
        - host
        - ip_version
    subnet.update:
        - cidr
        - enable_dhcp
        - gateway_ip
        - host
        - ip_version
    subnet.delete:
        - cidr
        - enable_dhcp
        - gateway_ip
        - host
        - ip_version
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!518 blocks
openSUSE Build Service is sponsored by