diff options
Diffstat (limited to '')
36 files changed, 236 insertions, 111 deletions
diff --git a/ansible_collections/dellemc/powerflex/.github/workflows/ansible-test.yml b/ansible_collections/dellemc/powerflex/.github/workflows/ansible-test.yml index 988cba19e..058c434e2 100644 --- a/ansible_collections/dellemc/powerflex/.github/workflows/ansible-test.yml +++ b/ansible_collections/dellemc/powerflex/.github/workflows/ansible-test.yml @@ -114,7 +114,7 @@ jobs: # Ansible-core 2.16 is supported only from Python 3.10 onwards - python-version: "3.9" ansible-version: stable-2.16 - - python-version: '3.9' + - python-version: "3.9" ansible-version: devel steps: diff --git a/ansible_collections/dellemc/powerflex/CHANGELOG.rst b/ansible_collections/dellemc/powerflex/CHANGELOG.rst index 6aec79d70..6224280f0 100644 --- a/ansible_collections/dellemc/powerflex/CHANGELOG.rst +++ b/ansible_collections/dellemc/powerflex/CHANGELOG.rst @@ -4,6 +4,13 @@ Dellemc.PowerFlex Change Logs .. contents:: Topics +v2.4.0 +====== + +Minor Changes +------------- + +- Added support for executing Ansible PowerFlex modules and roles on AWS environment. v2.3.0 ====== diff --git a/ansible_collections/dellemc/powerflex/FILES.json b/ansible_collections/dellemc/powerflex/FILES.json index 9d135a9a9..ac7c75c78 100644 --- a/ansible_collections/dellemc/powerflex/FILES.json +++ b/ansible_collections/dellemc/powerflex/FILES.json @@ -95,7 +95,7 @@ "name": ".github/workflows/ansible-test.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d53fd6c5db3875651823edfc1873621987d946e7dcc591ff4c17eb92963df52", + "chksum_sha256": "5804cd1364b07aa6ebe9d2d8b29598dd815c33471f6760da29039c40a6beadba", "format": 1 }, { @@ -109,7 +109,7 @@ "name": "CHANGELOG.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "45d7b5658389095f34e42e23f6ef321660ce5d2aebcb3905b688335d396616f8", + "chksum_sha256": "453a68b618853e7feccf984745d38fb5566aab5d3de884790f5fa85c28347993", "format": 1 }, { @@ -130,7 +130,7 @@ "name": "README.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5af6cc66393e097bbb1f2bbb1477c602a11564ea1e9e7741d81be037c3976b8d", + "chksum_sha256": "7b4e0d601cddc58a5b325e2543789d29ea69f5dd362c080a16c77b0b3239a439", "format": 1 }, { @@ -151,7 +151,7 @@ "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "932bfd76a42809ca17a1864376a9a2a88ad857bbb4990734d8522072466dcb8f", + "chksum_sha256": "0a9799578efac17952b5672ebb2d3a4f9541aa524ede37aa2ffe0372c0399fd8", "format": 1 }, { @@ -200,21 +200,21 @@ "name": "docs/CONTRIBUTING.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "196f895d4e1d69e8831017f36ed709f8ccb7ea035dc97d71abf7213e3e9be868", + "chksum_sha256": "f054a45c8a3b7032987d66180a9c5cc852af935e07f633489976b8f3d2b6755f", "format": 1 }, { "name": "docs/INSTALLATION.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c8fa229fdcec0cb7cdaeb94cfaa429675d14add2d95f77eb4e83a2311ce21203", + "chksum_sha256": "782332edfc5dfac225338eec316fcb80264c8a80d64356b3849fa4d1063f4eb7", "format": 1 }, { "name": "docs/ISSUE_TRIAGE.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8bb1ea4a27677d9eb98f4c938fc0ed55c2e718f2abaa9bd5e1ee708e37ce2e1a", + "chksum_sha256": "db3b92f11a5d38287ead84d7baf84655736fd7c377e88bd3fc29f44ea46ff57e", "format": 1 }, { @@ -228,21 +228,21 @@ "name": "docs/MAINTAINER_GUIDE.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e0970f922c8b97af52284ea00bf00337929c5e764c417152f49036dd23d21b4", + "chksum_sha256": "475e92f2e159eaa82f4666d9fd91907000790bea8417fa720d9f57328e101078", "format": 1 }, { "name": "docs/Release Notes.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a50b2c32c7ecc642e5794dcd0fbeef0bd4d3b0918300db814a72fd8f59cebd3c", + "chksum_sha256": "461b82fb097263724e23d0477036a9fbd7ed46f7a8ad14ff7bfc90e4dc6555a6", "format": 1 }, { "name": "docs/SECURITY.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "081098364e1203078b92bfd17db3186a6dc049cb81ea94059b09882d419a4946", + "chksum_sha256": "94ff66c47cb36e079846fd744ad870f627535e64326691b0421cad93feaffca2", "format": 1 }, { @@ -263,98 +263,98 @@ "name": "docs/modules/device.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3b2a96dab77d81e653c02750a23f0417e1c2ff24b31026dcd0f22134e8c2666e", + "chksum_sha256": "724112e62b9e42bf54860d5d6490df28db02f48a1470b222ddb44a7ad830ef8c", "format": 1 }, { "name": "docs/modules/fault_set.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ca14b067fd1764db25799feb20a0b15c2999ae9aa9f015ef6b06c8759c34f7f", + "chksum_sha256": "8e5cf661716df94032a49f43d5ce8d751dea569def8ac99e26c5cfada44f4f61", "format": 1 }, { "name": "docs/modules/info.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2919a7d5b06991e9113acd068ab458e05be216f3fe4344cf1691603b9c29884", + "chksum_sha256": "6d7cbe381aa23de4ce4acb228213a916f7ac5898ccf95105995134abf2496f3a", "format": 1 }, { "name": "docs/modules/mdm_cluster.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "653df53c3af3b726a58b24fc0a78d882655a35ea40283530044ec78b5e3b7023", + "chksum_sha256": "9ffc87301f4e67b79451450f964c6559088696c246210342c65678d3b6823eaa", "format": 1 }, { "name": "docs/modules/protection_domain.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "789a3c50b0037017815b0f0b911ee462f50389da17ab1d55c649d572f137c822", + "chksum_sha256": "a31481e55cbcd48e2de17c5f909958a48a641c9407ca97ac81159d5a732b2769", "format": 1 }, { "name": "docs/modules/replication_consistency_group.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d371f5f275878b1e4995902946845a7b1e947705bd432593714d50069d20611e", + "chksum_sha256": "a7020f015b38a75b76608685358c0d40f1994e942e23728ba563ba0ad76d92d3", "format": 1 }, { "name": "docs/modules/replication_pair.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a1c6ac731f5fd9343b52a740474045f2600ab0867a73692facc619b68cba6ce", + "chksum_sha256": "1493e8c1d08acd7c51ee0423e0a688b3ee5801c915fdd3ecbf4c40461516fef7", "format": 1 }, { "name": "docs/modules/resource_group.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "12edaa4dea0ccd6f9b231b5ea10ddd5b100f4b8d23abf8e278769d7a45002c95", + "chksum_sha256": "d38e031f9d39e1c92241fc635abfa1cae0a8081dd77a794b03f7784d98d9eb05", "format": 1 }, { "name": "docs/modules/sdc.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0fbbcfcfc18c7c8ce473e614d4858887150aa689b4ba251b6f61997011c7c049", + "chksum_sha256": "fd486d97fd31a569846b33d38336a705e451f884a2ecd9197a90b01312e48a94", "format": 1 }, { "name": "docs/modules/sds.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0646d49b08b50b182c8730a5dd2ee2033e11afbeeac93f3bd45cd3e62cd702ff", + "chksum_sha256": "35b848c6fc91ff8af4608d360dc36a1b7a8134712eafd23b6b3c25c1cb4c1d86", "format": 1 }, { "name": "docs/modules/snapshot.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf0f97870e12989f585e770efd5571b5de22a6154b73df241c3c1a700e7cb6fe", + "chksum_sha256": "df9b5ac178c0a16ba79a5d57a97e4dd0dfbb4e332af9864d8a1b90aa35227ff0", "format": 1 }, { "name": "docs/modules/snapshot_policy.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4e54cfcca15c4e906727771c4055b8dce46dd9089daf39d694d82a688599156", + "chksum_sha256": "7b71c242c4cad07bd71731058093532976a02f9bc93ac658e65def287971cdf2", "format": 1 }, { "name": "docs/modules/storagepool.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6eda9bc51092e6737beb53c7d16b22989888802171c28786ec1459733df62b5f", + "chksum_sha256": "2954cea5c6999667466427d000d016ed770a0c9357dde997449b222b28ee8ea6", "format": 1 }, { "name": "docs/modules/volume.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "67dead1b0e93a922e10e44969da93e2aa17604fc13078d76477f5f39d4391114", + "chksum_sha256": "8515171be935508a35837ac2e8f58c5c3ee6f284a0f822b4d74128d2803d93f2", "format": 1 }, { @@ -508,7 +508,7 @@ "name": "playbooks/roles/group_vars/all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05ae8d3b9bba106581f346b384915000397c6a481054917b4a398fa6646fa93b", + "chksum_sha256": "229b0b1d3643b3427570244e84222ef016e9265ab31ef15d13ddf96329ae4e82", "format": 1 }, { @@ -662,7 +662,7 @@ "name": "plugins/module_utils/storage/dell/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "68b549b4dbeefc2eec8974ddc00db73eaafde275a1306522d18a75eb3ae1f963", + "chksum_sha256": "f9cdf312c0aea0c6686bcf9d1121049e222050d11a1be6c51fcbe9dab64892e8", "format": 1 }, { @@ -1236,7 +1236,7 @@ "name": "roles/powerflex_config/tasks/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3118853f9e23c714f8c950127932f93c233be8b0c23cfffe7adc089e84db1128", + "chksum_sha256": "10f2358dbee525cf86fc27e1496b394bfaeb6ddcdce7af7accb194315861444b", "format": 1 }, { @@ -2062,7 +2062,7 @@ "name": "roles/powerflex_sdc/tasks/install_sdc.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "edcacc16abd2e2ddca0262e215130db8851d691f1c52ec54b641a1390180b386", + "chksum_sha256": "891ab050e6db8b216367d2075f31356aec6684f686e9a909c50924f70ede0e14", "format": 1 }, { @@ -2286,7 +2286,7 @@ "name": "roles/powerflex_sdr/tasks/add_sdr.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc927ff472f1c3ad858e340c56d7e82c9bdfcbb44d48e5a9d03338285689f129", + "chksum_sha256": "0ef7dde0476382d5348a15a3f59870c4623789c200a4710eb9e7db3ce205c3c3", "format": 1 }, { @@ -2440,7 +2440,7 @@ "name": "roles/powerflex_sds/tasks/install_sds.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23d5238154edc4827205019c6b649941414f6f80155d6b0273a74c6f435f3c46", + "chksum_sha256": "eb7b2291ea143accdb28777ab6bd4b5929ebd0f569891d9b47ce13ad8b0b9b76", "format": 1 }, { @@ -2629,7 +2629,7 @@ "name": "roles/powerflex_tb/tasks/install_tb3x.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97b692e2c115a1e7b4b11f4e8de9dd5260720f683dae1259c2840eff2701fa2d", + "chksum_sha256": "25228bf930d81d4d45480318f52af3cf2d16c4a616d5f22f44a27918f5898c67", "format": 1 }, { @@ -2657,7 +2657,7 @@ "name": "roles/powerflex_tb/tasks/uninstall_tb.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8cecdc3db2cde3ad690e85e5f61e60532228c0448f8d9211a7caa502c783fa03", + "chksum_sha256": "b74b0f64a0f62bb36dc08e77a2684901e48c545affc69e57ffca9258a016ce2e", "format": 1 }, { @@ -2804,7 +2804,7 @@ "name": "roles/powerflex_webui/tasks/install_webui.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "744e4d2c5c8c207cb66f0182a8693398337b7b01187bff23bfc93187db151af8", + "chksum_sha256": "dcba9892f0bfb4b79ae5c229b1b6d6e5fe1ecc577ceca21a0461f8158d396572", "format": 1 }, { @@ -2878,6 +2878,13 @@ "format": 1 }, { + "name": "tests/sanity/ignore-2.18.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "51c1ac0a0e1858fc26f4e609e997a6084f49f18ee72bbed0b0e26377174ac60c", + "format": 1 + }, + { "name": "tests/unit", "ftype": "dir", "chksum_type": null, diff --git a/ansible_collections/dellemc/powerflex/MANIFEST.json b/ansible_collections/dellemc/powerflex/MANIFEST.json index d52c820f7..9e4656fef 100644 --- a/ansible_collections/dellemc/powerflex/MANIFEST.json +++ b/ansible_collections/dellemc/powerflex/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "dellemc", "name": "powerflex", - "version": "2.3.0", + "version": "2.4.0", "authors": [ "Akash Shendge <ansible.team@dell.com>", "Arindam Datta <ansible.team@dell.com>", @@ -24,16 +24,16 @@ ], "license_file": null, "dependencies": {}, - "repository": "https://github.com/dell/ansible-powerflex/tree/2.3.0", - "documentation": "https://github.com/dell/ansible-powerflex/tree/2.3.0/docs", - "homepage": "https://github.com/dell/ansible-powerflex/tree/2.3.0", + "repository": "https://github.com/dell/ansible-powerflex/tree/2.4.0", + "documentation": "https://github.com/dell/ansible-powerflex/tree/2.4.0/docs", + "homepage": "https://github.com/dell/ansible-powerflex/tree/2.4.0", "issues": "https://www.dell.com/community/Automation/bd-p/Automation" }, "file_manifest_file": { "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c91fc714e4e70b371ad5de1191d1e8d5a6a829f347016680a0ce39e4931fceb4", + "chksum_sha256": "1e3524ca4d32c06f7162058bfe2e094e72e1b205ab39316a94dde334b0d59992", "format": 1 }, "format": 1 diff --git a/ansible_collections/dellemc/powerflex/README.md b/ansible_collections/dellemc/powerflex/README.md index 155631def..6bb8ee215 100644 --- a/ansible_collections/dellemc/powerflex/README.md +++ b/ansible_collections/dellemc/powerflex/README.md @@ -6,29 +6,29 @@ The capabilities of the Ansible modules are managing SDCs, volumes, snapshots, s ## Table of contents -* [Code of conduct](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/CODE_OF_CONDUCT.md) -* [Maintainer guide](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/MAINTAINER_GUIDE.md) -* [Committer guide](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/COMMITTER_GUIDE.md) -* [Contributing guide](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/CONTRIBUTING.md) -* [Branching strategy](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/BRANCHING.md) -* [List of adopters](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/ADOPTERS.md) -* [Maintainers](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/MAINTAINERS.md) -* [Support](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/SUPPORT.md) +* [Code of conduct](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/CODE_OF_CONDUCT.md) +* [Maintainer guide](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/MAINTAINER_GUIDE.md) +* [Committer guide](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/COMMITTER_GUIDE.md) +* [Contributing guide](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/CONTRIBUTING.md) +* [Branching strategy](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/BRANCHING.md) +* [List of adopters](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/ADOPTERS.md) +* [Maintainers](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/MAINTAINERS.md) +* [Support](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/SUPPORT.md) * [License](#license) -* [Security](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/SECURITY.md) +* [Security](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/SECURITY.md) * [Prerequisites](#prerequisites) * [List of Ansible modules for Dell PowerFlex](#list-of-ansible-modules-for-dell-powerflex) * [Installation and execution of Ansible modules for Dell PowerFlex](#installation-and-execution-of-ansible-modules-for-dell-powerflex) * [Releasing, Maintenance and Deprecation](#releasing-maintenance-and-deprecation) ## License -The Ansible collection for PowerFlex is released and licensed under the GPL-3.0 license. See [LICENSE](https://github.com/dell/ansible-powerflex/blob/2.3.0/LICENSE) for the full terms. Ansible modules and modules utilities that are part of the Ansible collection for PowerFlex are released and licensed under the Apache 2.0 license. See [MODULE-LICENSE](https://github.com/dell/ansible-powerflex/blob/2.3.0/MODULE-LICENSE) for the full terms. +The Ansible collection for PowerFlex is released and licensed under the GPL-3.0 license. See [LICENSE](https://github.com/dell/ansible-powerflex/blob/2.4.0/LICENSE) for the full terms. Ansible modules and modules utilities that are part of the Ansible collection for PowerFlex are released and licensed under the Apache 2.0 license. See [MODULE-LICENSE](https://github.com/dell/ansible-powerflex/blob/2.4.0/MODULE-LICENSE) for the full terms. ## Prerequisites | **Ansible Modules** | **PowerFlex/VxFlex OS Version** | **SDK version** | **Python version** | **Ansible** | |---------------------|-----------------------|-------|--------------------|--------------------------| -| v2.3.0 |3.6 <br> 4.0 <br> 4.5 | 1.10.0 | 3.9.x <br> 3.10.x <br> 3.11.x | 2.14 <br> 2.15 <br> 2.16 | +| v2.4.0 |3.6 <br> 4.0 <br> 4.5 | 1.11.0 | 3.9.x <br> 3.10.x <br> 3.11.x | 2.14 <br> 2.15 <br> 2.16 | * Please follow PyPowerFlex installation instructions on [PyPowerFlex Documentation](https://github.com/dell/python-powerflex) @@ -36,22 +36,22 @@ The Ansible collection for PowerFlex is released and licensed under the GPL-3.0 The modules are written in such a way that all requests are idempotent and hence fault-tolerant. It essentially means that the result of a successfully performed request is independent of the number of times it is executed. ## List of Ansible modules for Dell PowerFlex - * [Info module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/info.rst) - * [Snapshot module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/snapshot.rst) - * [SDC module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/sdc.rst) - * [Storage pool module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/storagepool.rst) - * [Volume module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/volume.rst) - * [SDS module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/sds.rst) - * [Device Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/device.rst) - * [Protection Domain Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/protection_domain.rst) - * [MDM Cluster Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/mdm_cluster.rst) - * [Replication Consistency Group Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/replication_consistency_group.rst) - * [Replication Pair Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/replication_pair.rst) - * [Snapshot Policy Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/snapshot_policy.rst) - * [Fault Sets Module](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/modules/fault_set.rst) + * [Info module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/info.rst) + * [Snapshot module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/snapshot.rst) + * [SDC module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/sdc.rst) + * [Storage pool module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/storagepool.rst) + * [Volume module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/volume.rst) + * [SDS module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/sds.rst) + * [Device Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/device.rst) + * [Protection Domain Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/protection_domain.rst) + * [MDM Cluster Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/mdm_cluster.rst) + * [Replication Consistency Group Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/replication_consistency_group.rst) + * [Replication Pair Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/replication_pair.rst) + * [Snapshot Policy Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/snapshot_policy.rst) + * [Fault Sets Module](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/modules/fault_set.rst) ## Installation and execution of Ansible modules for Dell PowerFlex -The installation and execution steps of Ansible modules for Dell PowerFlex can be found [here](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/INSTALLATION.md). +The installation and execution steps of Ansible modules for Dell PowerFlex can be found [here](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/INSTALLATION.md). ## Releasing, Maintenance and Deprecation @@ -59,6 +59,6 @@ Ansible Modules for Dell Technologies PowerFlex follows [Semantic Versioning](ht New version will be release regularly if significant changes (bug fix or new feature) are made in the collection. -Released code versions are located on "release" branches with names of the form "release-x.y.z" where x.y.z corresponds to the version number. More information on branching strategy followed can be found [here](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/BRANCHING.md). +Released code versions are located on "release" branches with names of the form "release-x.y.z" where x.y.z corresponds to the version number. More information on branching strategy followed can be found [here](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/BRANCHING.md). Ansible Modules for Dell Technologies PowerFlex deprecation cycle is aligned with that of [Ansible](https://docs.ansible.com/ansible/latest/dev_guide/module_lifecycle.html).
\ No newline at end of file diff --git a/ansible_collections/dellemc/powerflex/changelogs/changelog.yaml b/ansible_collections/dellemc/powerflex/changelogs/changelog.yaml index 2c8926ed1..a4fb3c6c8 100644 --- a/ansible_collections/dellemc/powerflex/changelogs/changelog.yaml +++ b/ansible_collections/dellemc/powerflex/changelogs/changelog.yaml @@ -158,3 +158,8 @@ releases: name: resource_group namespace: '' release_date: '2024-03-29' + 2.4.0: + changes: + minor_changes: + - Added support for executing Ansible PowerFlex modules and roles on AWS environment. + release_date: '2024-04-30' diff --git a/ansible_collections/dellemc/powerflex/docs/CONTRIBUTING.md b/ansible_collections/dellemc/powerflex/docs/CONTRIBUTING.md index 9c45af69c..84531753a 100644 --- a/ansible_collections/dellemc/powerflex/docs/CONTRIBUTING.md +++ b/ansible_collections/dellemc/powerflex/docs/CONTRIBUTING.md @@ -10,7 +10,7 @@ You may obtain a copy of the License at # How to contribute -Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](https://github.com/dell/ansible-powerflex/blob/2.3.0/CODE_OF_CONDUCT.md). +Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](https://github.com/dell/ansible-powerflex/blob/2.4.0/CODE_OF_CONDUCT.md). ## Table of contents @@ -76,7 +76,7 @@ Triage helps ensure that issues resolve quickly by: If you don't have the knowledge or time to code, consider helping with _issue triage_. The Ansible modules for Dell PowerFlex community will thank you for saving them time by spending some of yours. -Read more about the ways you can [Triage issues](https://github.com/dell/ansible-powerflex/blob/2.3.0/ISSUE_TRIAGE.md). +Read more about the ways you can [Triage issues](https://github.com/dell/ansible-powerflex/blob/2.4.0/ISSUE_TRIAGE.md). ## Your first contribution @@ -89,7 +89,7 @@ When you're ready to contribute, it's time to create a pull request. ## Branching -* [Branching Strategy for Ansible modules for Dell PowerFlex](https://github.com/dell/ansible-powerflex/blob/2.3.0/BRANCHING.md) +* [Branching Strategy for Ansible modules for Dell PowerFlex](https://github.com/dell/ansible-powerflex/blob/2.4.0/BRANCHING.md) ## Signing your commits @@ -144,7 +144,7 @@ Make sure that the title for your pull request uses the same format as the subje ### Quality gates for pull requests -GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will look into the check log, understand the problem and resolve the issue. If help is needed, please feel free to reach out the maintainers of the project for [support](https://github.com/dell/ansible-powerflex/blob/2.3.0/SUPPORT.md). +GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will look into the check log, understand the problem and resolve the issue. If help is needed, please feel free to reach out the maintainers of the project for [support](https://github.com/dell/ansible-powerflex/blob/2.4.0/SUPPORT.md). #### Code sanitization diff --git a/ansible_collections/dellemc/powerflex/docs/INSTALLATION.md b/ansible_collections/dellemc/powerflex/docs/INSTALLATION.md index 1aed4d367..c2b8df3ba 100644 --- a/ansible_collections/dellemc/powerflex/docs/INSTALLATION.md +++ b/ansible_collections/dellemc/powerflex/docs/INSTALLATION.md @@ -41,7 +41,7 @@ You may obtain a copy of the License at * Download the latest tar build from any of the available distribution channel [Ansible Galaxy](https://galaxy.ansible.com/dellemc/powerflex) /[Automation Hub](https://console.redhat.com/ansible/automation-hub/repo/published/dellemc/powerflex) and use this command to install the collection anywhere in your system: - ansible-galaxy collection install dellemc-powerflex-2.3.0.tar.gz -p <install_path> + ansible-galaxy collection install dellemc-powerflex-2.4.0.tar.gz -p <install_path> * Set the environment variable: @@ -68,7 +68,7 @@ You may obtain a copy of the License at ## Ansible modules execution -The Ansible server must be configured with Python library for PowerFlex to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/) provide information on different Ansible modules along with their functions and syntax. The parameters table in the Product Guide provides information on various parameters which needs to be configured before running the modules. +The Ansible server must be configured with Python library for PowerFlex to run the Ansible playbooks. The [Documents](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/) provide information on different Ansible modules along with their functions and syntax. The parameters table in the Product Guide provides information on various parameters which needs to be configured before running the modules. ## SSL certificate validation diff --git a/ansible_collections/dellemc/powerflex/docs/ISSUE_TRIAGE.md b/ansible_collections/dellemc/powerflex/docs/ISSUE_TRIAGE.md index 939aca18d..50d4665ef 100644 --- a/ansible_collections/dellemc/powerflex/docs/ISSUE_TRIAGE.md +++ b/ansible_collections/dellemc/powerflex/docs/ISSUE_TRIAGE.md @@ -43,8 +43,8 @@ Should explain what happened, what was expected and how to reproduce it together - Ansible Version: [e.g. 2.14] - Python Version [e.g. 3.11] - - Ansible modules for Dell PowerFlex Version: [e.g. 2.3.0] - - PowerFlex SDK version: [e.g. PyPowerFlex 1.10.0] + - Ansible modules for Dell PowerFlex Version: [e.g. 2.4.0] + - PowerFlex SDK version: [e.g. PyPowerFlex 1.11.0] - Any other additional information... #### Feature requests diff --git a/ansible_collections/dellemc/powerflex/docs/MAINTAINER_GUIDE.md b/ansible_collections/dellemc/powerflex/docs/MAINTAINER_GUIDE.md index b6efdd20b..5f982c2f9 100644 --- a/ansible_collections/dellemc/powerflex/docs/MAINTAINER_GUIDE.md +++ b/ansible_collections/dellemc/powerflex/docs/MAINTAINER_GUIDE.md @@ -27,7 +27,7 @@ If a candidate is approved, a Maintainer contacts the candidate to invite them t ## Maintainer policies * Lead by example -* Follow the [Code of Conduct](https://github.com/dell/ansible-powerflex/blob/2.3.0/CODE_OF_CONDUCT.md) and the guidelines in the [Contributing](https://github.com/dell/ansible-powerflex/blob/2.3.0/CONTRIBUTING.md) and [Committer](https://github.com/dell/ansible-powerflex/blob/2.3.0/COMMITTER_GUIDE.md) guides +* Follow the [Code of Conduct](https://github.com/dell/ansible-powerflex/blob/2.4.0/CODE_OF_CONDUCT.md) and the guidelines in the [Contributing](https://github.com/dell/ansible-powerflex/blob/2.4.0/CONTRIBUTING.md) and [Committer](https://github.com/dell/ansible-powerflex/blob/2.4.0/COMMITTER_GUIDE.md) guides * Promote a friendly and collaborative environment within our community * Be actively engaged in discussions, answering questions, updating defects, and reviewing pull requests * Criticize code, not people. Ideally, tell the contributor a better way to do what they need. diff --git a/ansible_collections/dellemc/powerflex/docs/Release Notes.md b/ansible_collections/dellemc/powerflex/docs/Release Notes.md index e9c5f24c2..1a2552326 100644 --- a/ansible_collections/dellemc/powerflex/docs/Release Notes.md +++ b/ansible_collections/dellemc/powerflex/docs/Release Notes.md @@ -1,6 +1,6 @@ **Ansible Modules for Dell Technologies PowerFlex** ========================================= -### Release notes 2.3.0 +### Release notes 2.4.0 > © 2024 Dell Inc. or its subsidiaries. All rights reserved. Dell > and other trademarks are trademarks of Dell Inc. or its @@ -28,7 +28,7 @@ Table 1. Revision history | Revision | Date | Description | |----------|-----------------|-------------------------------------------------------------| -| 01 | March 2024 | Current release of Ansible Modules for Dell PowerFlex 2.3.0 | +| 01 | April 2024 | Current release of Ansible Modules for Dell PowerFlex 2.4.0 | Product description ------------------- @@ -44,6 +44,7 @@ each of the entities. New features and enhancements ----------------------------- Along with the previous release deliverables, this release supports following features - +- Added support for executing Ansible PowerFlex modules and roles on AWS environment. - Added support for resource group provisioning to validate, deploy, edit, add nodes and delete a resource group. - The Info module is enhanced to list out all the firmware repository. - Added support for PowerFlex ansible modules and roles on Azure. @@ -62,11 +63,11 @@ Limitations Distribution ------------ The software package is available for download from the [Ansible Modules -for PowerFlex GitHub](https://github.com/dell/ansible-powerflex/tree/2.3.0) page. +for PowerFlex GitHub](https://github.com/dell/ansible-powerflex/tree/2.4.0) page. Documentation ------------- -The documentation is available on [Ansible Modules for PowerFlex GitHub](https://github.com/dell/ansible-powerflex/tree/2.3.0/docs) +The documentation is available on [Ansible Modules for PowerFlex GitHub](https://github.com/dell/ansible-powerflex/tree/2.4.0/docs) page. It includes the following: - README diff --git a/ansible_collections/dellemc/powerflex/docs/SECURITY.md b/ansible_collections/dellemc/powerflex/docs/SECURITY.md index 5ebcaa3ee..a7eab1ba4 100644 --- a/ansible_collections/dellemc/powerflex/docs/SECURITY.md +++ b/ansible_collections/dellemc/powerflex/docs/SECURITY.md @@ -12,7 +12,7 @@ You may obtain a copy of the License at The Ansible modules for Dell PowerFlex repository are inspected for security vulnerabilities via blackduck scans and static code analysis. -In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](https://github.com/dell/ansible-powerflex/blob/2.3.0/docs/CONTRIBUTING.md#Pull-requests) for more information. +In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](https://github.com/dell/ansible-powerflex/blob/2.4.0/docs/CONTRIBUTING.md#Pull-requests) for more information. ## Reporting a vulnerability diff --git a/ansible_collections/dellemc/powerflex/docs/modules/device.rst b/ansible_collections/dellemc/powerflex/docs/modules/device.rst index 4fcd82854..cbeb0f813 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/device.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/device.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/fault_set.rst b/ansible_collections/dellemc/powerflex/docs/modules/fault_set.rst index 55b9972bc..191ab73ca 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/fault_set.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/fault_set.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/info.rst b/ansible_collections/dellemc/powerflex/docs/modules/info.rst index 7b933203f..fd674804f 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/info.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/info.rst @@ -24,7 +24,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.10.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/mdm_cluster.rst b/ansible_collections/dellemc/powerflex/docs/modules/mdm_cluster.rst index babb39b6c..fa73ae5d6 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/mdm_cluster.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/mdm_cluster.rst @@ -24,7 +24,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/protection_domain.rst b/ansible_collections/dellemc/powerflex/docs/modules/protection_domain.rst index 84c640ef4..0bd532b9a 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/protection_domain.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/protection_domain.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/replication_consistency_group.rst b/ansible_collections/dellemc/powerflex/docs/modules/replication_consistency_group.rst index 76d959026..d8d144077 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/replication_consistency_group.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/replication_consistency_group.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/replication_pair.rst b/ansible_collections/dellemc/powerflex/docs/modules/replication_pair.rst index 254a2eb1d..7c883c6fd 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/replication_pair.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/replication_pair.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst b/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst index e8bdbde09..a72918d83 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/resource_group.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.10.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/sdc.rst b/ansible_collections/dellemc/powerflex/docs/modules/sdc.rst index ad375ebc7..7b0871b30 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/sdc.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/sdc.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/sds.rst b/ansible_collections/dellemc/powerflex/docs/modules/sds.rst index f5c29516f..188fe9f9a 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/sds.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/sds.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/snapshot.rst b/ansible_collections/dellemc/powerflex/docs/modules/snapshot.rst index 052453ad2..e09e80069 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/snapshot.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/snapshot.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/snapshot_policy.rst b/ansible_collections/dellemc/powerflex/docs/modules/snapshot_policy.rst index deab7f050..dd683c921 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/snapshot_policy.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/snapshot_policy.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.8.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/storagepool.rst b/ansible_collections/dellemc/powerflex/docs/modules/storagepool.rst index 76d94966d..f9f3f271f 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/storagepool.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/storagepool.rst @@ -22,7 +22,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/docs/modules/volume.rst b/ansible_collections/dellemc/powerflex/docs/modules/volume.rst index f3345a6d1..16dbf2b25 100644 --- a/ansible_collections/dellemc/powerflex/docs/modules/volume.rst +++ b/ansible_collections/dellemc/powerflex/docs/modules/volume.rst @@ -24,7 +24,7 @@ The below requirements are needed on the host that executes this module. - A Dell PowerFlex storage system version 3.6 or later. - Ansible-core 2.14 or later. -- PyPowerFlex 1.9.0. +- PyPowerFlex 1.11.0. - Python 3.9, 3.10 or 3.11. diff --git a/ansible_collections/dellemc/powerflex/playbooks/roles/group_vars/all b/ansible_collections/dellemc/powerflex/playbooks/roles/group_vars/all index 1031958fc..5cec51f77 100644 --- a/ansible_collections/dellemc/powerflex/playbooks/roles/group_vars/all +++ b/ansible_collections/dellemc/powerflex/playbooks/roles/group_vars/all @@ -1,6 +1,7 @@ powerflex_common_file_install_location: "/var/tmp" powerflex_common_esxi_files_location: "/tmp/" powerflex_common_win_package_location: "C:\\Windows\\Temp" +powerflex_gateway_disable_gpg_check: true # powerflex sdc params powerflex_sdc_driver_sync_repo_address: 'ftp://ftp.emc.com/' powerflex_sdc_driver_sync_repo_user: 'QNzgdxXix' diff --git a/ansible_collections/dellemc/powerflex/plugins/module_utils/storage/dell/utils.py b/ansible_collections/dellemc/powerflex/plugins/module_utils/storage/dell/utils.py index e3ba11971..50f41666c 100644 --- a/ansible_collections/dellemc/powerflex/plugins/module_utils/storage/dell/utils.py +++ b/ansible_collections/dellemc/powerflex/plugins/module_utils/storage/dell/utils.py @@ -86,7 +86,7 @@ def ensure_required_libs(module): module.fail_json(msg=missing_required_lib("PyPowerFlex V 1.10.0 or above"), exception=POWERFLEX_SDK_IMP_ERR) - min_ver = '1.10.0' + min_ver = '1.11.0' try: curr_version = pkg_resources.require("PyPowerFlex")[0].version supported_version = (parse_version(curr_version) >= parse_version(min_ver)) diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_config/tasks/main.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_config/tasks/main.yml index f9340f0fd..67bad8013 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_config/tasks/main.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_config/tasks/main.yml @@ -4,6 +4,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" state: "present" register: powerflex_config_mdm_ip_result @@ -13,6 +14,7 @@ ansible.builtin.set_fact: powerflex_config_array_version: "{{ powerflex_config_mdm_ip_result.mdm_cluster_details.master.versionInfo[1] }}" powerflex_config_mdm_primary_hostname: "{{ hostvars[groups['mdm'][0]]['inventory_hostname'] }}" + powerflex_config_mdm_primary_ip: "{{ hostvars[groups['mdm'][0]]['ansible_host'] }}" - name: Login to primary MDM of PowerFlex 3.6 ansible.builtin.command: scli --login --username {{ username }} --password "{{ password }}" @@ -22,8 +24,30 @@ delegate_to: "{{ powerflex_config_mdm_primary_hostname }}" when: powerflex_config_array_version == '3' -- name: Login to primary MDM of PowerFlex 4.5 - ansible.builtin.command: scli --login --username {{ username }} --management_system_ip {{ hostname }} --password "{{ password }}" +- name: Generate login certificate for PowerFlex version 4.x + block: + - name: Generate login certificate using management_system_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ hostname }} --username {{ username }} --password {{ password }} + --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_config_generate_login_certificate + changed_when: powerflex_config_generate_login_certificate.rc == 0 + delegate_to: "{{ powerflex_config_mdm_primary_hostname }}" + when: powerflex_config_array_version == '4' + rescue: + - name: Generate login certificate using primary_mdm_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ powerflex_config_mdm_primary_ip }} --username {{ username }} + --password {{ password }} --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_config_generate_login_certificate_mdm_ip + changed_when: powerflex_config_generate_login_certificate_mdm_ip.rc == 0 + delegate_to: "{{ powerflex_config_mdm_primary_hostname }}" + when: powerflex_config_array_version == '4' + +- name: Login to MDM for PowerFlex version 4.x + ansible.builtin.command: scli --login --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} run_once: true register: powerflex_config_login_output changed_when: powerflex_config_login_output.rc == 0 @@ -61,6 +85,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" storage_pool_name: "{{ powerflex_storage_pool_name }}" protection_domain_name: "{{ powerflex_protection_domain_name }}" diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_sdc/tasks/install_sdc.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_sdc/tasks/install_sdc.yml index 9b75321c3..27c82db27 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_sdc/tasks/install_sdc.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_sdc/tasks/install_sdc.yml @@ -4,6 +4,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" state: "present" register: powerflex_sdc_mdm_ip_result @@ -71,5 +72,4 @@ group: "root" notify: restart scini when: - - ansible_distribution != "VMkernel" - - " 'WindowsOS' not in ansible_distribution" + - ansible_distribution not in ['WindowsOS', 'SLES', 'VMkernel'] diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_sdr/tasks/add_sdr.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_sdr/tasks/add_sdr.yml index 1af345276..f7cbfa378 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_sdr/tasks/add_sdr.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_sdr/tasks/add_sdr.yml @@ -4,6 +4,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" state: "present" register: powerflex_sdr_mdm_ip_result @@ -39,17 +40,34 @@ no_log: true when: powerflex_sdr_array_version == "3" -- name: Login to mdm for PowerFlex version 4.x - ansible.builtin.command: > - scli --login --management_system_ip {{ hostname }} - --username admin - --password "{{ password }}" - --approve_certificate +- name: Generate login certificate for PowerFlex version 4.x + block: + - name: Generate login certificate using management_system_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ hostname }} --username {{ username }} --password {{ password }} + --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_sdr_generate_login_certificate + changed_when: powerflex_sdr_generate_login_certificate.rc == 0 + delegate_to: "{{ powerflex_sdr_mdm_primary_hostname }}" + when: powerflex_sdr_array_version != "3" + rescue: + - name: Generate login certificate using primary_mdm_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ powerflex_sdr_primary_mdm_ip }} --username {{ username }} + --password {{ password }} --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_sdr_generate_login_certificate_mdm_ip + changed_when: powerflex_sdr_generate_login_certificate_mdm_ip.rc == 0 + delegate_to: "{{ powerflex_sdr_mdm_primary_hostname }}" + when: powerflex_sdr_array_version != "3" + +- name: Login to MDM for PowerFlex version 4.x + ansible.builtin.command: scli --login --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} run_once: true - register: powerflex_initial_login + register: powerflex_sdr_login_output + changed_when: powerflex_sdr_login_output.rc == 0 delegate_to: "{{ powerflex_sdr_mdm_primary_hostname }}" - changed_when: powerflex_initial_login.rc == 0 - no_log: true when: powerflex_sdr_array_version != "3" - name: Output msg of previous task login to mdm diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_sds/tasks/install_sds.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_sds/tasks/install_sds.yml index 8887ff13c..010aee075 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_sds/tasks/install_sds.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_sds/tasks/install_sds.yml @@ -4,6 +4,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" state: "present" register: powerflex_sds_mdm_ip_result @@ -17,6 +18,7 @@ ansible.builtin.set_fact: powerflex_sds_mdm_ips: "{{ powerflex_sds_mdm_ip_result.mdm_cluster_details.mdmAddresses | join(',') }}" powerflex_sds_primary_mdm_hostname: "{{ hostvars[groups['mdm'][0]]['inventory_hostname'] }}" + powerflex_sds_primary_mdm_ip: "{{ hostvars[groups['mdm'][0]]['ansible_host'] }}" - name: Include install_powerflex.yml ansible.builtin.include_tasks: ../../powerflex_common/tasks/install_powerflex.yml @@ -35,8 +37,30 @@ ansible.builtin.set_fact: disks: "{{ powerflex_sds_disks }}" +- name: Generate login certificate for PowerFlex version 4.x + block: + - name: Generate login certificate using management_system_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ hostname }} --username {{ username }} --password {{ password }} + --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_sds_generate_login_certificate + changed_when: powerflex_sds_generate_login_certificate.rc == 0 + delegate_to: "{{ powerflex_sds_primary_mdm_hostname }}" + when: powerflex_sds_array_version != "3" + rescue: + - name: Generate login certificate using primary_mdm_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ powerflex_sds_primary_mdm_ip }} --username {{ username }} + --password {{ password }} --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_sds_generate_login_certificate_mdm_ip + changed_when: powerflex_sds_generate_login_certificate_mdm_ip.rc == 0 + delegate_to: "{{ powerflex_sds_primary_mdm_hostname }}" + when: powerflex_sds_array_version != "3" + - name: Login to MDM for PowerFlex version 4.x - ansible.builtin.command: scli --login --management_system_ip {{ hostname }} --username {{ username }} --password {{ password }} --approve_certificate + ansible.builtin.command: scli --login --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} run_once: true register: powerflex_sds_login_output changed_when: powerflex_sds_login_output.rc == 0 diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/install_tb3x.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/install_tb3x.yml index e602351da..ebb2011cc 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/install_tb3x.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/install_tb3x.yml @@ -4,6 +4,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" state: "present" register: powerflex_tb_mdm_ip_result diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/uninstall_tb.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/uninstall_tb.yml index b08bffed8..82de6e004 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/uninstall_tb.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_tb/tasks/uninstall_tb.yml @@ -29,9 +29,30 @@ when: powerflex_tb_mdm_cluster_mode[0] == "5_node" and powerflex_tb_scli_version[0] == '3' # Switch from three or five to cluster one node for PowerFlex version 4.5 -- name: Login to primary MDM node of PowerFlex version 4.5 - ansible.builtin.command: > - scli --login --management_system_ip {{ hostname }} --username {{ username }} --password {{ password }} +- name: Generate login certificate for PowerFlex version 4.x + block: + - name: Generate login certificate using management_system_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ hostname }} --username {{ username }} --password {{ password }} + --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_tb_generate_login_certificate + changed_when: powerflex_tb_generate_login_certificate.rc == 0 + delegate_to: "{{ powerflex_tb_mdm_primary_hostname }}" + when: powerflex_tb_scli_version[0] >= '4' + rescue: + - name: Generate login certificate using primary_mdm_ip + ansible.builtin.command: > + scli --generate_login_certificate --management_system_ip {{ powerflex_tb_primary_ip }} --username {{ username }} + --password {{ password }} --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} --insecure + run_once: true + register: powerflex_tb_generate_login_certificate_mdm_ip + changed_when: powerflex_tb_generate_login_certificate_mdm_ip.rc == 0 + delegate_to: "{{ powerflex_tb_mdm_primary_hostname }}" + when: powerflex_tb_scli_version[0] >= '4' + +- name: Login to MDM for PowerFlex version 4.x + ansible.builtin.command: scli --login --p12_path /opt/emc/scaleio/mdm/cfg/cli_certificate.p12 --p12_password {{ password }} run_once: true register: powerflex_tb_login_output changed_when: powerflex_tb_login_output.rc == 0 diff --git a/ansible_collections/dellemc/powerflex/roles/powerflex_webui/tasks/install_webui.yml b/ansible_collections/dellemc/powerflex/roles/powerflex_webui/tasks/install_webui.yml index 13d58ffac..71886a075 100644 --- a/ansible_collections/dellemc/powerflex/roles/powerflex_webui/tasks/install_webui.yml +++ b/ansible_collections/dellemc/powerflex/roles/powerflex_webui/tasks/install_webui.yml @@ -10,6 +10,7 @@ hostname: "{{ hostname }}" username: "{{ username }}" password: "{{ password }}" + port: "{{ port }}" validate_certs: "{{ validate_certs }}" state: present register: powerflex_webui_result diff --git a/ansible_collections/dellemc/powerflex/tests/sanity/ignore-2.18.txt b/ansible_collections/dellemc/powerflex/tests/sanity/ignore-2.18.txt new file mode 100644 index 000000000..a464e7b26 --- /dev/null +++ b/ansible_collections/dellemc/powerflex/tests/sanity/ignore-2.18.txt @@ -0,0 +1,14 @@ +plugins/modules/device.py validate-modules:missing-gplv3-license +plugins/modules/sdc.py validate-modules:missing-gplv3-license +plugins/modules/sds.py validate-modules:missing-gplv3-license +plugins/modules/snapshot.py validate-modules:missing-gplv3-license +plugins/modules/storagepool.py validate-modules:missing-gplv3-license +plugins/modules/volume.py validate-modules:missing-gplv3-license +plugins/modules/info.py validate-modules:missing-gplv3-license +plugins/modules/protection_domain.py validate-modules:missing-gplv3-license +plugins/modules/mdm_cluster.py validate-modules:missing-gplv3-license +plugins/modules/replication_consistency_group.py validate-modules:missing-gplv3-license +plugins/modules/replication_pair.py validate-modules:missing-gplv3-license +plugins/modules/snapshot_policy.py validate-modules:missing-gplv3-license +plugins/modules/fault_set.py validate-modules:missing-gplv3-license +plugins/modules/resource_group.py validate-modules:missing-gplv3-license |