Browse Source

Retire repository

Fuel repositories are all retired in openstack namespace, retire
remaining fuel repos in x namespace since they are unused now.

This change removes all content from the repository and adds the usual
README file to point out that the repository is retired following the
process from
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project

See also
http://lists.openstack.org/pipermail/openstack-discuss/2019-December/011675.html

A related change is: https://review.opendev.org/699752 .

Change-Id: I8537c50c55b5303474fbdf70a43d459f87b02e9d
changes/01/699801/2
Andreas Jaeger 5 months ago
parent
commit
ebe42c6e20
100 changed files with 10 additions and 7424 deletions
  1. +0
    -8
      .gitignore
  2. +0
    -20
      .gitmodules
  3. +0
    -202
      LICENSE
  4. +0
    -14
      README.md
  5. +10
    -0
      README.rst
  6. +0
    -21
      components.yaml
  7. +0
    -27
      deployment_scripts/puppet/manifests/db-sync.pp
  8. +0
    -53
      deployment_scripts/puppet/manifests/db.pp
  9. +0
    -33
      deployment_scripts/puppet/manifests/generic.pp
  10. +0
    -30
      deployment_scripts/puppet/manifests/haproxy.pp
  11. +0
    -13
      deployment_scripts/puppet/manifests/image_upload.pp
  12. +0
    -12
      deployment_scripts/puppet/manifests/init_controller.pp
  13. +0
    -9
      deployment_scripts/puppet/manifests/init_data.pp
  14. +0
    -9
      deployment_scripts/puppet/manifests/init_share.pp
  15. +0
    -60
      deployment_scripts/puppet/manifests/install.pp
  16. +0
    -31
      deployment_scripts/puppet/manifests/keystone.pp
  17. +0
    -6
      deployment_scripts/puppet/manifests/master.pp
  18. +0
    -17
      deployment_scripts/puppet/manifests/meta.pp
  19. +0
    -1
      deployment_scripts/puppet/manifests/notify.pp
  20. +0
    -85
      deployment_scripts/puppet/manifests/site.pp
  21. +0
    -43
      deployment_scripts/puppet/manifests/start_controller.pp
  22. +0
    -33
      deployment_scripts/puppet/manifests/start_data.pp
  23. +0
    -71
      deployment_scripts/puppet/manifests/start_share.pp
  24. +0
    -28
      deployment_scripts/puppet/manifests/ui.pp
  25. +0
    -1
      deployment_scripts/puppet/modules/manila
  26. +0
    -7
      deployment_scripts/puppet/modules/manila_auxiliary/Gemfile
  27. +0
    -83
      deployment_scripts/puppet/modules/manila_auxiliary/README.md
  28. +0
    -17
      deployment_scripts/puppet/modules/manila_auxiliary/Rakefile
  29. +0
    -59
      deployment_scripts/puppet/modules/manila_auxiliary/files/api-paste.ini
  30. +0
    -73
      deployment_scripts/puppet/modules/manila_auxiliary/files/logging_sample.conf
  31. +0
    -3
      deployment_scripts/puppet/modules/manila_auxiliary/files/manila-common
  32. +0
    -17
      deployment_scripts/puppet/modules/manila_auxiliary/files/meta.sh
  33. +0
    -130
      deployment_scripts/puppet/modules/manila_auxiliary/files/policy.json
  34. +0
    -27
      deployment_scripts/puppet/modules/manila_auxiliary/files/rootwrap.conf
  35. +0
    -153
      deployment_scripts/puppet/modules/manila_auxiliary/files/share.filters
  36. +0
    -186
      deployment_scripts/puppet/modules/manila_auxiliary/files/upload_cirros.rb
  37. +0
    -21
      deployment_scripts/puppet/modules/manila_auxiliary/lib/puppet/parser/functions/populate_hiera.rb
  38. +0
    -22
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/backend/generic.pp
  39. +0
    -29
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/backend/netapp.pp
  40. +0
    -10
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/conf.pp
  41. +0
    -64
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/fs.pp
  42. +0
    -79
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/haproxy.pp
  43. +0
    -20
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/image.pp
  44. +0
    -159
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/init.pp
  45. +0
    -24
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/initd.pp
  46. +0
    -11
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/meta.pp
  47. +0
    -38
      deployment_scripts/puppet/modules/manila_auxiliary/manifests/services.pp
  48. +0
    -15
      deployment_scripts/puppet/modules/manila_auxiliary/metadata.json
  49. +0
    -7
      deployment_scripts/puppet/modules/manila_auxiliary/spec/classes/init_spec.rb
  50. +0
    -1
      deployment_scripts/puppet/modules/manila_auxiliary/spec/spec_helper.rb
  51. +0
    -22
      deployment_scripts/puppet/modules/manila_auxiliary/templates/init.erb
  52. +0
    -12
      deployment_scripts/puppet/modules/manila_auxiliary/tests/init.pp
  53. +0
    -267
      deployment_tasks.yaml
  54. +0
    -212
      doc/testing/master_test_plan.rst
  55. +0
    -260
      doc/testing/test_suite_failover.rst
  56. +0
    -274
      doc/testing/test_suite_functional.rst
  57. +0
    -85
      doc/testing/test_suite_gui.rst
  58. +0
    -266
      doc/testing/test_suite_integration.rst
  59. +0
    -129
      doc/testing/test_suite_smoke_bvt.rst
  60. +0
    -237
      doc/testing/test_suite_system.rst
  61. +0
    -224
      doc/user_guide/Makefile
  62. +0
    -10
      doc/user_guide/source/appendix.rst
  63. +0
    -340
      doc/user_guide/source/conf.py
  64. +0
    -52
      doc/user_guide/source/configure.rst
  65. +0
    -69
      doc/user_guide/source/description.rst
  66. +0
    -31
      doc/user_guide/source/index.rst
  67. +0
    -98
      doc/user_guide/source/installation.rst
  68. +0
    -10
      doc/user_guide/source/licenses.rst
  69. BIN
      doc/user_guide/source/static/add_rule.png
  70. BIN
      doc/user_guide/source/static/additional.png
  71. BIN
      doc/user_guide/source/static/admin.png
  72. BIN
      doc/user_guide/source/static/config.png
  73. BIN
      doc/user_guide/source/static/create_network.png
  74. BIN
      doc/user_guide/source/static/create_share.png
  75. BIN
      doc/user_guide/source/static/create_snapshot.png
  76. BIN
      doc/user_guide/source/static/edit_share.png
  77. BIN
      doc/user_guide/source/static/nodes.png
  78. BIN
      doc/user_guide/source/static/project.png
  79. +0
    -51
      doc/user_guide/source/troubleshooting.rst
  80. +0
    -59
      doc/user_guide/source/using_manila.rst
  81. +0
    -130
      environment_config.yaml
  82. +0
    -7
      gen_keys.sh
  83. +0
    -30
      gen_password.sh
  84. +0
    -34
      metadata.yaml
  85. +0
    -15
      network_roles.yaml
  86. +0
    -27
      node_roles.yaml
  87. +0
    -13
      plugin_test/__init__.py
  88. +0
    -1
      plugin_test/fuel-qa
  89. +0
    -14
      plugin_test/helpers/__init__.py
  90. +0
    -159
      plugin_test/helpers/manila_service_verify.py
  91. +0
    -163
      plugin_test/helpers/openstack.py
  92. +0
    -214
      plugin_test/helpers/os_manila_actions.py
  93. +0
    -85
      plugin_test/helpers/plugin.py
  94. +0
    -23
      plugin_test/helpers/settings.py
  95. +0
    -1
      plugin_test/requirement.txt
  96. +0
    -78
      plugin_test/run_tests.py
  97. +0
    -14
      plugin_test/tests/__init__.py
  98. +0
    -530
      plugin_test/tests/test_failover.py
  99. +0
    -657
      plugin_test/tests/test_functional.py
  100. +0
    -439
      plugin_test/tests/test_integration.py

+ 0
- 8
.gitignore View File

@@ -1,8 +0,0 @@
.tox
.build
*.pyc
*.rpm
*.deb
.#*
\#*
*~

+ 0
- 20
.gitmodules View File

