File ardana-magnum-8.0+git.1555450198.c42dc52.obscpio of Package ardana-magnum

07070100000000000081A40000000000000000000000015CB64956000000EF000000000000000000000000000000000000003400000000ardana-magnum-8.0+git.1555450198.c42dc52/.gitignore*.DS_Store
*.egg*
*.log
*.mo
*.pyc
*.swo
*.swp
*.sqlite
*~
.autogenerated
.coverage
.project
.pydevproject
.ropeproject
.testrepository/
.tox
.idea
.venv
tags
build/*
coverage.xml
cover/*
covhtml
doc/source/api/*
doc/build/*
nosetests.xml
07070100000001000081A40000000000000000000000015CB6495600000082000000000000000000000000000000000000003400000000ardana-magnum-8.0+git.1555450198.c42dc52/.gitreview[gerrit]
host=gerrit.suse.provo.cloud
port=29418
project=ardana/magnum-ansible.git
defaultremote=ardana
defaultbranch=stable/pike
07070100000002000081A40000000000000000000000015CB649560000279F000000000000000000000000000000000000003100000000ardana-magnum-8.0+git.1555450198.c42dc52/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.

07070100000003000081A40000000000000000000000015CB6495600000196000000000000000000000000000000000000003300000000ardana-magnum-8.0+git.1555450198.c42dc52/README.mdREADME
======

This repo contains the following roles:
- magnum-api: magnum-api role
- magnum-conductor: magnum-conductor role

The verbs:
- configure - configure the service/role
- install   - install the service/role
- start     - start the service/role
- stop      - stop the service/role

The operations:
- deploy    - deploy the service (install, configure and start)
- start     - start the service

07070100000004000081A40000000000000000000000015CB649560000039B000000000000000000000000000000000000004A00000000ardana-magnum-8.0+git.1555450198.c42dc52/_magnum-configure-monitoring.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- hosts: MAG-API:MAG-CND:&MON-AGN
  roles:
    - magnum-monitoring
  tasks:
    - include: roles/magnum-monitoring/tasks/process_check.yml

- hosts: MAG-API:&MON-AGN
  roles:
    - magnum-monitoring
  tasks:
    - include: roles/magnum-monitoring/tasks/magnum_api_check.yml
07070100000005000081A40000000000000000000000015CB6495600000428000000000000000000000000000000000000003F00000000ardana-magnum-8.0+git.1555450198.c42dc52/_magnum-configure.yml#
# (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.
#
---

- hosts: TLS-CA--first-member[0]
  roles:
    - tls-trust

- hosts: MAG-CND
  roles:
    - tls-trust
    - magnum-conductor
  tasks:
    - include: roles/tls-trust/tasks/install.yml
    - include: roles/magnum-conductor/tasks/configure.yml

- hosts: MAG-API
  roles:
    - tls-trust
    - magnum-api
  tasks:
    - include: roles/tls-trust/tasks/install.yml
    - include: roles/magnum-api/tasks/configure.yml
07070100000006000081A40000000000000000000000015CB6495600000361000000000000000000000000000000000000003D00000000ardana-magnum-8.0+git.1555450198.c42dc52/_magnum-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: MAG-CND
  roles:
    - magnum-conductor
  tasks:
    - include: roles/magnum-conductor/tasks/install.yml

- hosts: MAG-API
  roles:
    - magnum-api
  tasks:
    - include: roles/magnum-api/tasks/install.yml
07070100000007000081A40000000000000000000000015CB649560000031D000000000000000000000000000000000000004400000000ardana-magnum-8.0+git.1555450198.c42dc52/_magnum-post-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 Magnum database
- hosts: MAG-API
  roles:
    - magnum-common
  tasks:
    - include: roles/magnum-post-configure/tasks/db_configure.yml
07070100000008000081A40000000000000000000000015CB64956000004F1000000000000000000000000000000000000004300000000ardana-magnum-8.0+git.1555450198.c42dc52/_magnum-pre-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 keystone
- hosts: KEY-CLI
  roles:
    - magnum-pre-configure
  # This task should be set to run-once
  tasks:
    - include: roles/magnum-pre-configure/tasks/keystone_conf.yml
      ansible_python_interpreter:
        "{{ KEY_CLI.vars.keystone_client_python_interpreter }}"
      when: ( 'MAG-API' in groups ) and ( ( groups['MAG-API'] | length ) > 0 )
    - include: roles/magnum-pre-configure/tasks/keystone_domain_setup.yml
      ansible_python_interpreter:
        "{{ KEY_CLI.vars.keystone_client_python_interpreter }}"
      when: ( 'MAG-CND' in groups ) and ( ( groups['MAG-CND'] | length ) > 0 )
07070100000009000081A40000000000000000000000015CB64956000002E6000000000000000000000000000000000000004600000000ardana-magnum-8.0+git.1555450198.c42dc52/_magnum-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 magnum services using ardana_notify_... variables
- hosts: all
  tasks:
    - include: roles/magnum-common/tasks/_schedule_restart.yml0707010000000A000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000003000000000ardana-magnum-8.0+git.1555450198.c42dc52/config0707010000000B000081A40000000000000000000000015CB649560000051D000000000000000000000000000000000000004400000000ardana-magnum-8.0+git.1555450198.c42dc52/config/magnum-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:
  "magnum/api.conf.j2": "roles/magnum-api/templates/magnum-api.conf.j2"
  "magnum/api-logging.conf.j2": "roles/magnum-api/templates/api-logging.conf.j2"
  "magnum/conductor.conf.j2": "roles/magnum-conductor/templates/magnum-conductor.conf.j2"
  "magnum/conductor-logging.conf.j2": "roles/magnum-conductor/templates/conductor-logging.conf.j2"
  "magnum/magnum.conf.j2": "roles/magnum-common/templates/magnum.conf.j2"
  "magnum/policy.json.j2": "roles/magnum-common/templates/policy.json.j2"
  "magnum/api-paste.ini.j2": "roles/magnum-api/templates/api-paste.ini.j2"
0707010000000C000081A40000000000000000000000015CB64956000003E8000000000000000000000000000000000000003B00000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-deploy.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- include: pbstart.yml
  vars:
    playbook_name: "magnum-deploy.yml"
- include: _magnum-install.yml
- include: _magnum-pre-configure.yml
- include: _magnum-configure.yml
- include: _magnum-post-configure.yml
- include: magnum-start.yml
- include: _magnum-configure-monitoring.yml
- include: pbfinish.yml
  vars:
    playbook_name: "magnum-deploy.yml"
0707010000000D000081A40000000000000000000000015CB649560000047A000000000000000000000000000000000000005300000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-reconfigure-credentials-change.yml#
# (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- include: _magnum-pre-configure.yml

- hosts: KEY-CLI
  roles:
    - magnum-pre-configure
  # This task should be set to run-once
  tasks:
    - include: roles/magnum-pre-configure/tasks/keystone_credentials_change.yml
      ansible_python_interpreter:
        "{{ KEY_CLI.vars.keystone_client_python_interpreter }}"
      when: ( 'MAG-API' in groups ) and ( ( groups['MAG-API'] | length ) > 0 )

- include: _magnum-configure.yml
- include: magnum-start.yml
- include: _magnum-post-configure.yml
0707010000000E000081A40000000000000000000000015CB649560000033D000000000000000000000000000000000000004000000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-reconfigure.yml#
# (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- include: _magnum-pre-configure.yml
- include: _magnum-configure.yml
- include: _magnum-post-configure.yml
- include: magnum-start.yml
- include: _magnum-configure-monitoring.yml
0707010000000F000081A40000000000000000000000015CB6495600000289000000000000000000000000000000000000003C00000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-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: _magnum-schedule-restart.yml

- include: magnum-start.yml
07070100000010000081A40000000000000000000000015CB64956000003BB000000000000000000000000000000000000003A00000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-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: MAG-CND
  roles:
    - magnum-conductor
  tasks:
    - include: roles/magnum-conductor/tasks/start.yml

- hosts: MAG-API
  roles:
    - magnum-api
  tasks:
    - include: roles/magnum-api/tasks/start.yml

- hosts: MAG-*
  tasks:
    - include: roles/magnum-common/tasks/_clear_persistent_facts.yml
07070100000011000081A40000000000000000000000015CB6495600000360000000000000000000000000000000000000003B00000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-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: MAG-CND
  roles:
    - magnum-conductor
  tasks:
    - include: roles/magnum-conductor/tasks/status.yml

- hosts: MAG-API
  roles:
    - magnum-api
  tasks:
    - include: roles/magnum-api/tasks/status.yml

07070100000012000081A40000000000000000000000015CB649560000035B000000000000000000000000000000000000003900000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-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: MAG-CND
  roles:
    - magnum-conductor
  tasks:
    - include: roles/magnum-conductor/tasks/stop.yml

- hosts: MAG-API
  roles:
    - magnum-api
  tasks:
    - include: roles/magnum-api/tasks/stop.yml
07070100000013000081A40000000000000000000000015CB6495600000395000000000000000000000000000000000000003C00000000ardana-magnum-8.0+git.1555450198.c42dc52/magnum-upgrade.yml#
# (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- include: magnum-status.yml
- include: _magnum-install.yml
- include: _magnum-pre-configure.yml
- include: _magnum-configure.yml
- include: _magnum-post-configure.yml
- include: magnum-start.yml
- include: _magnum-configure-monitoring.yml
- include: magnum-status.yml
07070100000014000041ED0000000000000000000000085CB6495600000000000000000000000000000000000000000000002F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles07070100000015000041ED0000000000000000000000065CB6495600000000000000000000000000000000000000000000003A00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api07070100000016000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004300000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/defaults07070100000017000081A40000000000000000000000015CB64956000002EC000000000000000000000000000000000000004C00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-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 magnum-api service
---
magnum_component: magnum-api
07070100000018000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000003F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/meta07070100000019000081A40000000000000000000000015CB64956000002AE000000000000000000000000000000000000004800000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-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: magnum-common
0707010000001A000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004000000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/tasks0707010000001B000081A40000000000000000000000015CB649560000073B000000000000000000000000000000000000004E00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/tasks/configure.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Configure the magnum-api service
---

- include: ../../magnum-common/tasks/_set_directories.yml
  vars:
    install_package_result: "{{ ardana_notify_magnum_api_install_result }}"

- include: ../../magnum-common/tasks/configure.yml

- name: magnum-api | configure | Write Magnum api conf
  include: ../../magnum-common/tasks/_write_conf.yml
  src: "../../magnum-api/templates/magnum-api.conf.j2"
  dest: "magnum-api.conf"
  config: "{{ magnum_service_conf }}"
  register: ardana_notify_magnum_api_restart_required

- name: magnum-api | configure | Apply template
  become: yes
  template:
    src: "{{ item }}.j2"
    dest: "{{ magnum_service_conf_dir }}/{{ item }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    mode: 0640
  with_items:
    - "api-logging.conf"
    - "api-paste.ini"
  register: ardana_notify_magnum_api_restart_required

- name: magnum-api | configure | Touch api and json log files
  become: yes
  file:
    path: "{{ item }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_log_group }}"
    mode: 0640
    state: touch
  with_items:
    - "{{ magnum_log_location }}/magnum-api-json.log"
    - "{{ magnum_log_location }}/magnum-api.log"
0707010000001C000081A40000000000000000000000015CB64956000007F2000000000000000000000000000000000000004C00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/tasks/install.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Install magnum-api service
---
- name: magnum-api | install | Update venv cache
  become: yes
  install_package:
    cache: update

- name: magnum-api | install |
    Install the magnum-api service from the magnum venv
  become: yes
  install_package:
    name: magnum
    service: magnum-api
    state: present
    activate: act_off
  register: ardana_notify_magnum_api_install_result

- include: ../../magnum-common/tasks/_set_directories.yml
  vars:
    install_package_result: "{{ ardana_notify_magnum_api_install_result }}"

- name: magnum-api | install | Register persistent fact of install
  command: /bin/true
  register: ardana_notify_magnum_api_restart_required
  when: ardana_notify_magnum_api_install_result.changed

- name: magnum-api | install | Setup magnum-api service
  become: yes
  setup_systemd:
    service: magnum-api
    user: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    cmd: magnum-api
    stdout: "null"
    args: >
      --config-file={{ magnum_service_conf_dir }}/magnum.conf
      --config-file={{ magnum_service_conf_dir }}/magnum-api.conf

- name: magnum-api | install | Set magnum-api service to not start on boot
  become: yes
  service:
    name: magnum-api
    enabled: no

# This must happen after the install_package, or a path which is meant to be a
# symlink will be mkdir'd
- include: ../../magnum-common/tasks/install.yml
0707010000001D000081A40000000000000000000000015CB6495600000818000000000000000000000000000000000000004A00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/tasks/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.
#
# Start the magnum-api service
---
- name: magnum-api | start | Activate the latest installed version
  become: yes
  install_package:
    name: magnum
    service: magnum-api
    activate: act_on
    version: "{{ ardana_notify_magnum_api_install_result.version }}"
  when: not (ardana_notify_magnum_api_install_result is not defined)

- name: magnum-api | start | register persistent fact of activate
  command: /bin/true
  register: ardana_notify_magnum_api_restart_required
  when: ardana_notify_magnum_api_install_result is defined and
        ardana_notify_magnum_api_install_result.changed

- name: magnum-api | start | Restart magnum-api service
  become: yes
  service:
    name: magnum-api
    state: restarted
  # This checks if either an 'api' restart or complete magnum restart is
  # required. If the complete restart is required the check is negated
  # therefore value does not get marked for deletion, as it may be still
  # be required.
  when: (((not (ardana_notify_magnum_restart_required is not defined)) and
        ardana_notify_magnum_restart_required.changed) or
        (ardana_notify_magnum_api_restart_required is defined and
        ardana_notify_magnum_api_restart_required.changed)) and
        magnum_api_restarted_result is not defined
  register: magnum_api_restarted_result

- name: magnum-api | start | Start magnum-api service
  become: yes
  service:
    name: magnum-api
    state: started
0707010000001E000081A40000000000000000000000015CB64956000002FC000000000000000000000000000000000000004B00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/tasks/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.
#
---

- name: magnum-api | status | Check magnum-api is running
  include: ../../magnum-common/tasks/_service_status.yml
0707010000001F000081A40000000000000000000000015CB6495600000380000000000000000000000000000000000000004900000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/tasks/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.
#
# Stop the magnum-api service
---
- name: magnum-api | stop | stop magnum-api service
  become: yes
  service: name=magnum-api state=stopped
  register: stop_result
  failed_when:
    "stop_result|failed and 'service not found' not in stop_result.msg"
07070100000020000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004400000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/templates07070100000021000081A40000000000000000000000015CB6495600000673000000000000000000000000000000000000005800000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-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

[handlers]
keys: watchedfile, logstash

[formatters]
keys: context, logstash


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


# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('{{ magnum_log_dir }}/magnum-api.log',)
formatter: context
level: INFO

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


# 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" and "datefmt" actually set the "type" and "tags"
[formatter_logstash]
class: logstash.LogstashFormatterVersion1
format: magnum
datefmt: magnum-api
07070100000022000081A40000000000000000000000015CB6495600000273000000000000000000000000000000000000005500000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/templates/api-paste.ini.j2[pipeline:main]
pipeline = cors healthcheck request_id authtoken api_v1

[app:api_v1]
paste.app_factory = magnum.api.app:app_factory

[filter:authtoken]
acl_public_routes = /, /v1
paste.filter_factory = magnum.api.middleware.auth_token:AuthTokenMiddleware.factory

[filter:request_id]
paste.filter_factory = oslo_middleware:RequestId.factory

[filter:cors]
paste.filter_factory =  oslo_middleware.cors:filter_factory
oslo_config_project = magnum

[filter:healthcheck]
paste.filter_factory = oslo_middleware:Healthcheck.factory
backends = disable_by_file
disable_by_file_path = {{ magnum_service_conf_dir }}/healthcheck_disable
07070100000023000081A40000000000000000000000015CB649560000034F000000000000000000000000000000000000005700000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-api/templates/magnum-api.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.
#
#}
# This configuration file includes the default values for Ardana
# Changes may be made to this file by the customer.
[DEFAULT]

log_config_append = "{{ magnum_service_conf_dir }}/api-logging.conf"
07070100000024000041ED0000000000000000000000065CB6495600000000000000000000000000000000000000000000003D00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common07070100000025000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004600000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/defaults07070100000026000081A40000000000000000000000015CB64956000011CC000000000000000000000000000000000000004F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/defaults/main.yml#
# (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.
#
---

# Layout of this file:
# At the top of this file (following on from this text) are the root level
# variables. Variables defined here have global scope.
#
# Files are defined by identifiers followed by a colon(:), with sections in
# a file indented to the next level.

# system level vars
# -----------------
# Values in this section relate to the build/install of magnum
# at a system level
magnum_system_group: magnum
magnum_system_user: magnum
magnum_log_group: adm
magnum_system_createhome: false
magnum_system_shell: /bin/false

magnum_state_root_dir: /
magnum_system_home_folder: "{{ magnum_state_root_dir }}/var/lib/magnum"
magnum_lock_file_location: "{{ magnum_state_root_dir }}/var/lib/magnum"
magnum_log_dir: "{{ magnum_state_root_dir }}/var/log/magnum"
magnum_keys_file_location: "{{ magnum_state_root_dir }}/var/lib/magnum/keys"
magnum_cert_file_location: "{{ magnum_state_root_dir }}/var/lib/magnum/certificates"
magnum_log_location: "/var/log/magnum"

# [DEFAULT]
magnum_debug_mode: "True"
magnum_verbose_mode: "True"
magnum_state_path: "{{ magnum_state_root_dir }}/var/lib/magnum"
magnum_rootwrap_config: "{{ magnum_service_conf_dir }}/rootwrap.conf"
magnum_api_paste_config: "{{ magnum_service_conf_dir }}/api-paste.ini"

magnum_rabbit_password: "{{ MAG_CND.consumes_FND_RMQ.vars.accounts.magnum.password }}"
magnum_rabbit_userid: "{{ MAG_CND.consumes_FND_RMQ.vars.accounts.magnum.username }}"

# TODO Check this
magnum_rpc_backend: "rabbit"
magnum_rabbit_hosts: >
  {%- for x in MAG_API.consumes_FND_RMQ.members.private -%}
    {{ magnum_rabbit_userid }}:{{ magnum_rabbit_password }}@{{ x.host }}:{{ x.port }}{%- if not loop.last -%},{%- endif -%}
  {%- endfor -%}
magnum_rabbit_hosts_transport_url: "rabbit://{{ magnum_rabbit_hosts }}"
magnum_rabbit_ha_queues: true
magnum_rabbit_use_ssl: "{{ MAG_CND.consumes_FND_RMQ.members.private[0].use_tls }}"

magnum_lock_path: "{{ magnum_state_root_dir }}/var/lib/magnum/lock"

magnum_port: >
  {{ host | item('bind.MAG_API.internal.port',
                 default=9511) }}
magnum_host: >
  {{ host | item('bind.MAG_API.internal.ip_address',
                 default=host.vars.my_hostname_address) }}

# [database ssl]
ca_file: "{{ trusted_ca_bundle }}"
magnum_db_ssl: "{% if MAG_API.consumes_FND_MDB.vips.private[0].use_tls %}?ssl_ca={{ ca_file }}{% endif %}"

# Database
magnum_db_connection: "mysql+pymysql://{{ MAG_API.consumes_FND_MDB.vars.accounts.magnum.username }}:{{ MAG_API.consumes_FND_MDB.vars.accounts.magnum.password | urlencode }}@{{ MAG_API.consumes_FND_MDB.vips.private[0].host }}/magnum{{ magnum_db_ssl }}"

magnum_admin_password: "{{ MAG_API.consumes_KEY_API.vars.keystone_magnum_password }}"
magnum_admin_user: "{{ MAG_API.consumes_KEY_API.vars.keystone_magnum_user }}"
magnum_admin_tenant_name: "{{ KEY_API.vars.keystone_service_tenant }}"
magnum_ca_file: "{{ trusted_ca_bundle }}"
magnum_auth_identity_uri: "{{ MAG_API.consumes_KEY_API.vips.private[0].url }}"
magnum_auth_uri: "{{ MAG_API.consumes_KEY_API.vips.private[0].url }}/v3"
magnum_signing_dir: "/tmp/keystone-signing-magnum"

magnum_keystone_default_domain: "{{ KEY_API.vars.keystone_default_domain }}"
magnum_project_domain_name: "{{ KEY_API.vars.keystone_default_domain }}"
magnum_user_domain_name: "{{ KEY_API.vars.keystone_default_domain }}"
magnum_project_name: "{{ KEY_API.vars.keystone_service_tenant }}"

barbican_region_name: "{{ MAG_CND.consumes_KEYMGR_API.regions|first }}"
glance_region_name : "{{ MAG_CND.consumes_GLA_API.regions|first }}"
neutron_region_name : "{{ MAG_CND.consumes_NEU_SVR.regions|first }}"
heat_region_name : "{{ MAG_CND.consumes_HEA_API.regions|first }}"
keystone_region_name : "{{ MAG_CND.consumes_KEY_API.regions|first }}"
magnum_region_name : "{{ MAG_CND.consumes_MAG_API.regions|first }}"
nova_region_name : "{{ MAG_CND.consumes_NOV_API.regions|first }}"
cinder_region_name : "{{ MAG_CND.consumes_CND_API.regions|first }}"
07070100000027000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004200000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/meta07070100000028000081A40000000000000000000000015CB64956000002C2000000000000000000000000000000000000004B00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/meta/main.yml#
# (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.
#
---
dependencies:
  - role: tls-trust
  - role: tls-vars
07070100000029000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004300000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks0707010000002A000081A40000000000000000000000015CB64956000003D3000000000000000000000000000000000000005F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks/_clear_persistent_facts.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.
#
# Clear persistent fact that is read by all services so must exist until
# all services have been restarted
---
- name: magnum-common | _clear_persistent_facts | Clear persistent facts
  command: /bin/true
  changed_when: true
  when: ardana_notify_magnum_restart_required is defined and
        ardana_notify_magnum_restart_required.changed
0707010000002B000081A40000000000000000000000015CB6495600000316000000000000000000000000000000000000005900000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/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: magnum-common | _schedule_restart | Schedule a restart for all services
  debug:
    msg: "Trigger a change notification in magnum"
  changed_when: true
  register: ardana_notify_magnum_restart_required0707010000002C000081A40000000000000000000000015CB6495600000484000000000000000000000000000000000000005700000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks/_service_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.
#
---

- name: magnum-common | _service_status | Check systemd service running
  become: yes
  command: systemctl status "{{ magnum_component }}"
  ignore_errors: yes
  changed_when: false
  register: systemctl_status_result

- name: magnum-common | _service_status |
    report status of "{{ magnum_component }}"
  fail:
    msg: |
      {{ magnum_component }} is not running.
      systemctl status {{ magnum_component }} output:
      {{ systemctl_status_result.stdout }}
  when: systemctl_status_result|failed
0707010000002D000081A40000000000000000000000015CB6495600000501000000000000000000000000000000000000005800000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks/_set_directories.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: magnum-common | _set_directories | set service etc and venv directory
  set_fact:
    magnum_service_conf_dir: >
      {{ magnum_component | config_dir(install_package_result.version) }}/magnum
    magnum_service_bin_dir: >
      {{ magnum_component | bin_dir(install_package_result.version) }}
  when: install_package_result.version is defined

- name: magnum-common | _set_directories | set service etc and venv directory
  set_fact:
    magnum_service_conf_dir: "{{ magnum_component | config_dir() }}/magnum"
    magnum_service_bin_dir: "{{ magnum_component | bin_dir() }}"
  when: install_package_result.version is undefined
0707010000002E000081A40000000000000000000000015CB64956000003A2000000000000000000000000000000000000005300000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks/_write_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.
#
---
- name: "magnum-common | _write_conf | Template {{ dest }}"
  become: yes
  template:
    src: "{{ src }}"
    dest: "{{ magnum_service_conf_dir }}/{{ dest }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    mode: 0600
  register: write_conf_result
0707010000002F000081A40000000000000000000000015CB649560000063A000000000000000000000000000000000000005100000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks/configure.yml#
# (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.
#
# magnum-common | configure
---

- name: magnum-common | configure | Print magnum component in configure
  debug:
    msg: "Running magnum-common configure for {{ magnum_component }}"
    when: magnum_component is defined
    run_once: true

- name: magnum-common | configure | Set fact for additional CA cert file
  set_fact:
    magnum_add_ca_cert_file: >
      "{{ local_cert_directory }}/{{ ansible_local.ardana_int_ca_first_crt }}"

- include: _write_conf.yml
  src: "magnum.conf.j2"
  dest: "magnum.conf"

- name: magnum-common | configure | notify on magnum.conf change
  shell: echo "notify change"
  register: ardana_notify_magnum_restart_required
  when: write_conf_result.changed

- include: _write_conf.yml
  src: "policy.json.j2"
  dest: "policy.json"

- name: magnum-common | configure | notify on policy.json change
  shell: echo "notify change"
  register: ardana_notify_magnum_restart_required
  when: write_conf_result.changed
07070100000030000081A40000000000000000000000015CB6495600000832000000000000000000000000000000000000004F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/tasks/install.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (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.
#
# common install tasks associated with the install of magnum services
---

- name: magnum-common | install | debug message for magnum component
  debug:
    msg: "Running magnum-common install for {{ magnum_component }}"
    when: magnum_component is defined
    run_once: true

# accounts & group
- name: magnum-common | install | Add group '{{ magnum_system_group }}'
  become: yes
  group:
    name: "{{ magnum_system_group }}"

- name: magnum-common | install |
    Add magnum system user account '{{ magnum_system_user }}'
  become: yes
  user:
    name: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    createhome: "{{ magnum_system_createhome }}"
    home: "{{ magnum_system_home_folder }}"
    shell: "{{ magnum_system_shell }}"
    system: True

- name: magnum-common | install |
    Set Permissions '{{ magnum_system_home_folder }}'
  become: yes
  file:
    path: "{{ magnum_system_home_folder }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    state: directory
    mode: 0750

- name: magnum-common | install | Create magnum directories
  become: yes
  file:
    path: "{{ item }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    mode: 0755
    state: directory
  with_items:
    - "{{ magnum_lock_path }}"
    - "{{ magnum_keys_file_location }}"
    - "{{ magnum_cert_file_location }}"
    - "{{ magnum_log_dir }}"
    - "{{ magnum_service_conf_dir }}"
07070100000031000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004700000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/templates07070100000032000081A40000000000000000000000015CB64956000010F7000000000000000000000000000000000000005600000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/templates/magnum.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.
#
#}
# This configuration file includes the default values for Ardana
# Changes may be made to this file by the customer.

[DEFAULT]
state_path = {{ magnum_state_path }}
rootwrap_config = {{ magnum_rootwrap_config }}
host = {{ magnum_host }}
rpc_backend = {{ magnum_rpc_backend }}
transport_url = {{ magnum_rabbit_hosts_transport_url }}

[api]
host = {{ magnum_host }}
port = {{ magnum_port }}
api_paste_config = {{ magnum_api_paste_config }}

[barbican_client]
region_name = {{ barbican_region_name }}
endpoint_type = internalURL

[certificates]
# Certificate Manager plugin. Defaults to barbican. (string value)
#cert_manager_type = barbican
storage_path = {{ magnum_cert_file_location }}

[cinder_client]
region_name = {{ cinder_region_name }}

[drivers]
## Path to the OpenStack CA-bundle file to pass and install in all cluster
## nodes. (string value)
openstack_ca_file = {{ magnum_add_ca_cert_file }}

[database]
connection = {{ magnum_db_connection }}

[glance_client]
region_name = {{ glance_region_name }}
endpoint_type = internalURL

[heat_client]
region_name = {{ heat_region_name }}
endpoint_type = internalURL

# NOTE(gyee): This is @#$@!$% ugly! So Magnum is using the [keystone_auth]
# section in order to support Keystone V3. See
#
# https://review.openstack.org/#/c/274227/
#
# Unfortunately, keystone middleware is looking for the [keystone_authtoken]
# section for the Keystone authentication options. So we have two choices.
#
# 1. have a single [keystone_authtoken] section and put the legacy options
#    there (i.e. admin_user, admin_tenant_name, etc). The problem with this
#    approach is that the Magnum project must live in the Default domain as
#    it was meant for Keystone v2 backward compatibility.
# 2. create a new [keystone_auth] section which duplicate most of the stuff
#    in the [keystone_authtoken] section.
#
# I opted for 2 because we really need the flexibility to support Keystone
# v3 without any restricitons.
#
# TODO(gyee): we really need to convince upstream Magnum to use keystoneauth
# instead of inventing their own.
#
[keystone_auth]
auth_uri = {{ magnum_auth_uri }}
auth_url = {{ magnum_auth_uri }}
auth_type = password
identity_uri = {{ magnum_auth_identity_uri }}

region_name = {{ keystone_region_name }}
user_domain_name = {{ magnum_keystone_default_domain }}
project_domain_name = {{ magnum_project_domain_name }}
project_name = {{ magnum_project_name }}
username = {{ magnum_admin_user }}
password = {{ magnum_admin_password }}
service_token_roles_required = True

[keystone_authtoken]
auth_uri = {{ magnum_auth_uri }}
auth_url = {{ magnum_auth_uri }}
auth_type = password
identity_uri = {{ magnum_auth_identity_uri }}

region_name = {{ keystone_region_name }}
user_domain_name = {{ magnum_keystone_default_domain }}
project_domain_name = {{ magnum_project_domain_name }}
project_name = {{ magnum_project_name }}
username = {{ magnum_admin_user }}
password = {{ magnum_admin_password }}
service_token_roles_required = True

[magnum_client]
region_name = {{ magnum_region_name }}
endpoint_type = publicURL

[neutron_client]
region_name = {{ neutron_region_name }}
endpoint_type = internalURL

[nova_client]
region_name = {{ nova_region_name }}
endpoint_type = internalURL

[oslo_concurrency]
lock_path = {{ magnum_lock_path }}

[oslo_messaging_amqp]
ssl_ca_file = {{ magnum_ca_file }}

[oslo_messaging_rabbit]
ssl = {{ magnum_rabbit_use_ssl }}
rabbit_notification_exchange = magnum
rabbit_notification_topic = notification

[trust]
trustee_domain_id = {{ magnum_trustee_domain_id }}
trustee_domain_admin_id = {{ magnum_trustee_user_id }}
trustee_domain_admin_password = {{ magnum_trustee_user_password }}
cluster_user_trust = True
07070100000033000081A40000000000000000000000015CB6495600000A76000000000000000000000000000000000000005600000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-common/templates/policy.json.j2{#
#
# (c) Copyright 2016-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
{
    "context_is_admin":  "role:admin",
    "admin_or_owner":  "is_admin:True or project_id:%(project_id)s",
    "default": "rule:admin_or_owner",
    "admin_api": "rule:context_is_admin",
    "admin_or_user": "is_admin:True or user_id:%(user_id)s",
    "cluster_user": "user_id:%(trustee_user_id)s",
    "deny_cluster_user": "not domain_id:%(trustee_domain_id)s",

    "bay:create": "rule:deny_cluster_user",
    "bay:delete": "rule:deny_cluster_user",
    "bay:detail": "rule:deny_cluster_user",
    "bay:get": "rule:deny_cluster_user",
    "bay:get_all": "rule:deny_cluster_user",
    "bay:update": "rule:deny_cluster_user",

    "baymodel:create": "rule:deny_cluster_user",
    "baymodel:delete": "rule:deny_cluster_user",
    "baymodel:detail": "rule:deny_cluster_user",
    "baymodel:get": "rule:deny_cluster_user",
    "baymodel:get_all": "rule:deny_cluster_user",
    "baymodel:update": "rule:deny_cluster_user",
    "baymodel:publish": "rule:admin_or_owner",

    "cluster:create": "rule:deny_cluster_user",
    "cluster:delete": "rule:deny_cluster_user",
    "cluster:detail": "rule:deny_cluster_user",
    "cluster:get": "rule:deny_cluster_user",
    "cluster:get_all": "rule:deny_cluster_user",
    "cluster:update": "rule:deny_cluster_user",

    "clustertemplate:create": "rule:deny_cluster_user",
    "clustertemplate:delete": "rule:deny_cluster_user",
    "clustertemplate:detail": "rule:deny_cluster_user",
    "clustertemplate:get": "rule:deny_cluster_user",
    "clustertemplate:get_all": "rule:deny_cluster_user",
    "clustertemplate:update": "rule:deny_cluster_user",
    "clustertemplate:publish": "rule:admin_or_owner",

    "rc:create": "rule:default",
    "rc:delete": "rule:default",
    "rc:detail": "rule:default",
    "rc:get": "rule:default",
    "rc:get_all": "rule:default",
    "rc:update": "rule:default",

    "certificate:create": "rule:admin_or_user or rule:cluster_user",
    "certificate:get": "rule:admin_or_user or rule:cluster_user",

    "magnum-service:get_all": "rule:admin_api"
}
07070100000034000041ED0000000000000000000000065CB6495600000000000000000000000000000000000000000000004000000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor07070100000035000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004900000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/defaults07070100000036000081A40000000000000000000000015CB64956000003D3000000000000000000000000000000000000005200000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/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 magnum-conductor service
---
magnum_component: magnum-conductor
magnum_service_conf:
  sections:
    - name: DEFAULT
      comments:
        - magnum-conductor.conf
      items:
        - key: log_config_append
          value: "{{ magnum_service_conf_dir }}/conductor-logging.conf"
07070100000037000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004500000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/meta07070100000038000081A40000000000000000000000015CB64956000002AE000000000000000000000000000000000000004E00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/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: magnum-common
07070100000039000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004600000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/tasks0707010000003A000081A40000000000000000000000015CB649560000079F000000000000000000000000000000000000005400000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/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 the magnum-conductor service
---

- include: ../../magnum-common/tasks/_set_directories.yml
  vars:
    install_package_result: "{{
                              ardana_notify_magnum_conductor_install_result }}"

- include: ../../magnum-common/tasks/configure.yml

- name: magnum-conductor | configure | Write Magnum api conf
  include: ../../magnum-common/tasks/_write_conf.yml
  src: "../../magnum-conductor/templates/magnum-conductor.conf.j2"
  dest: "magnum-conductor.conf"
  config: "{{ magnum_service_conf }}"
  register: ardana_notify_magnum_conductor_restart_required

- name: magnum-conductor | configure | Apply logging template
  become: yes
  template:
    src: "{{ item }}.j2"
    dest: "{{ magnum_service_conf_dir }}/{{ item }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    mode: 0600
  with_items:
    - "conductor-logging.conf"
  register: ardana_notify_magnum_conductor_restart_required

- name: magnum-conductor | configure | Touch conductor and json log files
  become: yes
  file:
    path: "{{ item }}"
    owner: "{{ magnum_system_user }}"
    group: "{{ magnum_log_group }}"
    mode: 0640
    state: touch
  with_items:
    - "{{ magnum_log_location }}/magnum-conductor-json.log"
    - "{{ magnum_log_location }}/magnum-conductor.log"
0707010000003B000081A40000000000000000000000015CB649560000081B000000000000000000000000000000000000005200000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/tasks/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.
#
# Install magnum-conductor
---
- name: magnum-conductor | install | Update venv cache
  become: yes
  install_package:
    cache: update

- name: magnum-conductor | install |
    Install the magnum-conductor service from the magnum venv
  become: yes
  install_package:
    name: magnum
    service: magnum-conductor
    state: present
    activate: act_off
  register: ardana_notify_magnum_conductor_install_result

- name: magnum-conductor | install | Register persistent fact of install
  command: /bin/true
  register: ardana_notify_magnum_conductor_restart_required
  when: ardana_notify_magnum_conductor_install_result.changed

- include: ../../magnum-common/tasks/_set_directories.yml
  vars:
    install_package_result: "{{
                              ardana_notify_magnum_conductor_install_result }}"

- name: magnum-conductor | install | Setup magnum-conductor service
  become: yes
  setup_systemd:
    service: magnum-conductor
    user: "{{ magnum_system_user }}"
    group: "{{ magnum_system_group }}"
    cmd: magnum-conductor
    # FIXME remove magnum.conf
    args: >
      --config-file={{ magnum_service_conf_dir }}/magnum.conf
      --config-file={{ magnum_service_conf_dir }}/magnum-conductor.conf

- name: magnum-conductor | install |
    Set magnum-conductor service to not start on boot
  become: yes
  service:
    name: magnum-conductor
    enabled: no

- include: ../../magnum-common/tasks/install.yml
0707010000003C000081A40000000000000000000000015CB649560000088F000000000000000000000000000000000000005000000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/tasks/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.
#
# Start the magnum-conductor service
---
- name: magnum-conductor | start | Activate the latest installed version
  become: yes
  install_package:
    name: magnum
    service: magnum-conductor
    activate: act_on
    version: "{{ ardana_notify_magnum_conductor_install_result.version }}"
  when: not (ardana_notify_magnum_conductor_install_result is not defined)

- name: magnum-conductor | start | register persistent fact of activate
  command: /bin/true
  register: ardana_notify_magnum_conductor_restart_required
  when: ardana_notify_magnum_conductor_install_result is defined and
        ardana_notify_magnum_conductor_install_result.changed

- name: magnum-conductor | start | Restart magnum-conductor service
  become: yes
  service:
    name: magnum-conductor
    state: restarted
  # This checks if either a 'conductor' restart or complete magnum
  # restart is required. If the complete restart is required the check
  # is negated therefore value does not get marked for deletion, as it
  # may be still be required.
  when: (((not (ardana_notify_magnum_restart_required is not defined)) and
        ardana_notify_magnum_restart_required.changed) or
        (ardana_notify_magnum_conductor_restart_required is defined and
        ardana_notify_magnum_conductor_restart_required.changed)) and
        magnum_conductor_restarted_result is not defined
  register: magnum_conductor_restarted_result

- name: magnum-conductor | start | Start magnum-conductor service
  become: yes
  service:
    name: magnum-conductor
    state: started
0707010000003D000081A40000000000000000000000015CB6495600000308000000000000000000000000000000000000005100000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/tasks/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.
#
---

- name: magnum-conductor | status | Check magnum-conductor is running
  include: ../../magnum-common/tasks/_service_status.yml
0707010000003E000081A40000000000000000000000015CB6495600000398000000000000000000000000000000000000004F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/tasks/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.
#
# Stop the magnum-conductor service
---
- name: magnum-conductor | stop | stop magnum-conductor service
  become: yes
  service: name=magnum-conductor state=stopped
  register: stop_result
  failed_when:
    "stop_result|failed and 'service not found' not in stop_result.msg"
0707010000003F000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004A00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/templates07070100000040000081A40000000000000000000000015CB6495600000685000000000000000000000000000000000000006400000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/templates/conductor-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

[handlers]
keys: watchedfile, logstash

[formatters]
keys: context, logstash


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


# Writes to disk
[handler_watchedfile]
class: handlers.WatchedFileHandler
args: ('{{ magnum_log_dir }}/magnum-conductor.log',)
formatter: context
level: INFO

# Writes JSON to disk, beaver will ship to logstash
[handler_logstash]
class: handlers.WatchedFileHandler
args: ('{{ magnum_log_dir }}/magnum-conductor-json.log',)
formatter: logstash
level: INFO


# 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" and "datefmt" actually set the "type" and "tags"
[formatter_logstash]
class: logstash.LogstashFormatterVersion1
format: magnum
datefmt: magnum-conductor
07070100000041000081A40000000000000000000000015CB6495600000355000000000000000000000000000000000000006300000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-conductor/templates/magnum-conductor.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.
#
#}
# This configuration file includes the default values for Ardana
# Changes may be made to this file by the customer.
[DEFAULT]

log_config_append = "{{ magnum_service_conf_dir }}/conductor-logging.conf"
07070100000042000041ED0000000000000000000000055CB6495600000000000000000000000000000000000000000000004100000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring07070100000043000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004A00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/defaults07070100000044000081A40000000000000000000000015CB6495600000342000000000000000000000000000000000000005300000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/defaults/main.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

magnum_api_local_url: 'http://{{ host.bind.MAG_API.internal.ip_address }}:{{ host.bind.MAG_API.internal.port }}'
magnum_api_internal_url: "{{ MAG_API.advertises.vips.private[0].url }}"
07070100000045000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004600000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/meta07070100000046000081A40000000000000000000000015CB64956000002D9000000000000000000000000000000000000004F00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/meta/main.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
dependencies:
  - { role: monasca-agent, run_mode: Use }
  - role: magnum-common
07070100000047000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004700000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/tasks07070100000048000081A40000000000000000000000015CB6495600000582000000000000000000000000000000000000005C00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/tasks/magnum_api_check.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- name: magnum-monitoring | magnum_api_check | Setup active check against local
    magnum-api url
  become: yes
  monasca_agent_plugin:
    name: "httpcheck"
    args:
        url: "{{ magnum_api_local_url }}"
        match_pattern: ".*v1.*"
        dimensions: "service:container-infra,\
          component:magnum-api,\
          monitored_host_type:instance"

- name: magnum-monitoring | magnum_api_check | Setup active check against
    magnum-api Internal VIP
  become: yes
  monasca_agent_plugin:
    name: "httpcheck"
    args:
        url: "{{ magnum_api_internal_url }}"
        match_pattern: ".*v1.*"
        dimensions: "service:container-infra,\
          component:magnum-api,\
          monitored_host_type:vip,\
          api_endpoint:private"
07070100000049000081A40000000000000000000000015CB6495600000332000000000000000000000000000000000000005900000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-monitoring/tasks/process_check.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- name: magnum-monitoring | process_check | Run monasca agent detection plugin
  become: yes
  monasca_agent_plugin:
    name: Magnum
    args: "disable_http_check=yes"
0707010000004A000041ED0000000000000000000000035CB6495600000000000000000000000000000000000000000000004500000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-post-configure0707010000004B000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004B00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-post-configure/tasks0707010000004C000081A40000000000000000000000015CB6495600000377000000000000000000000000000000000000005C00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-post-configure/tasks/db_configure.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: magnum-post-configure | db_configure | Run magnum-manage db sync
  become: yes
  command: >
    {{ magnum_service_bin_dir }}/magnum-db-manage
    --config-file {{ magnum_service_conf_dir }}/magnum.conf
    upgrade
  run_once: true
0707010000004D000041ED0000000000000000000000045CB6495600000000000000000000000000000000000000000000004400000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure0707010000004E000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004D00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure/defaults0707010000004F000081A40000000000000000000000015CB649560000068E000000000000000000000000000000000000005600000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure/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.
#
---
keystone:
  endpoint: "{{ MAG_API.consumes_KEY_API.vips.private[0].url }}/v3"
  magnum_admin_user: "{{ MAG_API.consumes_KEY_API.vars.keystone_magnum_user }}"
  magnum_admin_password: "{{ MAG_API.consumes_KEY_API.vars.keystone_magnum_password | quote }}"
  role: "{{ KEY_API.vars.keystone_admin_role }}"
  user_observer_role: "{{ KEY_API.vars.keystone_user_observer_role }}"
  service_tenant: "{{ KEY_API.vars.keystone_service_tenant }}"
  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 }}"
  magnum_trustee_domain: "{{ MAG_CND.consumes_KEY_API.vars.keystone_magnum_trustee_domain }}"
  magnum_trustee_user: "{{ MAG_CND.consumes_KEY_API.vars.keystone_magnum_trustee_user }}"
  magnum_trustee_password: "{{ MAG_CND.consumes_KEY_API.vars.keystone_magnum_trustee_password | quote }}"

barbican:
  admin_role: "{{ KEYMGR_API.vars.barbican_admin_role | default (KEY_API.vars.keystone_admin_role) }}"
07070100000050000041ED0000000000000000000000025CB6495600000000000000000000000000000000000000000000004A00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure/tasks07070100000051000081A40000000000000000000000015CB6495600000914000000000000000000000000000000000000005C00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure/tasks/keystone_conf.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# magnum keystone configuration
---
- name: magnum-pre-configure | keystone_conf | Get a domain scoped token
  keystone_v3:
    endpoint: "{{ keystone.endpoint }}"
    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: magnum-pre-configure | keystone_conf | Create magnum user
  keystone_v3:
    action: "create_user"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    user_name: "{{ keystone.magnum_admin_user }}"
    user_password: "{{ keystone.magnum_admin_password }}"
    user_domain_name: "Default"
  run_once: true

- name: magnum-pre-configure | keystone_conf | Add roles to magnum user
  keystone_v3:
    action: "grant_project_role"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    project_name: "{{ keystone.service_tenant }}"
    user_name: "{{ keystone.magnum_admin_user }}"
    role_name: "{{ item }}"
    user_domain_name: "Default"
    project_domain_name: "Default"
  with_items:
    - "{{ keystone.role }}"
    - "{{ keystone.user_observer_role }}"
    - "{{ barbican.admin_role }}"
  run_once: true

- name: magnum-pre-configure | keystone_conf | Create magnum admin role
  keystone_v3:
    action: "create_role"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    role_name: "magnum_admin"
    description: "Magnum admin role"
  run_once: true
07070100000052000081A40000000000000000000000015CB6495600000632000000000000000000000000000000000000006A00000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure/tasks/keystone_credentials_change.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# update keystone passwords for magnum and magnum domain admin users
---

- name: magnum-pre-configure | keystone_credentials_change | Update password
    for magnum user
  keystone_v3:
    action: "reset_password_by_admin"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    user_name: "{{ keystone.magnum_admin_user }}"
    user_password: "{{ keystone.magnum_admin_password }}"
    user_domain_name: "Default"
  run_once: true

- name: magnum-pre-configure | keystone_credentials_change | Update password
    for  magnum trustee domain admin user
  keystone_v3:
    action: "reset_password_by_admin"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    user_name: "{{ keystone.magnum_trustee_user }}"
    user_password: "{{ keystone.magnum_trustee_password }}"
    user_domain_name: "{{ keystone.magnum_trustee_domain }}"
  run_once: true
07070100000053000081A40000000000000000000000015CB649560000096D000000000000000000000000000000000000006400000000ardana-magnum-8.0+git.1555450198.c42dc52/roles/magnum-pre-configure/tasks/keystone_domain_setup.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.
#
# Setting up trustee domain for magnum
---

- name: magnum-pre-configure | keystone_domain_setup |
    create magnum trustee domain
  keystone_v3:
    action: "create_domain"
    login_token: "{{ domain_scoped_token_result.result  }}"
    endpoint: "{{ keystone.endpoint }}"
    domain_name: "{{ keystone.magnum_trustee_domain }}"
    description: "Owns users and projects created by magnum for each cluster"
  register: magnum_trustee_domain_result
  run_once: true

- name: magnum-pre-configure | keystone_domain_setup |
    create magnum trustee domain admin user
  keystone_v3:
    action : "create_user"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    user_name: "{{ keystone.magnum_trustee_user }}"
    user_password: "{{ keystone.magnum_trustee_password }}"
    user_domain_name: "{{ keystone.magnum_trustee_domain }}"
  register: magnum_trustee_user_result
  run_once: true

- name: magnum-pre-configure | keystone_domain_setup |
    create magnum trustee domain user-role assignment
  keystone_v3:
    action: "grant_domain_role"
    endpoint: "{{ keystone.endpoint }}"
    login_token: "{{ domain_scoped_token_result.result }}"
    user_name: "{{ keystone.magnum_trustee_user }}"
    role_name: "{{ keystone.role }}"
    user_domain_name: "{{ keystone.magnum_trustee_domain }}"
    domain_name: "{{ keystone.magnum_trustee_domain }}"
  run_once: true

- name: magnum-pre-configure | keystone_domain_setup |
    Set facts used by magnum.conf template
  set_fact:
    magnum_trustee_domain_id: "{{ magnum_trustee_domain_result.result.id }}"
    magnum_trustee_user_id: "{{ magnum_trustee_user_result.result.id }}"
    magnum_trustee_user_password: "{{ keystone.magnum_trustee_password }}"
  run_once: true
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!194 blocks
openSUSE Build Service is sponsored by