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