@@ -1,20 +0,0 @@
[submodule "deployment_scripts/puppet/modules/manila"]
path = deployment_scripts/puppet/modules/manila
url = http://git.openstack.org/openstack/puppet-manila.git
branch = stable/mitaka
[submodule "repositories/python/manila-ui"]
path = repositories/python/manila-ui
url = http://git.openstack.org/openstack/manila-ui.git
branch = stable/mitaka
[submodule "repositories/python/python-manilaclient"]
path = repositories/python/python-manilaclient
url = http://git.openstack.org/openstack/python-manilaclient.git
branch = stable/mitaka
[submodule "repositories/python/manila"]
path = repositories/python/manila
url = http://git.openstack.org/openstack/manila.git
branch = stable/mitaka
[submodule "plugin_test/fuel-qa"]
path = plugin_test/fuel-qa
url = http://git.openstack.org/openstack/fuel-qa.git
branch = stable/mitaka

+ 0
- 202
LICENSE View File

@@ -1,202 +0,0 @@
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.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright {yyyy} {name of copyright owner}

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


+ 0
- 14
README.md View File

@@ -1,14 +0,0 @@
fuel-plugin-manila
==================

It is the plugin for Fuel that provide using Manila (File Share as a Service)
project whithin a Mirantis OpenStack's environment.

Installation
============

The Fuel Plugin Manila uses special service images from
https://github.com/openstack/manila-image-elements

Before installation that image should be placed on a Fuel master node and
environment variable MANILA_IMAGE should contain the path to that image.

+ 10
- 0
README.rst View File

@@ -0,0 +1,10 @@
This project is no longer maintained.

The contents of this repository are still available in the Git
source code management system. To see the contents of this
repository before it reached its end of life, please check out the
previous commit with "git checkout HEAD^1".

For any further questions, please email
openstack-discuss@lists.openstack.org or join #openstack-dev on
Freenode.

+ 0
- 21
components.yaml View File

@@ -1,21 +0,0 @@
# This file contains wizard components descriptions that are pretty similar to
# the `environment_config.yaml`.
# Please, take a look at following link for the details:
# - https://blueprints.launchpad.net/fuel/+spec/component-registry
# - https://specs.openstack.org/openstack/fuel-specs/specs/8.0/component-registry.html

- name: additional_service:fuel-plugin-manila
compatible:
- name: "hypervisor:qemu"
- name: "storage:block:ceph"
- name: "storage:ephemeral:ceph"
- name: "storage:block:lvm"
- name: "storage:image:ceph"
- name: "storage:object:ceph"
- name: "additional_service:ceilometer"
- name: "additional_service:sahara"
- name: "additional_service:murano"
requires: []
incompatible: []
label: "Install Manila"
description: "Manila is the Shared Network As A Service project"

+ 0
- 27
deployment_scripts/puppet/manifests/db-sync.pp View File

@@ -1,27 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/db-sync': }

$manila = hiera_hash('manila', {})
$db_pass = $manila['db_password']
$db_host = hiera('database_vip')
$req = 'select name from availability_zones\G'

exec { 'manual_db_sync':
command => 'manila-manage db sync',
path => '/usr/bin:/bin',
user => 'manila',
unless => "mysql -u manila -p${db_pass} -h ${db_host} -e \"${req}\" manila | grep nova"
}

+ 0
- 53
deployment_scripts/puppet/manifests/db.pp View File

@@ -1,53 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/db': }

$mysql = hiera_hash('mysql', {})
$manila = hiera_hash('manila', {})

$db_host = hiera('database_vip')
$db_root_user = pick($mysql['root_user'], 'root')
$db_root_password = $mysql['root_password']

$db_user = 'manila'
$db_password = $manila['db_password']
$db_name = 'manila'
$allowed_hosts = [ 'localhost', '127.0.0.1', '%' ]

class { '::openstack::galera::client':
custom_setup_class => hiera('mysql_custom_setup_class', 'galera'),
}

class { '::osnailyfacter::mysql_access':
db_host => $db_host,
db_user => $db_root_user,
db_password => $db_root_password,
}

class { '::manila::db::mysql':
user => $db_user,
password => $db_password,
dbname => $db_name,
allowed_hosts => $allowed_hosts,
}

class mysql::config {}
include mysql::config
class mysql::server {}
include mysql::server

Class['::openstack::galera::client'] ->
Class['::osnailyfacter::mysql_access']
-> Class['::manila::db::mysql']

+ 0
- 33
deployment_scripts/puppet/manifests/generic.pp View File

@@ -1,33 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/generic': }

$manila = hiera_hash('manila', {})
$image = $manila['service_vm_image']['img_name']
$share_driver = 'manila.share.drivers.generic.GenericShareDriver'

$backends = {'generic' =>
{'share_backend_name' => 'generic',
'driver_handles_share_servers' => 'true',
'share_driver' => $share_driver,
'service_instance_user' => 'manila',
'service_instance_password' => 'manila',
'service_image_name' => $image,
'path_to_private_key' => '/var/lib/astute/manila/manila',
'path_to_public_key' => '/var/lib/astute/manila/manila.pub',
}
}

create_resources('::manila_auxiliary::backend::generic', $backends)

+ 0
- 30
deployment_scripts/puppet/manifests/haproxy.pp View File

@@ -1,30 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/haproxy': }

$internal_virtual_ip = hiera('management_vip')
$ns = hiera_hash('network_scheme', {})
$br_mgmt = split($ns['endpoints']['br-mgmt']['IP'][0], '/')
$ipaddresses = $br_mgmt[0]
$public_virtual_ip = hiera('public_vip')
# dirty hack.
$cinder_address_map = get_node_to_ipaddr_map_by_network_role(hiera_hash('cinder_nodes'), 'cinder/api')
$server_names = hiera_array('cinder_names', keys($cinder_address_map))
#
$ssl_hash = hiera_hash('use_ssl', {})
$public_ssl_hash = hiera_hash('public_ssl', {})
$public_ssl = get_ssl_property($ssl_hash, $public_ssl_hash, 'manila', 'public', 'usage', false)
$public_ssl_path = get_ssl_property($ssl_hash, $public_ssl_hash, 'manila', 'public', 'path', [''])

$internal_ssl = get_ssl_property($ssl_hash, {}, 'manila', 'internal', 'usage', false)
$internal_ssl_path = get_ssl_property($ssl_hash, {}, 'manila', 'internal', 'path', [''])


class { '::manila_auxiliary::haproxy':
internal_virtual_ip => $internal_virtual_ip,
ipaddresses => $ipaddresses,
public_virtual_ip => $public_virtual_ip,
server_names => $server_names,
public_ssl => $public_ssl,
public_ssl_path => $public_ssl_path,
internal_ssl => $internal_ssl,
internal_ssl_path => $internal_ssl_path,
}

+ 0
- 13
deployment_scripts/puppet/manifests/image_upload.pp View File

@@ -1,13 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/image_upload': }

$manila = hiera_hash('fuel-plugin-manila', {})
$image = $manila['fuel-plugin-manila_image']

$master_ip = hiera('master_ip')
$src_image = "http://${master_ip}:8080/plugins/fuel-plugin-manila-1.0/repositories/ubuntu/${image}"


class {'::manila_auxiliary::image':
src_image => $src_image,
image => $image,
}

+ 0
- 12
deployment_scripts/puppet/manifests/init_controller.pp View File

@@ -1,12 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/init_controller': }

$inits = {
'manila-api' => {
desc => 'manila-api init',
srv => 'manila-api',},
'manila-scheduler' => {
desc => 'manila-scheduler init',
srv => 'manila-scheduler',},
}

create_resources('::manila_auxiliary::initd', $inits)

+ 0
- 9
deployment_scripts/puppet/manifests/init_data.pp View File

@@ -1,9 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/init_data': }

$inits = {
'manila-data' =>{
desc => 'manila-data init',
srv => 'manila-data',},
}

create_resources('::manila_auxiliary::initd', $inits)

+ 0
- 9
deployment_scripts/puppet/manifests/init_share.pp View File

@@ -1,9 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/init_share': }

$inits = {
'manila-share' => {
desc => 'manila-share init',
srv => 'manila-share',},
}

create_resources('::manila_auxiliary::initd', $inits)

+ 0
- 60
deployment_scripts/puppet/manifests/install.pp View File

@@ -1,60 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/install': }

package {'python-pip':
ensure => 'installed'
}

