mirror of
https://github.com/mrlesmithjr/ansible-manage-lvm.git
synced 2026-09-04 22:48:17 +03:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b00335935 | |||
| ac014a161e | |||
| 9446ef21d6 | |||
| 97300430ad | |||
| 73db3c747c | |||
| 73b6bce608 | |||
| 098bd79154 | |||
| fddf9804dd | |||
| 506da4707e | |||
| 773ce28061 | |||
| 1bb56066fe | |||
| cb792e59a6 | |||
| 48e3be3c5c | |||
| 2492c96566 | |||
| e4bc8a9e9b | |||
| 1d57a469b0 | |||
| 19e56ac7d8 | |||
| 5c3e601078 | |||
| 535b410363 | |||
| f87c42a8c5 | |||
| 34e4f08c31 |
@@ -0,0 +1 @@
|
|||||||
|
skip_list: []
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Configuration for request-info - https://github.com/behaviorbot/request-info
|
||||||
|
|
||||||
|
# *Required* Comment to reply with
|
||||||
|
requestInfoReplyComment: >
|
||||||
|
We would appreciate it if you could provide us with more info about this issue/pr!
|
||||||
|
|
||||||
|
# *OPTIONAL* default titles to check against for lack of descriptiveness
|
||||||
|
# MUST BE ALL LOWERCASE
|
||||||
|
requestInfoDefaultTitles:
|
||||||
|
- update readme.md
|
||||||
|
- updates
|
||||||
|
|
||||||
|
# *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given
|
||||||
|
requestInfoLabelToAdd: needs-more-info
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
name-template: "v$RESOLVED_VERSION 🌈"
|
||||||
|
tag-template: "v$RESOLVED_VERSION"
|
||||||
|
categories:
|
||||||
|
- title: "🚀 Features"
|
||||||
|
labels:
|
||||||
|
- "feature"
|
||||||
|
- "enhancement"
|
||||||
|
- title: "🐛 Bug Fixes"
|
||||||
|
labels:
|
||||||
|
- "fix"
|
||||||
|
- "bugfix"
|
||||||
|
- "bug"
|
||||||
|
- title: "🧰 Maintenance"
|
||||||
|
label: "chore"
|
||||||
|
- title: "🧺 Miscellaneous" #Everything except ABAP
|
||||||
|
label: "misc"
|
||||||
|
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
||||||
|
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- "major"
|
||||||
|
minor:
|
||||||
|
labels:
|
||||||
|
- "minor"
|
||||||
|
patch:
|
||||||
|
labels:
|
||||||
|
- "patch"
|
||||||
|
default: patch
|
||||||
|
template: |
|
||||||
|
## Changes
|
||||||
|
$CHANGES
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# These settings are synced to GitHub by https://probot.github.io/apps/settings/
|
||||||
|
|
||||||
|
repository:
|
||||||
|
# See https://developer.github.com/v3/repos/#edit for all available settings.
|
||||||
|
|
||||||
|
# The name of the repository. Changing this will rename the repository
|
||||||
|
name: ansible-manage-lvm
|
||||||
|
|
||||||
|
# A short description of the repository that will show up on GitHub
|
||||||
|
description: Ansible role to manage LVM Groups/Logical Volumes
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Number of days of inactivity before an issue becomes stale
|
||||||
|
daysUntilStale: 60
|
||||||
|
# Number of days of inactivity before a stale issue is closed
|
||||||
|
daysUntilClose: 7
|
||||||
|
# Issues with these labels will never be considered stale
|
||||||
|
exemptLabels:
|
||||||
|
- pinned
|
||||||
|
- security
|
||||||
|
# Label to use when marking an issue as stale
|
||||||
|
staleLabel: wontfix
|
||||||
|
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||||
|
markComment: >
|
||||||
|
This issue has been automatically marked as stale because it has not had
|
||||||
|
recent activity. It will be closed if no further activity occurs. Thank you
|
||||||
|
for your contributions.
|
||||||
|
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||||
|
closeComment: false
|
||||||
@@ -1,41 +1,46 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
# This is a basic workflow to help you get started with Actions
|
|
||||||
|
|
||||||
name: Molecule
|
name: Molecule
|
||||||
|
|
||||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
|
||||||
# events but only for the master branch
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
|
- develop
|
||||||
|
- main
|
||||||
- master
|
- master
|
||||||
- tags/*
|
|
||||||
|
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
# The type of runner that the job will run on
|
# The type of runner that the job will run on
|
||||||
runs-on: ubuntu-latest
|
runs-on: macos-10.15
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 4
|
||||||
|
matrix:
|
||||||
|
python-version: [3.8]
|
||||||
|
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
steps:
|
steps:
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
- name: install lint prerequisite
|
submodules: recursive
|
||||||
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt -y install python3-setuptools ansible-lint
|
python -m pip install --upgrade pip
|
||||||
|
pip install -r requirements.txt -r requirements-dev.txt
|
||||||
- name: Install molecule
|
|
||||||
run: |
|
|
||||||
sudo apt update
|
|
||||||
sudo apt -y install python3-setuptools python3 python3-pip docker vagrant
|
|
||||||
sudo pip3 install wheel
|
|
||||||
sudo pip3 install molecule testinfra yamllint ansible-lint flake8 molecule-vagrant
|
|
||||||
|
|
||||||
- name: molecule lint
|
- name: molecule lint
|
||||||
run: |
|
run: |
|
||||||
molecule lint
|
molecule lint
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
name: Release Drafter
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
# branches to consider in the event; optional, defaults to all
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update_release_draft:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# Drafts your next Release notes as Pull Requests are merged into "master"
|
||||||
|
- uses: release-drafter/release-drafter@v5
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
.idea
|
.idea
|
||||||
**/__pycache__
|
**/__pycache__
|
||||||
venv/
|
.venv/
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
extends: default
|
extends: default
|
||||||
|
|
||||||
ignore: |
|
ignore: |
|
||||||
venv/
|
.venv/
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
braces:
|
braces:
|
||||||
|
|||||||
@@ -61,3 +61,17 @@ lvm_groups: []
|
|||||||
# Defines if LVM will be managed by role
|
# Defines if LVM will be managed by role
|
||||||
# default is false to ensure nothing is changed by accident.
|
# default is false to ensure nothing is changed by accident.
|
||||||
manage_lvm: false
|
manage_lvm: false
|
||||||
|
|
||||||
|
### nvme to scsi device name map binary helper
|
||||||
|
ebsnvme_binary_helper_ver: '0.1.3'
|
||||||
|
ebsnvme_binary_helper_tmp: '/tmp'
|
||||||
|
ebsnvme_binary_helper_path: '/sbin/go-ebsnvme'
|
||||||
|
|
||||||
|
### nvme to scsi device name map script helper
|
||||||
|
ebsnvme_scrip_helper_path: '/usr/local/bin/ebsnvme-id'
|
||||||
|
|
||||||
|
### auto pvresize (waiting until ansible 2.10 or above as collections have new lvg with integrated pvresize)
|
||||||
|
### waiting for new module in collection set to true or run pvresize manually on remote systems
|
||||||
|
### https://docs.ansible.com/ansible/3/collections/community/general/lvg_module.html
|
||||||
|
###
|
||||||
|
pvresize_to_max: false
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
galaxy_info:
|
galaxy_info:
|
||||||
author: Larry Smith Jr.
|
author: Larry Smith Jr.
|
||||||
description: Ansible role to manage(create, extend, resize) LVM Groups/Logical Volumes.
|
description: Ansible role to manage(create, extend, resize) LVM Groups/Logical Volumes.
|
||||||
|
namespace: mrlesmithjr
|
||||||
|
role_name: manage-lvm
|
||||||
|
|
||||||
license: MIT
|
license: MIT
|
||||||
min_ansible_version: 1.2
|
min_ansible_version: 1.2
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ driver:
|
|||||||
name: vagrant
|
name: vagrant
|
||||||
provider:
|
provider:
|
||||||
name: virtualbox
|
name: virtualbox
|
||||||
lint: yamllint . && flake8 && ansible-lint
|
lint: |
|
||||||
|
yamllint .
|
||||||
|
ansible-lint
|
||||||
|
flake8
|
||||||
platforms:
|
platforms:
|
||||||
- name: CentOS-Molecule-LVM
|
- name: CentOS-Molecule-LVM
|
||||||
box: mrlesmithjr/centos7
|
box: mrlesmithjr/centos7
|
||||||
|
|||||||
Generated
+2143
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "ansible-manage-lvm"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = ""
|
||||||
|
authors = ["Larry Smith Jr. <mrlesmithjr@gmail.com>"]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.10"
|
||||||
|
ansible = "2.9.7"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
bandit = "^1.7.1"
|
||||||
|
black = "^21.11b1"
|
||||||
|
flake8 = "^4.0.1"
|
||||||
|
mypy = "^0.910"
|
||||||
|
poetry = "^1.1.11"
|
||||||
|
pylint = "^2.11.1"
|
||||||
|
ansible-lint = "4.2.0"
|
||||||
|
yamllint = "1.23.0"
|
||||||
|
mkdocs = "^1.2.3"
|
||||||
|
autopep8 = "^1.6.0"
|
||||||
|
pycodestyle = "^2.8.0"
|
||||||
|
pip-tools = "^6.4.0"
|
||||||
|
molecule = "3.0.3"
|
||||||
|
molecule-vagrant = "0.2"
|
||||||
|
pre-commit = "^2.15.0"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core>=1.0.0"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
+112
-66
@@ -1,66 +1,112 @@
|
|||||||
ansible==2.9.7
|
ansible-lint==4.2.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||||
ansible-lint==4.2.0
|
ansible==2.9.7; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||||
arrow==0.15.5
|
arrow==1.2.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
attrs==19.3.0
|
astroid==2.8.6; python_version >= "3.6" and python_version < "4.0"
|
||||||
bcrypt==3.1.7
|
autopep8==1.6.0
|
||||||
binaryornot==0.4.4
|
backports.entry-points-selectable==1.1.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "2.7"
|
||||||
Cerberus==1.3.2
|
bandit==1.7.1; python_version >= "3.5"
|
||||||
certifi==2020.4.5.1
|
bcrypt==3.2.0; python_version >= "3.6"
|
||||||
cffi==1.14.0
|
binaryornot==0.4.4; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
chardet==3.0.4
|
black==21.11b1; python_full_version >= "3.6.2"
|
||||||
click==7.1.1
|
cachecontrol==0.12.10; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
click-completion==0.5.2
|
cachy==0.3.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
click-help-colors==0.8
|
cerberus==1.3.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
colorama==0.4.3
|
certifi==2021.10.8; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
|
||||||
cookiecutter==1.7.0
|
cffi==1.15.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
cryptography==2.9
|
cfgv==3.3.1; python_full_version >= "3.6.1"
|
||||||
distro==1.5.0
|
chardet==4.0.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
docker==4.2.0
|
charset-normalizer==2.0.7; python_full_version >= "3.6.0" and python_version >= "3"
|
||||||
entrypoints==0.3
|
cleo==0.8.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
fasteners==0.15
|
click-completion==0.5.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
flake8==3.7.9
|
click-help-colors==0.9.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
future==0.18.2
|
click==8.0.3; python_version >= "3.6" and python_full_version >= "3.6.2" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
|
||||||
idna==2.9
|
clikit==0.6.2; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
importlib-metadata==1.6.0
|
colorama==0.4.4; platform_system == "Windows" and python_version >= "3.6" and python_full_version >= "3.6.2" and python_version < "4.0" and sys_platform == "win32" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
|
||||||
Jinja2==2.11.2
|
cookiecutter==1.7.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
jinja2-time==0.2.0
|
crashtest==0.3.1; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0")
|
||||||
MarkupSafe==1.1.1
|
cryptography==36.0.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux" or python_full_version >= "3.5.0" and python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux"
|
||||||
mccabe==0.6.1
|
distlib==0.3.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
molecule==3.0.3
|
distro==1.6.0; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux" or python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux2" or sys_platform == "linux" and python_version >= "3.6" and python_full_version >= "3.4.0" or sys_platform == "linux2" and python_version >= "3.6" and python_full_version >= "3.4.0"
|
||||||
molecule-vagrant==0.2
|
fasteners==0.16.3; python_version >= "3.6"
|
||||||
monotonic==1.5
|
filelock==3.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
more-itertools==8.2.0
|
flake8==4.0.1; python_version >= "3.6"
|
||||||
packaging==20.3
|
ghp-import==2.0.2; python_version >= "3.6"
|
||||||
paramiko==2.7.1
|
gitdb==4.0.9; python_version >= "3.7"
|
||||||
pathspec==0.8.0
|
gitpython==3.1.24; python_version >= "3.7"
|
||||||
pexpect==4.8.0
|
html5lib==1.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
pluggy==0.13.1
|
identify==2.4.0; python_full_version >= "3.6.1"
|
||||||
poyo==0.5.0
|
idna==3.3; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.5"
|
||||||
ptyprocess==0.6.0
|
importlib-metadata==4.8.2; python_version >= "3.6"
|
||||||
py==1.8.1
|
isort==5.10.1; python_full_version >= "3.6.1" and python_version < "4.0" and python_version >= "3.6"
|
||||||
pycodestyle==2.5.0
|
jeepney==0.7.1; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux"
|
||||||
pycparser==2.20
|
jinja2-time==0.2.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
pyflakes==2.1.1
|
jinja2==3.0.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
PyNaCl==1.3.0
|
keyring==21.8.0; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0")
|
||||||
pyparsing==2.4.7
|
lazy-object-proxy==1.6.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.6.0"
|
||||||
pytest==5.4.1
|
lockfile==0.12.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
python-dateutil==2.8.1
|
markdown==3.3.6; python_version >= "3.6"
|
||||||
python-gilt==1.2.3
|
markupsafe==2.0.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
python-vagrant==0.5.15
|
mccabe==0.6.1; python_version >= "3.6" and python_version < "4.0"
|
||||||
PyYAML==5.3.1
|
mergedeep==1.3.4; python_version >= "3.6"
|
||||||
requests==2.23.0
|
mkdocs==1.2.3; python_version >= "3.6"
|
||||||
ruamel.yaml==0.16.10
|
molecule-vagrant==0.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||||
ruamel.yaml.clib==0.2.0
|
molecule==3.0.3; python_version >= "3.6"
|
||||||
selinux==0.2.1
|
msgpack==1.0.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
sh==1.12.14
|
mypy-extensions==0.4.3; python_full_version >= "3.6.2" and python_version >= "3.5"
|
||||||
shellingham==1.3.2
|
mypy==0.910; python_version >= "3.5"
|
||||||
six==1.14.0
|
nodeenv==1.6.0; python_full_version >= "3.6.1"
|
||||||
tabulate==0.8.7
|
packaging==20.9; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
testinfra==5.0.0
|
paramiko==2.8.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
tree-format==0.1.2
|
pastel==0.2.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
urllib3==1.25.9
|
pathspec==0.9.0; python_full_version >= "3.6.2" and python_version >= "3.6"
|
||||||
wcwidth==0.1.9
|
pbr==5.8.0; python_version >= "3.6"
|
||||||
websocket-client==0.57.0
|
pep517==0.12.0; python_version >= "3.6"
|
||||||
whichcraft==0.6.1
|
pexpect==4.8.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
yamllint==1.23.0
|
pip-tools==6.4.0; python_version >= "3.6"
|
||||||
zipp==3.1.0
|
pkginfo==1.8.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
platformdirs==2.4.0; python_version >= "3.6" and python_full_version >= "3.6.2" and python_version < "4.0" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
|
||||||
|
pluggy==0.13.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
poetry-core==1.0.7; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
poetry==1.1.11; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||||
|
poyo==0.5.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
pre-commit==2.15.0; python_full_version >= "3.6.1"
|
||||||
|
ptyprocess==0.7.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
pycodestyle==2.8.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||||
|
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
pyflakes==2.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||||
|
pylev==1.4.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
pylint==2.11.1; python_version >= "3.6" and python_version < "4.0"
|
||||||
|
pynacl==1.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||||
|
pyparsing==3.0.6; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
python-dateutil==2.8.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
python-gilt==1.2.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
python-slugify==5.0.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
python-vagrant==0.5.15; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
pywin32-ctypes==0.2.0; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "win32"
|
||||||
|
pyyaml-env-tag==0.1; python_version >= "3.6"
|
||||||
|
pyyaml==5.4.1; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
|
||||||
|
regex==2021.11.10; python_full_version >= "3.6.2"
|
||||||
|
requests-toolbelt==0.9.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
requests==2.26.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
|
||||||
|
ruamel.yaml==0.17.17; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
|
||||||
|
secretstorage==3.3.1; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux"
|
||||||
|
selinux==0.2.1; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux" or python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux2" or sys_platform == "linux" and python_version >= "3.6" and python_full_version >= "3.5.0" or sys_platform == "linux2" and python_version >= "3.6" and python_full_version >= "3.5.0"
|
||||||
|
sh==1.14.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
shellingham==1.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_version >= "3.6" and python_full_version >= "3.5.0"
|
||||||
|
six==1.16.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
smmap==5.0.0; python_version >= "3.7"
|
||||||
|
stevedore==3.5.0; python_version >= "3.6"
|
||||||
|
tabulate==0.8.9; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
text-unidecode==1.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
toml==0.10.2; python_full_version >= "3.6.1" and python_version >= "3.6" and python_version < "4.0"
|
||||||
|
tomli==1.2.2; python_version >= "3.6" and python_full_version >= "3.6.2"
|
||||||
|
tomlkit==0.7.2; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
tree-format==0.1.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
|
typing-extensions==4.0.0
|
||||||
|
urllib3==1.26.7; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4"
|
||||||
|
virtualenv==20.10.0; python_full_version >= "3.6.1"
|
||||||
|
watchdog==2.1.6; python_version >= "3.6"
|
||||||
|
webencodings==0.5.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||||
|
wrapt==1.13.3; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.5.0"
|
||||||
|
yamllint==1.23.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0")
|
||||||
|
zipp==3.6.0; python_version >= "3.6"
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
ansible-lint==4.2.0
|
ansible==2.9.7; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||||
docker==4.2.0
|
cffi==1.15.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
flake8==3.7.9
|
cryptography==36.0.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
molecule-vagrant==0.2
|
jinja2==3.0.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
molecule==3.0.3
|
markupsafe==2.0.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
testinfra==5.0.0
|
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||||
yamllint==1.23.0
|
pyyaml==5.4.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: amazon | check for nvme devices
|
||||||
|
shell: |
|
||||||
|
set -o pipefail
|
||||||
|
cat /proc/partitions | awk '{print $4}' | grep -q nvme. ; echo $?
|
||||||
|
args:
|
||||||
|
executable: /bin/bash
|
||||||
|
register: blkdev_nvme
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: amazon | check for amazon ebs devices
|
||||||
|
shell: |
|
||||||
|
set -o pipefail
|
||||||
|
lsblk -O -J | grep -qi "amazon elastic block store" ; echo $?
|
||||||
|
register: blkdev_awsebs
|
||||||
|
changed_when: false
|
||||||
|
args:
|
||||||
|
executable: /bin/bash
|
||||||
|
|
||||||
|
- name: amazon | set flag for nvme subsystem
|
||||||
|
set_fact:
|
||||||
|
device_is_nvme: "{{ true if (blkdev_nvme.stdout == '0') else false }}"
|
||||||
|
|
||||||
|
- name: amazon | set flag for aws ebs devices
|
||||||
|
set_fact:
|
||||||
|
device_is_awsebs: "{{ true if (blkdev_awsebs.stdout == '0') else false }}"
|
||||||
|
|
||||||
|
- name: Block to map renamed ec2 ebs nvmeXnY devices to their original sdX/xvdX names
|
||||||
|
when: device_is_nvme and device_is_awsebs|bool
|
||||||
|
become: true
|
||||||
|
block:
|
||||||
|
- name: amazon | download nvme mapping binary helper
|
||||||
|
get_url:
|
||||||
|
url: "{{ ebsnvme_binary_helper_url }}"
|
||||||
|
dest: "{{ ebsnvme_binary_helper_tmp }}/"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: amazon | extract binary helper
|
||||||
|
unarchive:
|
||||||
|
src: "{{ ebsnvme_binary_helper_tmp }}/{{ ebsnvme_binary_helper_file }}"
|
||||||
|
dest: "{{ ebsnvme_binary_helper_tmp }}/"
|
||||||
|
remote_src: yes
|
||||||
|
mode: 0755
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: amazon | copy binary helper
|
||||||
|
copy:
|
||||||
|
src: "{{ ebsnvme_binary_helper_tmp }}/go-ebsnvme"
|
||||||
|
dest: "{{ ebsnvme_binary_helper_path }}"
|
||||||
|
mode: a+x
|
||||||
|
remote_src: yes
|
||||||
|
|
||||||
|
- name: amazon | template script helper
|
||||||
|
template:
|
||||||
|
src: 'ebsnvme-id.j2'
|
||||||
|
dest: "{{ ebsnvme_scrip_helper_path }}"
|
||||||
|
mode: a+x
|
||||||
|
|
||||||
|
- name: amazon | template udev rule
|
||||||
|
template:
|
||||||
|
src: '70-ec2-nvme-devices.rules.j2'
|
||||||
|
dest: '/etc/udev/rules.d/70-ec2-nvme-devices.rules'
|
||||||
|
mode: 0755
|
||||||
|
register: udev_rule
|
||||||
|
|
||||||
|
- name: amazon | reload and trigger udev rules
|
||||||
|
shell:
|
||||||
|
cmd: udevadm control --reload-rules && udevadm trigger
|
||||||
|
when: udev_rule.changed
|
||||||
@@ -5,6 +5,9 @@
|
|||||||
state: present
|
state: present
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
|
- include_tasks: amazon.yml
|
||||||
|
when: ansible_facts.system_vendor == 'Amazon EC2'
|
||||||
|
|
||||||
- name: centos | installing sg3_utils
|
- name: centos | installing sg3_utils
|
||||||
package:
|
package:
|
||||||
name: sg3_utils
|
name: sg3_utils
|
||||||
@@ -45,3 +48,10 @@
|
|||||||
command: /usr/bin/rescan-scsi-bus.sh
|
command: /usr/bin/rescan-scsi-bus.sh
|
||||||
become: true
|
become: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
when: scsi_devices.stdout|length > 0
|
||||||
|
|
||||||
|
- name: centos | rescanning for resized disks
|
||||||
|
command: /usr/bin/rescan-scsi-bus.sh -s
|
||||||
|
become: true
|
||||||
|
changed_when: false
|
||||||
|
when: scsi_devices.stdout|length > 0
|
||||||
|
|||||||
@@ -9,6 +9,19 @@
|
|||||||
- vg.create is defined
|
- vg.create is defined
|
||||||
- vg.create|bool
|
- vg.create|bool
|
||||||
|
|
||||||
|
### workaround: auto pvresize waiting for upgrade to new module supporting integrated pvresize
|
||||||
|
### ref: https://docs.ansible.com/ansible/3/collections/community/general/lvg_module.html
|
||||||
|
- name: create_vg | pvresize to max available free space
|
||||||
|
command: "pvresize {{ pv }}"
|
||||||
|
loop: "{{ vg.disks | default([]) }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: pv
|
||||||
|
changed_when: false
|
||||||
|
when:
|
||||||
|
- vg.create is defined
|
||||||
|
- vg.create|bool
|
||||||
|
- pvresize_to_max|bool
|
||||||
|
|
||||||
- name: manage_lvm | loop over logical volume group(s) to create logical volumes
|
- name: manage_lvm | loop over logical volume group(s) to create logical volumes
|
||||||
include_tasks: create_lv.yml
|
include_tasks: create_lv.yml
|
||||||
loop: "{{ vg.lvnames | default([]) }}"
|
loop: "{{ vg.lvnames | default([]) }}"
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
# tasks file for ansible-manage-lvm
|
# tasks file for ansible-manage-lvm
|
||||||
- include_tasks: debian.yml
|
- include_tasks: debian.yml
|
||||||
when: ansible_os_family == "Debian"
|
when: ansible_facts.os_family == "Debian"
|
||||||
|
|
||||||
- include_tasks: centos.yml
|
- include_tasks: centos.yml
|
||||||
when: ansible_os_family == "RedHat"
|
when: ansible_facts.os_family == "RedHat"
|
||||||
|
|
||||||
- include_tasks: manage_lvm.yml
|
- include_tasks: manage_lvm.yml
|
||||||
when:
|
when:
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# ebs nvme to scsi device naming mapping
|
||||||
|
KERNEL=="nvme[0-9]*n[0-9]*", ENV{DEVTYPE}=="disk", ATTRS{model}=="Amazon Elastic Block Store", PROGRAM="{{ ebsnvme_scrip_helper_path }} /dev/%k", SYMLINK+="%c"
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# This script uses go version of ebsnvme-id to provide
|
||||||
|
# SCSI Disk device name links for nvme devices
|
||||||
|
#
|
||||||
|
# links:
|
||||||
|
#
|
||||||
|
# https://www.logicworks.com/blog/2018/03/manage-aws-ebs-volumes-c5-m5-puppet-chef-ansible/
|
||||||
|
# https://github.com/mvisonneau/go-ebsnvme
|
||||||
|
# https://gist.github.com/lbernail/d851e5b06eb32180a4b8ead2ce4f45db
|
||||||
|
# and working forks like:
|
||||||
|
# (keenan-v1/ebsnvme-id) https://gist.github.com/keenan-v1/aee92cd7383ee02de2a817a004917a03
|
||||||
|
#
|
||||||
|
|
||||||
|
{{ ebsnvme_binary_helper_path }} -n $1 | awk -F '/' '{print $3}'
|
||||||
|
|
||||||
@@ -1,2 +1,5 @@
|
|||||||
---
|
---
|
||||||
# vars file for ansible-manage-lvm
|
# vars file for ansible-manage-lvm
|
||||||
|
|
||||||
|
ebsnvme_binary_helper_file: go-ebsnvme_{{ ebsnvme_binary_helper_ver }}_linux_amd64.tar.gz
|
||||||
|
ebsnvme_binary_helper_url: https://github.com/mvisonneau/go-ebsnvme/releases/download/{{ ebsnvme_binary_helper_ver }}/{{ ebsnvme_binary_helper_file }}
|
||||||
|
|||||||
Reference in New Issue
Block a user