Skip to content

Commit 5839d3f

Browse files
authored
Merge pull request #601 from IBM/dev
Dev ==> Master
2 parents ef4b725 + 8f39b98 commit 5839d3f

File tree

87 files changed

+6910
-782
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+6910
-782
lines changed

README.md

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ The following IBM Spectrum Scale versions are tested:
105105
Specific OS requirements:
106106

107107
- For CES (SMB/NFS) on SLES15, Python 3 is required.
108-
- For CES (OBJECT) RhedHat 8.x is required.
108+
- For CES (OBJECT) RhedHat 8.x is required.
109109

110110

111111
Prerequisites
@@ -150,29 +150,47 @@ Users need to have a basic understanding of the [Ansible concepts](https://docs.
150150
Installation Instructions
151151
-------------------------
152152

153-
- **Clone `ibm-spectrum-scale-install-infra` repository to your [Ansible control node](https://docs.ansible.com/ansible/latest/user_guide/basic_concepts.html#control-node)**
153+
- **Create project directory on [Ansible control node](https://docs.ansible.com/ansible/latest/user_guide/basic_concepts.html#control-node)**
154+
155+
The preferred way of accessing the roles provided by this project is by placing them inside the `collections/ansible_collections/ibm/spectrum_scale` directory of your project, adjacent to your [Ansible playbook](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html). Simply clone the repository to the correct path:
154156

155157
```shell
156-
$ git clone https://github.com/IBM/ibm-spectrum-scale-install-infra.git
158+
$ mkdir my_project
159+
$ cd my_project
160+
$ git clone https://github.com/IBM/ibm-spectrum-scale-install-infra.git collections/ansible_collections/ibm/spectrum_scale
157161
```
158162

159-
- **Change working directory**
160-
161-
There are different methods for accessing the roles provided by this project. You can either change your working directory to the cloned repository and create your own files inside this directory (optionally copying examples from the [samples/](samples/) subdirectory):
163+
Be sure to clone the project under the correct subdirectory:
162164

163165
```shell
164-
$ cd ibm-spectrum-scale-install-infra/
166+
my_project/
167+
├── collections/
168+
│ └── ansible_collections/
169+
│ └── ibm/
170+
│ └── spectrum_scale/
171+
│ └── ...
172+
├── hosts
173+
└── playbook.yml
165174
```
166175

167-
Alternatively, you can define an [Ansible environment variable](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_ROLES_PATH) to make the roles accessible in any external project directory:
176+
- **Alternatives - now deprecated!**
168177

169-
```shell
170-
$ export ANSIBLE_ROLES_PATH=$(pwd)/ibm-spectrum-scale-install-infra/roles/
171-
```
178+
Alternatively, you can clone the project repository and create your [Ansible playbook](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html) inside the repository's directory structure:
179+
180+
```shell
181+
$ git clone https://github.com/IBM/ibm-spectrum-scale-install-infra.git
182+
$ cd ibm-spectrum-scale-install-infra
183+
```
184+
185+
Yet another alternative, you can also define an [Ansible environment variable](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_ROLES_PATH) to make the roles accessible in any external project directory:
186+
187+
```shell
188+
$ export ANSIBLE_ROLES_PATH=$(pwd)/ibm-spectrum-scale-install-infra/roles/
189+
```
172190

173191
- **Create Ansible inventory**
174192

175-
Define Spectrum Scale nodes in the [Ansible inventory](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html) (e.g. `./hosts`) in the following format:
193+
Define Spectrum Scale nodes in the [Ansible inventory](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html) (e.g. `hosts`) in the following format:
176194

177195
```yaml
178196
# hosts:
@@ -190,12 +208,14 @@ Installation Instructions
190208

191209
- **Create Ansible playbook**
192210

193-
The basic [Ansible playbook](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html) (e.g. `./playbook.yml`) looks as follows:
211+
The basic [Ansible playbook](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html) (e.g. `playbook.yml`) looks as follows:
194212

195213
```yaml
196214
# playbook.yml:
197215
---
198216
- hosts: cluster01
217+
collections:
218+
- ibm.spectrum_scale
199219
vars:
200220
- scale_install_localpkg_path: /path/to/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install
201221
roles:

galaxy.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
### REQUIRED
2+
3+
# The namespace of the collection. This can be a company/brand/organization or product namespace under which all
4+
# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with
5+
# underscores or numbers and cannot contain consecutive underscores
6+
namespace: ibm
7+
8+
# The name of the collection. Has the same character restrictions as 'namespace'
9+
name: spectrum_scale
10+
11+
# The version of the collection. Must be compatible with semantic versioning
12+
version: 3.0.0
13+
14+
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
15+
readme: README.md
16+
17+
# A list of the collection's content authors. Can be just the name or in the format 'Full Name <email> (url)
18+
# @nicks:irc/im.site#channel'
19+
authors:
20+
- Achim Christ <[email protected]>
21+
- Dherendra Singh <[email protected]>
22+
- Muthu Muthiah <[email protected]>
23+
- Ole Kristian Myklebust <[email protected]>
24+
- Rajan Mishra <[email protected]>
25+
26+
27+
28+
### OPTIONAL but strongly recommended
29+
30+
# A short summary description of the collection
31+
description: Ansible Collections for IBM Spectrum Scale
32+
33+
# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only
34+
# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file'
35+
license:
36+
- Apache-2.0
37+
38+
# The path to the license file for the collection. This path is relative to the root of the collection. This key is
39+
# mutually exclusive with 'license'
40+
#license_file: LICENSE
41+
42+
# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character
43+
# requirements as 'namespace' and 'name'
44+
tags:
45+
- storage
46+
- ibm
47+
- spectrum
48+
- scale
49+
- gpfs
50+
51+
# Collections that this collection requires to be installed for it to be usable. The key of the dict is the
52+
# collection label 'namespace.name'. The value is a version range
53+
# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version
54+
# range specifiers can be set and are separated by ','
55+
dependencies: {}
56+
57+
# The URL of the originating SCM repository
58+
repository: https://github.com/IBM/ibm-spectrum-scale-install-infra
59+
60+
# The URL to any online docs
61+
documentation: https://github.com/IBM/ibm-spectrum-scale-install-infra
62+
63+
# The URL to the homepage of the collection/project
64+
homepage:
65+
66+
# The URL to the collection issue tracker
67+
issues: https://github.com/IBM/ibm-spectrum-scale-install-infra/issues

plugins/README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Collections Plugins Directory
2+
3+
This directory can be used to ship various plugins inside an Ansible collection. Each plugin is placed in a folder that
4+
is named after the type of plugin it is in. It can also include the `module_utils` and `modules` directory that
5+
would contain module utils and modules respectively.
6+
7+
Here is an example directory of the majority of plugins currently supported by Ansible:
8+
9+
```
10+
└── plugins
11+
├── action
12+
├── become
13+
├── cache
14+
├── callback
15+
├── cliconf
16+
├── connection
17+
├── filter
18+
├── httpapi
19+
├── inventory
20+
├── lookup
21+
├── module_utils
22+
├── modules
23+
├── netconf
24+
├── shell
25+
├── strategy
26+
├── terminal
27+
├── test
28+
└── vars
29+
```
30+
31+
A full list of plugin types can be found at [Working With Plugins](https://docs.ansible.com/ansible/2.9/plugins/plugins.html).

0 commit comments

Comments
 (0)