package {'python-pymysql':
ensure => 'installed'
}
package {'python-dev':
ensure => 'installed'
}

package {'pycrypto':
ensure => 'installed',
provider => 'pip',
}

package {'python-manilaclient':
ensure => '1.11.0',
provider => 'pip',
}

package {'python-manila':
ensure => 'absent'
}

package {'manila-api':
ensure => 'absent'
}

package {'manila-common':
ensure => 'absent'
}

package {'manila-scheduler':
ensure => 'absent'
}

package {'fuel-plugin-manila-manila-core':
ensure => 'installed'
}

package {'fuel-plugin-manila-manila-ui':
ensure => 'installed'
}

class {'::manila_auxiliary::fs': }

Package['python-pip']->
Package['python-dev']->
Package['python-pymysql']->
Package['pycrypto']->
Package['python-manilaclient']->
Package['python-manila']->
Package['manila-api']->
Package['manila-common']->
Package['manila-scheduler']->
Package['fuel-plugin-manila-manila-core']->
Package['fuel-plugin-manila-manila-ui']

+ 0
- 31
deployment_scripts/puppet/manifests/keystone.pp View File

@@ -1,31 +0,0 @@
notify {'MODULAR fuel-plugin-manila/keystone': }

$manila = hiera_hash('manila', {})
$pass = $manila['user_password']

$public_ssl_hash = hiera_hash('public_ssl')
$ssl_hash = hiera_hash('use_ssl', {})
$public_vip = hiera('public_vip')
$management_vip = hiera('management_vip')

$public_protocol = get_ssl_property($ssl_hash, $public_ssl_hash, 'manila', 'public', 'protocol', 'http')
$public_address = get_ssl_property($ssl_hash, $public_ssl_hash, 'manila', 'public', 'hostname', [$public_vip])
$internal_protocol = get_ssl_property($ssl_hash, {}, 'manila', 'internal', 'protocol', 'http')
$internal_address = get_ssl_property($ssl_hash, {}, 'manila', 'internal', 'hostname', [$management_vip])
$admin_protocol = get_ssl_property($ssl_hash, {}, 'manila', 'admin', 'protocol', 'http')
$admin_address = get_ssl_property($ssl_hash, {}, 'manila', 'admin', 'hostname', [$management_vip])
$port = '8786'

$public_base_url = "${public_protocol}://${public_address}:${port}"
$internal_base_url = "${internal_protocol}://${internal_address}:${port}"
$admin_base_url = "${admin_protocol}://${admin_address}:${port}"

class {'::manila::keystone::auth':
password => $pass,
public_url => "${public_base_url}/v1/%(tenant_id)s",
public_url_v2 => "${public_base_url}/v2/%(tenant_id)s",
admin_url => "${admin_base_url}/v1/%(tenant_id)s",
admin_url_v2 => "${admin_base_url}/v2/%(tenant_id)s",
internal_url => "${internal_base_url}/v1/%(tenant_id)s",
internal_url_v2 => "${internal_base_url}/v2/%(tenant_id)s",
}

+ 0
- 6
deployment_scripts/puppet/manifests/master.pp View File

@@ -1,6 +0,0 @@
notify {'MODULAR: fuel-plugin-manila/master': }

file {'/tmp/manila_master':
ensure => file,
content => 'I am the file',
}

+ 0
- 17
deployment_scripts/puppet/manifests/meta.pp View File

@@ -1,17 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/meta': }

class {'::manila_auxiliary::meta': }

+ 0
- 1
deployment_scripts/puppet/manifests/notify.pp View File

@@ -1 +0,0 @@
notify {'MODULAR: fuel-plugin-manila': }

+ 0
- 85
deployment_scripts/puppet/manifests/site.pp View File

@@ -1,85 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/main': }

$manila = hiera_hash('manila', {})
$db_user = 'manila'
$db_pass = $manila['db_password']
$manila_pass = $manila['user_password']
$db_host = hiera('database_vip')
$sql_conn = "mysql+pymysql://${db_user}:${db_pass}@${db_host}/manila?charset=utf8"

$rabbit_hash = hiera_hash('rabbit', {})
$amqp_user = $rabbit_hash['user']
$amqp_password = $rabbit_hash['password']
$amqp_hosts = hiera('amqp_hosts', '')

$network_metadata = hiera_hash('network_metadata', {})
$ns = hiera_hash('network_scheme', {})
$mgmt_ip = $network_metadata['vips']['management']['ipaddr']
$br_mgmt = split($ns['endpoints']['br-mgmt']['IP'][0], '/')
$br_mgmt_ip = $br_mgmt[0]


$neutron = hiera_hash('quantum_settings', {})
$neutron_pass = $neutron['keystone']['admin_password']
$auth_url = "http://${mgmt_ip}:35357/"
$auth_uri = "http://${mgmt_ip}:5000/"

$cinder = hiera_hash('cinder', {})
$cinder_pass = $cinder['user_password']

$nova = hiera_hash('nova', {})
$nova_pass = $nova['user_password']

$verbose = hiera('verbose')
$debug = hiera('debug')
$use_syslog = hiera('use_syslog')

$public_ssl = hiera_hash('public_ssl', {})

$fuel_manila_hash = hiera_hash('fuel-plugin-manila', {})
$use_generic = $fuel_manila_hash['use-generic-driver']
$use_netapp = $fuel_manila_hash['use-netapp-driver']

if $use_netapp and $use_generic {
$shared_backends = 'generic,cdotMultipleSVM'
}
elsif $use_netapp {
$shared_backends = 'cdotMultipleSVM'
}
else {
$shared_backends = 'generic'
}

class {'::manila_auxiliary':
sql_connection => $sql_conn,
shared_backends => $shared_backends,
amqp_durable_queues => 'False',
rabbit_userid => $amqp_user,
rabbit_hosts => $amqp_hosts,
rabbit_use_ssl => 'False',
rabbit_password => $amqp_password,
ssl_cert_source => $public_ssl['cert_source'],
auth_url => $auth_url,
auth_uri => $auth_uri,
br_mgmt_ip => $br_mgmt_ip,
cinder_pass => $cinder_pass,
manila_pass => $manila_pass,
neutron_pass => $neutron_pass,
nova_pass => $nova_pass,
verbose => $verbose,
debug => $debug,
}

+ 0
- 43
deployment_scripts/puppet/manifests/start_controller.pp View File

@@ -1,43 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/start_controller': }

$inits = {
'manila-api' => {
desc => 'manila-api init script',
srv => 'manila-api',},
'manila-scheduler' => {
desc => 'manila-scheduler init script',
srv => 'manila-scheduler',},
}

create_resources('::manila_auxiliary::initd', $inits)

notify {'Restart manila-api':
}~>
service { 'manila-api':
ensure => 'running',
name => 'manila-api',
enable => true,
hasstatus => true,
}->
notify {' Restart manila-scheduler':
}~>
service { 'manila-scheduler':
ensure => 'running',
name => 'manila-scheduler',
enable => true,
hasstatus => true,
}

+ 0
- 33
deployment_scripts/puppet/manifests/start_data.pp View File

@@ -1,33 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/start_data': }


$inits = {
'manila-data' => {
desc => 'manila-data init script',
srv => 'manila-data',},
}

create_resources('::manila_auxiliary::initd', $inits)

notify {'Restart manila-data':
}~>
service { 'manila-data':
ensure => 'running',
name => 'manila-data',
enable => true,
hasstatus => true,
}

+ 0
- 71
deployment_scripts/puppet/manifests/start_share.pp View File

@@ -1,71 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/start_share': }

$srv = 'manila-share'
$desc = 'manila-share service'

$fuel_manila_hash = hiera_hash('fuel-plugin-manila', {})
$manila = hiera_hash('manila', {})
$image = $manila['service_vm_image']['img_name']


if $fuel_manila_hash['use-generic-driver'] {
$generic_share_driver = 'manila.share.drivers.generic.GenericShareDriver'
$generic_backends = {'generic' =>
{'share_backend_name' => 'generic',
'driver_handles_share_servers' => 'true',
'share_driver' => $generic_share_driver,
'service_instance_user' => 'manila',
'service_instance_password' => 'manila',
'service_image_name' => $image,
'path_to_private_key' => '/var/lib/astute/manila/manila',
'path_to_public_key' => '/var/lib/astute/manila/manila.pub',
}
}
create_resources('::manila_auxiliary::backend::generic', $generic_backends)
}

if $fuel_manila_hash['use-netapp-driver'] {
$netapp_backends = {'cdotMultipleSVM' =>
{'netapp_transport_type' => $fuel_manila_hash['netapp-proto'],
'netapp_server_hostname' => $fuel_manila_hash['netapp-host'],
'netapp_server_port' => $fuel_manila_hash['netapp-port'],
'netapp_login' => $fuel_manila_hash['netapp-user'],
'netapp_password' => $fuel_manila_hash['netapp-pass'],
'netapp_root_volume_aggregate' => $fuel_manila_hash['netapp-root_volume_aggregate'],
'netapp_port_name_search_pattern' => $fuel_manila_hash['netapp-port_name_search_pattern'],
'netapp_aggregate_name_search_pattern' => $fuel_manila_hash['netapp_aggregate_name_search_pattern'],
}
}
create_resources('::manila_auxiliary::backend::netapp', $netapp_backends)
}

$inits = {
'manila-share' => {
desc => 'manila-share init script',
srv => 'manila-share',},
}

create_resources('::manila_auxiliary::initd', $inits)

notify {'Restart manila-share':
}~>
service { 'manila-share':
ensure => 'running',
name => 'manila-share',
enable => true,
hasstatus => true,
}

+ 0
- 28
deployment_scripts/puppet/manifests/ui.pp View File

@@ -1,28 +0,0 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

notify {'MODULAR: fuel-plugin-manila/ui': }

include ::apache::params
include ::apache::service

$adm_shares = '/usr/lib/python2.7/dist-packages/manila_ui/enabled'
$hor_enabled = '/usr/share/openstack-dashboard/openstack_dashboard/enabled/'

exec {'add_share_panel':
command => "cp ${adm_shares}/_90*.py ${hor_enabled}",
path => '/bin:/usr/bin',
}

Exec['add_share_panel'] ~> Service['httpd']

+ 0
- 1
deployment_scripts/puppet/modules/manila

@@ -1 +0,0 @@
Subproject commit 110a0b4d02d7038ec2ed1fecc635543b42d7f0bd

+ 0
- 7
deployment_scripts/puppet/modules/manila_auxiliary/Gemfile View File

@@ -1,7 +0,0 @@
source 'https://rubygems.org'

puppetversion = ENV.key?('PUPPET_VERSION') ? "#{ENV['PUPPET_VERSION']}" : ['>= 3.3']
gem 'puppet', puppetversion
gem 'puppetlabs_spec_helper', '>= 0.8.2'
gem 'puppet-lint', '>= 1.0.0'
gem 'facter', '>= 1.7.0'

+ 0
- 83
deployment_scripts/puppet/modules/manila_auxiliary/README.md View File

@@ -1,83 +0,0 @@
# manila_auxiliary

#### Table of Contents

1. [Description](#description)
1. [Setup - The basics of getting started with manila_auxiliary](#setup)
* [What manila_auxiliary affects](#what-manila_auxiliary-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with manila_auxiliary](#beginning-with-manila_auxiliary)
1. [Usage - Configuration options and additional functionality](#usage)
1. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
1. [Limitations - OS compatibility, etc.](#limitations)
1. [Development - Guide for contributing to the module](#development)

## Description

Start with a one- or two-sentence summary of what the module does and/or what
problem it solves. This is your 30-second elevator pitch for your module.
Consider including OS/Puppet version it works with.

You can give more descriptive information in a second paragraph. This paragraph
should answer the questions: "What does this module *do*?" and "Why would I use
it?" If your module has a range of functionality (installation, configuration,
management, etc.), this is the time to mention it.

## Setup

### What manila_auxiliary affects **OPTIONAL**

If it's obvious what your module touches, you can skip this section. For
example, folks can probably figure out that your mysql_instance module affects
their MySQL instances.

If there's more that they should know about, though, this is the place to mention:

* A list of files, packages, services, or operations that the module will alter,
impact, or execute.
* Dependencies that your module automatically installs.
* Warnings or other important notices.

### Setup Requirements **OPTIONAL**

If your module requires anything extra before setting up (pluginsync enabled,
etc.), mention it here.

If your most recent release breaks compatibility or requires particular steps
for upgrading, you might want to include an additional "Upgrading" section
here.

### Beginning with manila_auxiliary

The very basic steps needed for a user to get the module up and running. This
can include setup steps, if necessary, or it can be an example of the most
basic use of the module.

## Usage

This section is where you describe how to customize, configure, and do the
fancy stuff with your module here. It's especially helpful if you include usage
examples and code samples for doing things with your module.

## Reference

Here, include a complete list of your module's classes, types, providers,
facts, along with the parameters for each. Users refer to this section (thus
the name "Reference") to find specific details; most users don't read it per
se.

## Limitations

This is where you list OS compatibility, version compatibility, etc. If there
are Known Issues, you might want to include them under their own heading here.

## Development

Since your module is awesome, other users will want to play with it. Let them
know what the ground rules for contributing are.

## Release Notes/Contributors/Etc. **Optional**

If you aren't using changelog, put your release notes here (though you should
consider using changelog). You can also add any additional sections you feel
are necessary or important to include here. Please use the `## ` header.

+ 0
- 17
deployment_scripts/puppet/modules/manila_auxiliary/Rakefile View File

@@ -1,17 +0,0 @@
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'
PuppetLint.configuration.send('disable_80chars')
PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"]

desc "Validate manifests, templates, and ruby files"
task :validate do
Dir['manifests/**/*.pp'].each do |manifest|
sh "puppet parser validate --noop #{manifest}"
end
Dir['spec/**/*.rb','lib/**/*.rb'].each do |ruby_file|
sh "ruby -c #{ruby_file}" unless ruby_file =~ /spec\/fixtures/
end
Dir['templates/**/*.erb'].each do |template|
sh "erb -P -x -T '-' #{template} | ruby -c"
end
end

+ 0
- 59
deployment_scripts/puppet/modules/manila_auxiliary/files/api-paste.ini View File

@@ -1,59 +0,0 @@
#############
# OpenStack #
#############

[composite:osapi_share]
use = call:manila.api:root_app_factory
/: apiversions
/v1: openstack_share_api
/v2: openstack_share_api_v2

[composite:openstack_share_api]
use = call:manila.api.middleware.auth:pipeline_factory
noauth = cors faultwrap ssl sizelimit noauth api
keystone = cors faultwrap ssl sizelimit authtoken keystonecontext api
keystone_nolimit = cors faultwrap ssl sizelimit authtoken keystonecontext api

[composite:openstack_share_api_v2]
use = call:manila.api.middleware.auth:pipeline_factory
noauth = cors faultwrap ssl sizelimit noauth apiv2
keystone = cors faultwrap ssl sizelimit authtoken keystonecontext apiv2
keystone_nolimit = cors faultwrap ssl sizelimit authtoken keystonecontext apiv2

[filter:faultwrap]
paste.filter_factory = manila.api.middleware.fault:FaultWrapper.factory

[filter:noauth]
paste.filter_factory = manila.api.middleware.auth:NoAuthMiddleware.factory

[filter:sizelimit]
paste.filter_factory = oslo_middleware.sizelimit:RequestBodySizeLimiter.factory

[filter:ssl]
paste.filter_factory = oslo_middleware.ssl:SSLMiddleware.factory

[app:api]
paste.app_factory = manila.api.v1.router:APIRouter.factory

[app:apiv2]
paste.app_factory = manila.api.v2.router:APIRouter.factory

[pipeline:apiversions]
pipeline = cors faultwrap osshareversionapp

[app:osshareversionapp]
paste.app_factory = manila.api.versions:VersionsRouter.factory

##########
# Shared #
##########

[filter:keystonecontext]
paste.filter_factory = manila.api.middleware.auth:ManilaKeystoneContext.factory

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

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

+ 0
- 73
deployment_scripts/puppet/modules/manila_auxiliary/files/logging_sample.conf View File

@@ -1,73 +0,0 @@
[loggers]
keys = root, manila

[handlers]
keys = stderr, stdout, watchedfile, syslog, null

[formatters]
keys = default

[logger_root]
level = WARNING
handlers = null

[logger_manila]
level = INFO
handlers = stderr
qualname = manila

[logger_amqplib]
level = WARNING
handlers = stderr
qualname = amqplib

[logger_sqlalchemy]
level = WARNING
handlers = stderr
qualname = sqlalchemy
# "level = INFO" logs SQL queries.
# "level = DEBUG" logs SQL queries and results.
# "level = WARNING" logs neither. (Recommended for production systems.)

[logger_boto]
level = WARNING
handlers = stderr
qualname = boto

[logger_suds]
level = INFO
handlers = stderr
qualname = suds

[logger_eventletwsgi]
level = WARNING
handlers = stderr
qualname = eventlet.wsgi.server

[handler_stderr]
class = StreamHandler
args = (sys.stderr,)
formatter = default

[handler_stdout]
class = StreamHandler
args = (sys.stdout,)
formatter = default

[handler_watchedfile]
class = handlers.WatchedFileHandler
args = ('manila.log',)
formatter = default

[handler_syslog]
class = handlers.SysLogHandler
args = ('/dev/log', handlers.SysLogHandler.LOG_USER)
formatter = default

[handler_null]
class = manila.common.openstack.NullHandler
formatter = default
args = ()

[formatter_default]
format = %(message)s

+ 0
- 3
deployment_scripts/puppet/modules/manila_auxiliary/files/manila-common View File

@@ -1,3 +0,0 @@
Defaults:manila !requiretty

manila ALL = (root) NOPASSWD: /usr/bin/manila-rootwrap /etc/manila/rootwrap.conf *

+ 0
- 17
deployment_scripts/puppet/modules/manila_auxiliary/files/meta.sh View File

@@ -1,17 +0,0 @@
#!/bin/bash

. /root/openrc

if ! openstack --insecure flavor list | grep -q 'manila-service-flavor'; then
echo 'add manila-service-flavor'
openstack --insecure flavor create manila-service-flavor \
--id 100 \
--ram 256 \
--disk 0 \
--vcpus 1
fi

if ! manila --insecure type-list | grep -q 'default_share_type'; then
echo 'add default_share_type'
manila --insecure type-create default_share_type True
fi

+ 0
- 130
deployment_scripts/puppet/modules/manila_auxiliary/files/policy.json View File

@@ -1,130 +0,0 @@
{
"context_is_admin": "role:admin",
"admin_or_owner": "is_admin:True or project_id:%(project_id)s",
"default": "rule:admin_or_owner",

"admin_api": "is_admin:True",

"availability_zone:index": "rule:default",

"quota_set:update": "rule:admin_api",
"quota_set:show": "rule:default",
"quota_set:delete": "rule:admin_api",

"quota_class_set:show": "rule:default",
"quota_class_set:update": "rule:admin_api",

"service:index": "rule:admin_api",
"service:update": "rule:admin_api",

"share:create": "",
"share:delete": "rule:default",
"share:get": "rule:default",
"share:get_all": "rule:default",
"share:list_by_share_server_id": "rule:admin_api",
"share:update": "rule:default",
"share:access_get": "rule:default",
"share:access_get_all": "rule:default",
"share:allow_access": "rule:default",
"share:deny_access": "rule:default",
"share:extend": "rule:default",
"share:shrink": "rule:default",
"share:get_share_metadata": "rule:default",
"share:delete_share_metadata": "rule:default",
"share:update_share_metadata": "rule:default",
"share:migration_start": "rule:admin_api",
"share:migration_complete": "rule:admin_api",
"share:migration_cancel": "rule:admin_api",
"share:migration_get_progress": "rule:admin_api",
"share:reset_task_state": "rule:admin_api",
"share:manage": "rule:admin_api",
"share:unmanage": "rule:admin_api",
"share:force_delete": "rule:admin_api",
"share:reset_status": "rule:admin_api",
"share_export_location:index": "rule:default",
"share_export_location:show": "rule:default",

"share_instance:index": "rule:admin_api",
"share_instance:show": "rule:admin_api",
"share_instance:force_delete": "rule:admin_api",
"share_instance:reset_status": "rule:admin_api",
"share_instance_export_location:index": "rule:admin_api",
"share_instance_export_location:show": "rule:admin_api",

"share_snapshot:create_snapshot": "rule:default",
"share_snapshot:delete_snapshot": "rule:default",
"share_snapshot:get_snapshot": "rule:default",
"share_snapshot:get_all_snapshots": "rule:default",
"share_snapshot:snapshot_update": "rule:default",
"share_snapshot:manage_snapshot": "rule:admin_api",
"share_snapshot:unmanage_snapshot": "rule:admin_api",
"share_snapshot:force_delete": "rule:admin_api",
"share_snapshot:reset_status": "rule:admin_api",

"share_type:index": "rule:default",
"share_type:show": "rule:default",
"share_type:default": "rule:default",
"share_type:create": "rule:admin_api",
"share_type:delete": "rule:admin_api",
"share_type:add_project_access": "rule:admin_api",
"share_type:list_project_access": "rule:admin_api",
"share_type:remove_project_access": "rule:admin_api",

"share_types_extra_spec:create": "rule:admin_api",
"share_types_extra_spec:update": "rule:admin_api",
"share_types_extra_spec:show": "rule:admin_api",
"share_types_extra_spec:index": "rule:admin_api",
"share_types_extra_spec:delete": "rule:admin_api",

"security_service:create": "rule:default",
"security_service:delete": "rule:default",
"security_service:update": "rule:default",
"security_service:show": "rule:default",
"security_service:index": "rule:default",
"security_service:detail": "rule:default",
"security_service:get_all_security_services": "rule:admin_api",

"share_server:index": "rule:admin_api",
"share_server:show": "rule:admin_api",
"share_server:details": "rule:admin_api",
"share_server:delete": "rule:admin_api",

"share_network:create": "rule:default",
"share_network:delete": "rule:default",
"share_network:update": "rule:default",
"share_network:index": "rule:default",
"share_network:detail": "rule:default",
"share_network:show": "rule:default",
"share_network:add_security_service": "rule:default",
"share_network:remove_security_service": "rule:default",
"share_network:get_all_share_networks": "rule:admin_api",

"scheduler_stats:pools:index": "rule:admin_api",
"scheduler_stats:pools:detail": "rule:admin_api",

"consistency_group:create" : "rule:default",
"consistency_group:delete": "rule:default",
"consistency_group:update": "rule:default",
"consistency_group:get": "rule:default",
"consistency_group:get_all": "rule:default",
"consistency_group:force_delete": "rule:admin_api",
"consistency_group:reset_status": "rule:admin_api",

"cgsnapshot:force_delete": "rule:admin_api",
"cgsnapshot:reset_status": "rule:admin_api",
"cgsnapshot:create" : "rule:default",
"cgsnapshot:update" : "rule:default",
"cgsnapshot:delete": "rule:default",
"cgsnapshot:get_cgsnapshot": "rule:default",
"cgsnapshot:get_all": "rule:default",

"share_replica:get_all": "rule:default",
"share_replica:show": "rule:default",
"share_replica:create" : "rule:default",
"share_replica:delete": "rule:default",
"share_replica:promote": "rule:default",
"share_replica:resync": "rule:admin_api",
"share_replica:reset_status": "rule:admin_api",
"share_replica:force_delete": "rule:admin_api",
"share_replica:reset_replica_state": "rule:admin_api"
}

+ 0
- 27
deployment_scripts/puppet/modules/manila_auxiliary/files/rootwrap.conf View File

@@ -1,27 +0,0 @@
# Configuration for manila-rootwrap
# This file should be owned by (and only-writeable by) the root user

[DEFAULT]
# List of directories to load filter definitions from (separated by ',').
# These directories MUST all be only writeable by root !
filters_path=/etc/manila/rootwrap.d,/usr/share/manila/rootwrap

# List of directories to search executables in, in case filters do not
# explicitely specify a full path (separated by ',')
# If not specified, defaults to system PATH environment variable.
# These directories MUST all be only writeable by root !
exec_dirs=/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/sbin,/usr/local/bin,/usr/lpp/mmfs/bin

# Enable logging to syslog
# Default value is False
use_syslog=False

# Which syslog facility to use.
# Valid values include auth, authpriv, syslog, user0, user1...
# Default value is 'syslog'
syslog_log_facility=syslog

# Which messages to log.
# INFO means log all usage
# ERROR means only log unsuccessful attempts
syslog_log_level=ERROR

+ 0
- 153
deployment_scripts/puppet/modules/manila_auxiliary/files/share.filters View File

@@ -1,153 +0,0 @@
# manila-rootwrap command filters for share nodes
# This file should be owned by (and only-writeable by) the root user

[Filters]
# manila/utils.py : 'chown', '%s', '%s'
chown: CommandFilter, chown, root
# manila/utils.py : 'cat', '%s'
cat: CommandFilter, cat, root

# manila/share/drivers/lvm.py: 'mkfs.ext4', '/dev/mapper/%s'
mkfs.ext4: CommandFilter, mkfs.ext4, root

# manila/share/drivers/lvm.py: 'mkfs.ext3', '/dev/mapper/%s'
mkfs.ext3: CommandFilter, mkfs.ext3, root

# manila/share/drivers/lvm.py: 'smbd', '-s', '%s', '-D'
smbd: CommandFilter, smbd, root
smb: CommandFilter, smb, root

# manila/share/drivers/lvm.py: 'rmdir', '%s'
rmdir: CommandFilter, rmdir, root

# manila/share/drivers/lvm.py: 'dd' 'count=0', 'if=%s' % srcstr, 'of=%s'
dd: CommandFilter, dd, root

# manila/share/drivers/lvm.py: 'fsck', '-pf', %s
fsck: CommandFilter, fsck, root

# manila/share/drivers/lvm.py: 'resize2fs', %s
resize2fs: CommandFilter, resize2fs, root

# manila/share/drivers/helpers.py: 'smbcontrol', 'all', 'close-share', '%s'
smbcontrol: CommandFilter, smbcontrol, root

# manila/share/drivers/helpers.py: 'net', 'conf', 'addshare', '%s', '%s', 'writeable=y', 'guest_ok=y
# manila/share/drivers/helpers.py: 'net', 'conf', 'delshare', '%s'
# manila/share/drivers/helpers.py: 'net', 'conf', 'setparm', '%s', '%s', '%s'
# manila/share/drivers/helpers.py: 'net', 'conf', 'getparm', '%s', 'hosts allow'
net: CommandFilter, net, root

# manila/share/drivers/lvm.py: 'lvremove', '-f', "%s/%s
lvremove: CommandFilter, lvremove, root

# manila/share/drivers/lvm.py: 'lvextend', '-L', '%sG''-n', %s
lvextend: CommandFilter, lvextend, root

# manila/share/drivers/lvm.py: 'lvcreate', '-L', %s, '-n', %s
lvcreate: CommandFilter, lvcreate, root

# manila/share/drivers/lvm.py: 'vgs', '--noheadings', '-o', 'name'
# manila/share/drivers/lvm.py: 'vgs', %s, '--rows', '--units', 'g'
vgs: CommandFilter, vgs, root

# manila/share/drivers/glusterfs.py: 'mkdir', '%s'
# manila/share/drivers/ganesha/manager.py: 'mkdir', '-p', '%s'
mkdir: CommandFilter, mkdir, root

# manila/share/drivers/glusterfs.py: 'rm', '-rf', '%s'
rm: CommandFilter, rm, root

# manila/share/drivers/glusterfs.py: 'mount', '-t', 'glusterfs', '%s', '%s'
# manila/share/drivers/glusterfs/glusterfs_native.py: 'mount', '-t', 'glusterfs', '%s', '%s'
mount: CommandFilter, mount, root

# manila/share/drivers/glusterfs.py: 'gluster', '--xml', 'volume', 'info', '%s'
# manila/share/drivers/glusterfs.py: 'gluster', 'volume', 'set', '%s', 'nfs.export-dir', '%s'
gluster: CommandFilter, gluster, root

# manila/network/linux/ip_lib.py: 'ip', 'netns', 'exec', '%s', '%s'
ip: CommandFilter, ip, root

# manila/network/linux/interface.py: 'ovs-vsctl', 'add-port', '%s', '%s'
ovs-vsctl: CommandFilter, ovs-vsctl, root

# manila/share/drivers/glusterfs/glusterfs_native.py: 'find', '%s', '-mindepth', '1', '!', '-path', '%s', '!', '-path', '%s', '-delete'
# manila/share/drivers/glusterfs/glusterfs_native.py: 'find', '%s', '-mindepth', '1', '-delete'
find: CommandFilter, find, root

# manila/share/drivers/glusterfs/glusterfs_native.py: 'umount', '%s'
umount: CommandFilter, umount, root

# GPFS commands
# manila/share/drivers/ibm/gpfs.py: 'mmgetstate', '-Y'
mmgetstate: CommandFilter, mmgetstate, root
# manila/share/drivers/ibm/gpfs.py: 'mmlsattr', '%s'
mmlsattr: CommandFilter, mmlsattr, root
# manila/share/drivers/ibm/gpfs.py: 'mmcrfileset', '%s', '%s', '--inode-space', 'new'
mmcrfileset: CommandFilter, mmcrfileset, root
# manila/share/drivers/ibm/gpfs.py: 'mmlinkfileset', '%s', '%s', '-J', '%s'
mmlinkfileset: CommandFilter, mmlinkfileset, root
# manila/share/drivers/ibm/gpfs.py: 'mmsetquota', '-j', '%s', '-h', '%s', '%s'
mmsetquota: CommandFilter, mmsetquota, root
# manila/share/drivers/ibm/gpfs.py: 'mmunlinkfileset', '%s', '%s', '-f'
mmunlinkfileset: CommandFilter, mmunlinkfileset, root
# manila/share/drivers/ibm/gpfs.py: 'mmdelfileset', '%s', '%s', '-f'
mmdelfileset: CommandFilter, mmdelfileset, root
# manila/share/drivers/ibm/gpfs.py: 'mmcrsnapshot', '%s', '%s', '-j', '%s'
mmcrsnapshot: CommandFilter, mmcrsnapshot, root
# manila/share/drivers/ibm/gpfs.py: 'mmdelsnapshot', '%s', '%s', '-j', '%s'
mmdelsnapshot: CommandFilter, mmdelsnapshot, root
# manila/share/drivers/ibm/gpfs.py: 'rsync', '-rp', '%s', '%s'
rsync: CommandFilter, rsync, root
# manila/share/drivers/ibm/gpfs.py: 'exportfs'
exportfs: CommandFilter, exportfs, root
# manila/share/drivers/ibm/gpfs.py: 'stat', '--format=%F', '%s'
stat: CommandFilter, stat, root
# manila/share/drivers/ibm/gpfs.py: 'df', '-P', '-B', '1', '%s'
df: CommandFilter, df, root

# Ganesha commands
# manila/share/drivers/ibm/ganesha_utils.py: 'mv', '%s', '%s'
# manila/share/drivers/ganesha/manager.py: 'mv', '%s', '%s'
mv: CommandFilter, mv, root
# manila/share/drivers/ibm/ganesha_utils.py: 'cp', '%s', '%s'
cp: CommandFilter, cp, root
# manila/share/drivers/ibm/ganesha_utils.py: 'scp', '-i', '%s', '%s', '%s'
scp: CommandFilter, scp, root
# manila/share/drivers/ibm/ganesha_utils.py: 'ssh', '%s', '%s'
ssh: CommandFilter, ssh, root
# manila/share/drivers/ibm/ganesha_utils.py: 'chmod', '%s', '%s'
chmod: CommandFilter, chmod, root
# manila/share/drivers/ibm/ganesha_utils.py: 'service', '%s', 'restart'
service: CommandFilter, service, root

# manila/share/drivers/ganesha/manager.py: 'mktemp', '-p', '%s', '-t', '%s'
mktemp: CommandFilter, mktemp, root

# manila/share/drivers/ganesha/manager.py:
shcat: RegExpFilter, sh, root, sh, -c, echo '((.|\n)*)' > /.*

# manila/share/drivers/ganesha/manager.py:
dbus-addexport: RegExpFilter, dbus-send, root, dbus-send, --print-reply, --system, --dest=org\.ganesha\.nfsd, /org/ganesha/nfsd/ExportMgr, org\.ganesha\.nfsd\.exportmgr\.(Add|Remove)Export, .*, .*

# manila/share/drivers/ganesha/manager.py:
dbus-removeexport: RegExpFilter, dbus-send, root, dbus-send, --print-reply, --system, --dest=org\.ganesha\.nfsd, /org/ganesha/nfsd/ExportMgr, org\.ganesha\.nfsd\.exportmgr\.(Add|Remove)Export, .*

# manila/share/drivers/ganesha/manager.py:
rmconf: RegExpFilter, sh, root, sh, -c, rm -f /.*/\*\.conf$

# ZFS commands
# manila/share/drivers/zfsonlinux/driver.py
# manila/share/drivers/zfsonlinux/utils.py
zpool: CommandFilter, zpool, root

# manila/share/drivers/zfsonlinux/driver.py
# manila/share/drivers/zfsonlinux/utils.py
zfs: CommandFilter, zfs, root

# manila/data/utils.py: 'ls', '-pA1', '--group-directories-first', '%s'
ls: CommandFilter, ls, root

# manila/data/utils.py: 'touch', '--reference=%s', '%s'
touch: CommandFilter, touch, root

+ 0
- 186
deployment_scripts/puppet/modules/manila_auxiliary/files/upload_cirros.rb View File

@@ -1,186 +0,0 @@
#!/usr/bin/env ruby
require 'hiera'

ENV['LANG'] = 'C'

hiera = Hiera.new(:config => '/etc/hiera.yaml')
manila = hiera.lookup 'manila', {}, {}
service_vm_images = manila['service_vm_image']
glanced = hiera.lookup 'glance', {} , {}, nil, :hash
management_vip = hiera.lookup 'management_vip', nil, {}
auth_addr = hiera.lookup 'service_endpoint', "#{management_vip}", {}
tenant_name = glanced['tenant'].nil? ? "services" : glanced['tenant']
user_name = glanced['user'].nil? ? "glance" : glanced['user']
endpoint_type = glanced['endpoint_type'].nil? ? "internalURL" : glanced['endpoint_type']
region_name = hiera.lookup 'region', 'RegionOne', {}
ssl_hash = hiera.lookup 'use_ssl', {}, {}

if ssl_hash['keystone_internal']
auth_proto = 'https'
auth_addr = ssl_hash['keystone_internal_hostname'] || auth_addr
else
auth_proto = 'http'
end

puts "Auth URL is #{auth_proto}://#{auth_addr}:5000/v2.0"

ENV['OS_TENANT_NAME']="#{tenant_name}"
ENV['OS_USERNAME']="#{user_name}"
ENV['OS_PASSWORD']="#{glanced['user_password']}"
ENV['OS_AUTH_URL']="#{auth_proto}://#{auth_addr}:5000/v2.0"
ENV['OS_ENDPOINT_TYPE'] = "#{endpoint_type}"
ENV['OS_REGION_NAME']="#{region_name}"

raise 'Not service_vm_image data!' unless [Array, Hash].include?(service_vm_images.class) && service_vm_images.any?

service_vm_images = [service_vm_images] unless service_vm_images.is_a? Array

service_vm_images.each do |image|
%w(
disk_format
img_path
img_name
os_name
public
container_format
min_ram
).each do |f|
raise "Data field '#{f}' is missing!" unless image[f]
end
end

def image_list
stdout = `glance --verbose image-list`
return_code = $?.exitstatus
images = []
stdout.split("\n").each do |line|
fields = line.split('|').map { |f| f.chomp.strip }
next if fields[1] == 'ID'
next unless fields[2]
images << {fields[2] => fields[6]}
end
{:images => images, :exit_code => return_code}
end

def image_create(image_hash)
command = <<-EOF
/usr/bin/glance image-create \
--name '#{image_hash['img_name']}' \
--visibility '#{image_hash['visibility']}' \
--container-format='#{image_hash['container_format']}' \
--disk-format='#{image_hash['disk_format']}' \
--min-ram='#{image_hash['min_ram']}' \
#{image_hash['glance_properties']} \
--file '#{image_hash['img_path']}'
EOF
puts command
stdout = `#{command}`
return_code = $?.exitstatus
[ stdout, return_code ]
end

# check if Glance is online
# waited until the glance is started because when vCenter used as a glance
# backend launch may takes up to 1 minute.
def wait_for_glance
5.times.each do |retries|
sleep 10 if retries > 0
return if image_list[:exit_code] == 0
end
raise 'Could not get a list of glance images!'
end

# upload image to Glance
# if it have not been already uploaded
def upload_image(image)
if check_image(image)
puts "Image '#{image['img_name']}' is already present and active!"
return 0
else
cleanup_image(image)
end

# convert old API v1 'public' property to API v2 'visibility' property
if image['public'] == 'true'
image['visibility'] = 'public'
else
image['visibility'] = 'private'
end
stdout, return_code = image_create(image)
puts stdout

# check to make sure the image is uploaded and active
if return_code == 0
image_ok = check_image(image)
# retry over ~50 seconds to wait to see if it becomes active
5.times.each do |retries|
break if image_ok
sleep 10
image_ok = check_image(image)
end
end

# if the image upload was successful and it's reporting active then success!
upload_result = (return_code == 0 and image_ok)
if upload_result
puts "Image '#{image['img_name']}' was uploaded from '#{image['img_path']}'"
else
puts "Image '#{image['img_name']}' upload from '#{image['img_path']}' FAILED!"
end

return upload_result
end

# return true if image has been uploaded and active
def check_image(image)
list_of_images = image_list
if list_of_images[:exit_code] == 0 && list_of_images[:images].include?(image['img_name'] => "active")
return true
end
return false
end

# remove the image by name if it is in the list of images
# TODO(aschultz): if the image exists by name multiple times we only remove
# the first one
def cleanup_image(image)
list_of_images = image_list
unless list_of_images[:images].select { |img_hash| img_hash.key?(image['img_name']) }.empty?
delete_image(image['img_name'])
end
end

def delete_image(image_name)
command = "/usr/bin/openstack image delete '#{image_name}'"
puts command
stdout = `#{command}`
return_code = $?.exitstatus
[ stdout, return_code ]
end

########################

wait_for_glance
errors = 0

service_vm_images.each do |image|
success = false
# retry upload 5 times with a 1 minute sleep between tries
5.times.each do |retries|
if upload_image(image)
success = true
break
end
sleep 60
end
errors += 1 unless success
end

if errors > 0
service_vm_images.each do |image|
cleanup_image(image)
end
exit 1
end

exit 0

+ 0
- 21
deployment_scripts/puppet/modules/manila_auxiliary/lib/puppet/parser/functions/populate_hiera.rb View File

@@ -1,21 +0,0 @@
module Puppet::Parser::Functions
newfunction(:populate_hiera,
:doc => <<-EOS
Add plugin specific data to hiera.
EOS
) do |args|
raise(Puppet::ParseError, 'No file name provided!') if args.size < 3 or args[0] == ""
require 'yaml'
require 'fileutils'
file=args[0]
key=args[1]
value=args[2]
begin
data = YAML::load_file(file)
rescue
data = {"manila" => {}}
end
data["manila"][key] = value
File.open(file, 'w') {|f| f.write data.to_yaml}
end
end

+ 0
- 22
deployment_scripts/puppet/modules/manila_auxiliary/manifests/backend/generic.pp View File

@@ -1,22 +0,0 @@
define manila_auxiliary::backend::generic (
$share_driver = 'manila.share.drivers.generic.GenericShareDriver',
$driver_handles_share_servers = 'True',
$service_instance_user = 'manila',
$service_instance_password = 'manila',
$service_image_name = 'manila-service-image',
$path_to_private_key = '/root/.ssh/id_rsa',
$path_to_public_key = '/root/.ssh/id_rsa.pub',
$share_backend_name = $name,
) {

manila_config {
"${name}/share_driver": value => $share_driver;
"${name}/driver_handles_share_servers": value => $driver_handles_share_servers;
"${name}/service_instance_user": value => $service_instance_user;
"${name}/service_instance_password": value => $service_instance_password;
"${name}/service_image_name": value => $service_image_name;
"${name}/path_to_private_key": value => $path_to_private_key;
"${name}/path_to_public_key": value => $path_to_public_key;
"${name}/share_backend_name": value => $share_backend_name;
}~>Service['manila-share']
}

+ 0
- 29
deployment_scripts/puppet/modules/manila_auxiliary/manifests/backend/netapp.pp View File

@@ -1,29 +0,0 @@
define manila_auxiliary::backend::netapp (
$share_driver = 'manila.share.drivers.netapp.common.NetAppDriver',
$driver_handles_share_servers = 'True',
$netapp_storage_family = 'ontap_cluster',
$netapp_server_hostname = undef,
$netapp_server_port = '80',
$netapp_login = undef,
$netapp_password = undef,
$netapp_transport_type = 'https',
$netapp_root_volume_aggregate = 'aggr1',
$netapp_aggregate_name_search_pattern = '^((?!aggr0).)*$',
$netapp_port_name_search_pattern = '^(e0a)$',
) {

manila_config {
"${name}/share_backend_name": value => $name;
"${name}/share_driver": value => $share_driver;
"${name}/driver_handles_share_servers": value => $driver_handles_share_servers;
"${name}/netapp_storage_family": value => $netapp_storage_family;
"${name}/netapp_server_hostname": value => $netapp_server_hostname;
"${name}/netapp_server_port": value => $netapp_server_port;
"${name}/netapp_login": value => $netapp_login;
"${name}/netapp_password": value => $netapp_password;
"${name}/netapp_transport_type": value => $netapp_transport_type;
"${name}/netapp_root_volume_aggregate": value => $netapp_root_volume_aggregate;
"${name}/netapp_aggregate_name_search_pattern": value => $netapp_aggregate_name_search_pattern;
"${name}/netapp_port_name_search_pattern": value => $netapp_port_name_search_pattern;
}~>Service['manila-share']
}

+ 0
- 10
deployment_scripts/puppet/modules/manila_auxiliary/manifests/conf.pp View File

@@ -1,10 +0,0 @@
class manila_auxiliary::conf (
$default_share_type = 'default_share_type',
) {
manila_config {
'DEFAULT/default_share_type': value => $default_share_type;
'DEFAULT/osapi_share_extension': value => 'manila.api.contrib.standard_extensions';
'DEFAULT/enabled_share_protocols': value => 'NFS,CIFS';
'DEFAULT/share_name_template': value => 'share-%s';
}
}

+ 0
- 64
deployment_scripts/puppet/modules/manila_auxiliary/manifests/fs.pp View File

@@ -1,64 +0,0 @@
class manila_auxiliary::fs () {

user {'manila':
ensure => 'present',
home => '/var/lib/manila',
shell => '/bin/bash',
system => true,
}->
file {'/etc/manila':
ensure => 'directory',
owner => 'manila',
group => 'manila',
}->
file {'/etc/manila/rootwrap.d':
ensure => 'directory',
owner => 'manila',
group => 'manila',
}
file {'/var/log/manila':
ensure => 'directory',
owner => 'manila',
group => 'manila',
}
file {'/var/lib/manila':
ensure => 'directory',
owner => 'manila',
group => 'manila',
}->
file {'/var/lib/manila/tmp':
ensure => 'directory',
owner => 'manila',
group => 'manila',
}
file {'/etc/manila/api-paste.ini':
source => 'puppet:///modules/manila_auxiliary/api-paste.ini',
owner => 'manila',
group => 'manila',
}
file {'/etc/manila/logging_sample.conf':
source => 'puppet:///modules/manila_auxiliary/logging_sample.conf',
owner => 'manila',
group => 'manila',
}
file {'/etc/manila/policy.json':
source => 'puppet:///modules/manila_auxiliary/policy.json',
owner => 'manila',
group => 'manila',
}
file {'/etc/manila/rootwrap.conf':
source => 'puppet:///modules/manila_auxiliary/rootwrap.conf',
owner => 'root',
group => 'root',
}
file {'/etc/manila/rootwrap.d/share.filters':
source => 'puppet:///modules/manila_auxiliary/share.filters',
owner => 'root',
group => 'root',
}
file {'/etc/sudoers.d/manila-common':
source => 'puppet:///modules/manila_auxiliary/manila-common',
owner => 'root',
group => 'root',
}
}

+ 0
- 79
deployment_scripts/puppet/modules/manila_auxiliary/manifests/haproxy.pp View File

@@ -1,79 +0,0 @@
# == Class: manila_auxiliary::haproxy
#
# HA configuration for OpenStack Manila
#
# === Parameters
#
# [*internal_virtual_ip*]
# (required) String. This is the ipaddress to be used for the internal facing
# vip
#
# [*ipaddresses*]
# (required) Array. This is an array of ipaddresses for the backend services
# to be loadbalanced
#
# [*public_ssl*]
# (optional) Boolean. If true, enables SSL for $public_virtual_ip
# Defaults to false.
#
# [*public_ssl_path*]
# (optional) String. Filesystem path to the file with public certificate
# content
# Defaults to undef
#
# [*internal_ssl*]
# (optional) Boolean. If true, enables SSL for $internal_virtual_ip
# Defaults to false.
#
# [*internal_ssl_path*]
# (optional) String. Filesystem path to the file with internal certificate
# content
# Defaults to undef
#
# [*public_virtual_ip*]
# (required) String. This is the ipaddress to be used for the external facing
# vip
#
# [*server_names*]
# (required) Array. This is an array of server names for the haproxy service
#
class manila_auxiliary::haproxy (
$internal_virtual_ip,
$ipaddresses,
$public_virtual_ip,
$server_names,
$public_ssl = false,
$public_ssl_path = undef,
$internal_ssl = false,
$internal_ssl_path = under,
) {
Openstack::Ha::Haproxy_service {
internal_virtual_ip => $internal_virtual_ip,
ipaddresses => $ipaddresses,
public_virtual_ip => $public_virtual_ip,
server_names => $server_names,
}
openstack::ha::haproxy_service { 'manila-api':
order => '070',
listen_port => 8786,
public => true,
public_ssl => $public_ssl,
public_ssl_path => $public_ssl_path,
internal_ssl => $internal_ssl,
internal_ssl_path => $internal_ssl_path,
require_service => 'manila-api',
server_names => $server_names,
ipaddresses => $ipaddresses,
define_backups => true,
haproxy_config_options => {
option => ['httpchk', 'httplog', 'httpclose'],
'http-request' => 'set-header X-Forwarded-Proto https if { ssl_fc }',
},
balancermember_options => 'check inter 10s fastinter 2s downinter 3s rise 3 fall 3',
}
firewall {'8786 manila-api':
port => [8786],
proto => 'tcp',
action => 'accept',
}
}

+ 0
- 20
deployment_scripts/puppet/modules/manila_auxiliary/manifests/image.pp View File

@@ -1,20 +0,0 @@
class manila_auxiliary::image (
$src_image = 'http://host/manila-service-image.qcow2',
$image = 'manila-service-image.qcow2',
){
file {'/tmp/upload_cirros.rb':
source => 'puppet:///modules/manila_auxiliary/upload_cirros.rb',
}->
exec {'wget_service_image':
command => "wget ${src_image} -O /tmp/${image}",
path => '/usr/bin',
}->
exec {'upload-service-image':
command => 'ruby /tmp/upload_cirros.rb',
path => '/usr/bin',
}->
exec {'del_service_image':
command => "/bin/rm /tmp/${image}",
path => '/usr/bin',
}
}

+ 0
- 159
deployment_scripts/puppet/modules/manila_auxiliary/manifests/init.pp View File

@@ -1,159 +0,0 @@
# Class: manila_auxiliary
# ===========================
#
# Full description of class manila_auxiliary here.
#
# Parameters
# ----------
#
# Document parameters here.
#
# * `sample parameter`
# Explanation of what this parameter affects and what it defaults to.
# e.g. "Specify one or more upstream ntp servers as an array."
#
# Variables
# ----------
#
# Here you should define a list of variables that this module would require.
#
# * `sample variable`
# Explanation of how this variable affects the function of this class and if
# it has a default. e.g. "The parameter enc_ntp_servers must be set by the
# External Node Classifier as a comma separated list of hostnames." (Note,
# global variables should be avoided in favor of class parameters as
# of Puppet 2.6.)
#
# Examples
# --------
#
# @example
# class { 'manila_auxiliary':
# servers => [ 'pool.ntp.org', 'ntp.local.company.com' ],
# }
#
# Authors
# -------
#
# Author Name <author@domain.com>
#
# Copyright
# ---------