mirror of
https://github.com/mrlesmithjr/ansible-manage-lvm.git
synced 2026-09-02 21:50:36 +03:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b7c3cf9f75 | |||
| e423ebd56b | |||
| 9eca9e391b | |||
| 881d5d77fa | |||
| 89360e3ffe | |||
| 5267237c5e | |||
| eda544042a | |||
| c6a7034e4b | |||
| 816d44a6a1 | |||
| 883055c33f | |||
| 4697b37377 | |||
| 325c2d6240 | |||
| db21878de4 | |||
| d3256a3a5a | |||
| 6c13d12494 | |||
| dc1ad5a6f8 | |||
| 1a648317c7 | |||
| c3fea6e456 | |||
| 12c4dad6e0 |
@@ -34,67 +34,8 @@ jobs:
|
||||
sudo apt update
|
||||
sudo apt -y install python3-setuptools python3 python3-pip docker vagrant
|
||||
sudo pip3 install wheel
|
||||
sudo pip3 install docker molecule testinfra yamllint ansible-lint flake8 molecule-vagrant
|
||||
sudo pip3 install molecule testinfra yamllint ansible-lint flake8 molecule-vagrant
|
||||
|
||||
- name: molecule lint
|
||||
run: |
|
||||
molecule lint
|
||||
|
||||
molecule:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
if: "false"
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: configure keyboard layout
|
||||
run: |
|
||||
echo XKBLAYOUT='us' > /etc/default/keyboard
|
||||
|
||||
- name: install virtualization stack
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt -y install cpu-checker
|
||||
kvm-ok
|
||||
# shit happens here, containerization sucks... that was worth the try
|
||||
|
||||
- name: install virtualization stack
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
sudo apt -y install policycoreutils-python-utils qemu-kvm qemu-utils libvirt-clients libvirt-daemon-system bridge-utils python3-libvirt libnss-libvirt libguestfs-tools virtinst virt-top genisoimage libvirt-dev libvirt-bin
|
||||
|
||||
- name: install vagrant
|
||||
env:
|
||||
VAGRANT_DISABLE_STRICT_DEPENDENCY_ENFORCEMENT: 1
|
||||
run: |
|
||||
wget https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb
|
||||
sudo apt -y install ./vagrant_2.2.7_x86_64.deb
|
||||
vagrant plugin install vagrant-persistent-storage
|
||||
vagrant plugin install vagrant-libvirt
|
||||
sudo groupadd --system libvirt
|
||||
sudo usermod -a -G libvirt $(whoami)
|
||||
sudo /etc/init.d/libvirtd restart
|
||||
|
||||
- name: Install molecule
|
||||
run: |
|
||||
sudo apt -y install python3-setuptools
|
||||
pip3 install molecule-vagrant wheel
|
||||
|
||||
- name: create molecule vm
|
||||
env:
|
||||
LC_ALL: C.UTF-8
|
||||
LANG: C.UTF-8
|
||||
run: |
|
||||
molecule create --scenario-name kvm
|
||||
|
||||
- name: verify
|
||||
run: |
|
||||
molecule verify
|
||||
|
||||
- name: teardown
|
||||
run: |
|
||||
molecule destroy
|
||||
|
||||
+24
-9
@@ -1,15 +1,30 @@
|
||||
---
|
||||
sudo: required
|
||||
dist: bionic
|
||||
|
||||
language: python
|
||||
services:
|
||||
- docker
|
||||
python:
|
||||
- "3.8"
|
||||
|
||||
before_install:
|
||||
- sudo apt-get -qq update
|
||||
install:
|
||||
- pip3 install -r requirements.txt
|
||||
- ansible --version
|
||||
- molecule --version
|
||||
- |
|
||||
sudo apt -y install bridge-utils dnsmasq-base ebtables libvirt-bin libvirt-dev qemu-kvm qemu-utils ruby-dev
|
||||
|
||||
- |
|
||||
wget https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb
|
||||
sudo apt -y install ./vagrant_2.2.7_x86_64.deb
|
||||
sudo vagrant plugin install vagrant-libvirt
|
||||
|
||||
- |
|
||||
sudo apt-get -y purge python3-openssl && sudo apt-get -y autoremove
|
||||
sudo apt-get update && sudo apt-get install -y ca-certificates curl gcc iproute2 python3 python3-dev sudo
|
||||
curl -skL https://bootstrap.pypa.io/get-pip.py | sudo -H python3
|
||||
sudo pip3 install wheel
|
||||
sudo pip3 install netaddr python-vagrant yamllint testinfra flake8
|
||||
sudo pip3 install ansible ansible-lint
|
||||
sudo pip3 install -I molecule molecule-vagrant
|
||||
|
||||
script:
|
||||
- molecule lint
|
||||
- |
|
||||
sudo molecule test --scenario-name kvm
|
||||
notifications:
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
||||
|
||||
@@ -1,3 +1,47 @@
|
||||
commit 881d5d77fa435ccaa026c3341d0d2ac1fb537b98
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 27 11:26:18 2020 -0400
|
||||
|
||||
Fixing syntax issue for wantlist
|
||||
|
||||
commit 89360e3ffef9ff1dbbb5ad525a7ee1d77e6b8895
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Mon Apr 27 11:16:02 2020 -0400
|
||||
|
||||
Trying to fix the subelements lookup for a single element
|
||||
|
||||
This addresses #42. Will need to do some validation testing, etc.
|
||||
|
||||
commit c6a7034e4b0b381c5c5b44a15ce7baad7eab9c1b
|
||||
Author: Charlie Mordant <cmordant1@gmail.com>
|
||||
Date: Fri Apr 24 17:22:07 2020 +0200
|
||||
|
||||
remove unused molecule env property
|
||||
|
||||
commit 883055c33f2d6b4c0df8e61ce49771c451905334
|
||||
Author: Charlie Mordant <cmordant1@gmail.com>
|
||||
Date: Thu Apr 23 19:38:35 2020 +0200
|
||||
|
||||
lint
|
||||
|
||||
commit 325c2d6240022fe17abf40dffee842ccf79543f1
|
||||
Author: Charlie Mordant <cmordant1@gmail.com>
|
||||
Date: Thu Apr 23 19:25:09 2020 +0200
|
||||
|
||||
install xfs
|
||||
|
||||
commit 4a1177e420fd9632f77d07ce0a19f89a1515f8eb
|
||||
Author: Charlie Mordant <cmordant1@gmail.com>
|
||||
Date: Tue Apr 21 19:01:29 2020 +0200
|
||||
|
||||
use xfs_info on mountpoint instead of lvm
|
||||
|
||||
commit 7fd5a8eec9f4b5110929862056ab88c4db3f14de
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Sun Apr 19 01:59:29 2020 -0400
|
||||
|
||||
Only doing a Molecule lint at this time
|
||||
|
||||
commit 7e2a076b0a8155015fd21502db860fa89a2114b3
|
||||
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
|
||||
Date: Sun Apr 19 01:44:38 2020 -0400
|
||||
|
||||
@@ -6,6 +6,10 @@ galaxy_info:
|
||||
license: MIT
|
||||
min_ansible_version: 1.2
|
||||
platforms:
|
||||
- name: fedora
|
||||
versions:
|
||||
- 31
|
||||
|
||||
- name: EL
|
||||
versions:
|
||||
- 6
|
||||
@@ -21,4 +25,5 @@ galaxy_info:
|
||||
|
||||
galaxy_tags:
|
||||
- system
|
||||
- lvm
|
||||
dependencies: []
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
filesystem: xfs
|
||||
mntp: "/var/lib/mountpoint2"
|
||||
manage_lvm: true
|
||||
|
||||
tasks:
|
||||
- name: "Include lvm"
|
||||
include_role:
|
||||
|
||||
@@ -3,11 +3,12 @@ driver:
|
||||
name: vagrant
|
||||
provider:
|
||||
name: virtualbox
|
||||
lint: yamllint . && flake8 && ansible-lint --exclude=meta
|
||||
lint: yamllint . && flake8 && ansible-lint
|
||||
platforms:
|
||||
- name: Fedora-Molecule-LVM
|
||||
box: bento/fedora-31
|
||||
# box-url: ${platform_root}/packer/bento/builds/fedora-31-x86_64.virtualbox.box
|
||||
box: fedora/31-cloud-base
|
||||
cpu: 2
|
||||
memory: 2048
|
||||
provider_override_args:
|
||||
- "persistent_storage.enabled = true"
|
||||
- "persistent_storage.location = 'molecule-lvm.vdi'"
|
||||
@@ -16,9 +17,6 @@ platforms:
|
||||
- "persistent_storage.diskdevice = '/dev/sdb'"
|
||||
provisioner:
|
||||
name: ansible
|
||||
inventory:
|
||||
group_vars:
|
||||
lvm:
|
||||
verifier:
|
||||
name: testinfra
|
||||
env:
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
- name: Converge
|
||||
hosts: all
|
||||
vars:
|
||||
lvm_groups:
|
||||
- vgname: my_vg
|
||||
disks:
|
||||
- /dev/vdb
|
||||
create: true
|
||||
lvnames:
|
||||
- lvname: my_lv
|
||||
size: 40%VG
|
||||
opts: "--wipesignatures y"
|
||||
create: true
|
||||
filesystem: ext4
|
||||
mount: true
|
||||
mntp: "/var/lib/mountpoint"
|
||||
- lvname: my_lv2
|
||||
size: 20%VG
|
||||
opts: "--wipesignatures y"
|
||||
mount: true
|
||||
create: true
|
||||
filesystem: xfs
|
||||
mntp: "/var/lib/mountpoint2"
|
||||
manage_lvm: true
|
||||
tasks:
|
||||
- name: "Include lvm"
|
||||
include_role:
|
||||
name: "ansible-manage-lvm"
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
driver:
|
||||
name: vagrant
|
||||
provider:
|
||||
name: libvirt
|
||||
lint: yamllint . && flake8 && ansible-lint
|
||||
platforms:
|
||||
- name: Fedora-Molecule-Volumes-KVM
|
||||
box: fedora/31-cloud-base
|
||||
cpu: 2
|
||||
memory: 2048
|
||||
provider_raw_config_args:
|
||||
- "storage :file, :size => '1G', :device => 'vdb'"
|
||||
provisioner:
|
||||
name: ansible
|
||||
config_options:
|
||||
defaults:
|
||||
forks: 20
|
||||
ssh_connection:
|
||||
pipelining: true
|
||||
ssh_args: -o ControlMaster=auto -o ControlPersist=600s
|
||||
verifier:
|
||||
name: testinfra
|
||||
env:
|
||||
PYTHONWARNINGS: "ignore:.*U.*mode is deprecated:DeprecationWarning"
|
||||
options:
|
||||
v: 1
|
||||
scenario:
|
||||
name: kvm
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../default/tests
|
||||
+21
-17
@@ -11,33 +11,37 @@
|
||||
state: "present"
|
||||
become: true
|
||||
|
||||
- name: centos | debug lvg
|
||||
debug:
|
||||
var: lv
|
||||
verbosity: 3
|
||||
loop: "{{ lookup('subelements', lvm_groups, 'lvnames', {'skip_missing': True}, wantlist=True) }}"
|
||||
loop_control:
|
||||
loop_var: lv
|
||||
|
||||
- name: centos | install xfs tools
|
||||
package:
|
||||
name: "xfsprogs"
|
||||
state: "present"
|
||||
become: yes
|
||||
loop: "{{ lvm_groups|subelements('lvnames') }}"
|
||||
when: >
|
||||
(
|
||||
(item.1 is defined and item.1 != 'None') and
|
||||
(
|
||||
item.1.filesystem is defined and
|
||||
item.1.filesystem == "xfs"
|
||||
)
|
||||
and
|
||||
(
|
||||
item.1.create is defined and
|
||||
item.1.create
|
||||
)
|
||||
)
|
||||
become: true
|
||||
loop: "{{ lookup('subelements', lvm_groups, 'lvnames', {'skip_missing': True}, wantlist=True) }}"
|
||||
loop_control:
|
||||
loop_var: lv
|
||||
when:
|
||||
- lv.1 is defined
|
||||
- lv.1 != "None"
|
||||
- lv.1.filesystem is defined
|
||||
- lv.1.filesystem == "xfs"
|
||||
- lv.1.create is defined
|
||||
- lv.1.create|bool
|
||||
|
||||
- name: centos | checking for scsi devices
|
||||
command: "sg_scan"
|
||||
become: true
|
||||
register: "scsi_devices"
|
||||
changed_when: False
|
||||
changed_when: false
|
||||
|
||||
- name: centos | rescanning for new disks
|
||||
command: "/usr/bin/rescan-scsi-bus.sh"
|
||||
become: true
|
||||
changed_when: False
|
||||
changed_when: false
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@
|
||||
loop_control:
|
||||
loop_var: lv
|
||||
register: mountedxfs
|
||||
ignore_errors: True
|
||||
ignore_errors: true
|
||||
changed_when: no
|
||||
when: >
|
||||
(
|
||||
|
||||
+7
-2
@@ -1,9 +1,14 @@
|
||||
---
|
||||
- debug: var=vg
|
||||
- name: "debug vg"
|
||||
debug:
|
||||
var: vg
|
||||
verbosity: 2
|
||||
|
||||
- name: "debug lvm"
|
||||
loop: "{{ vg.lvnames }}"
|
||||
debug: var=lv
|
||||
debug:
|
||||
var: lv
|
||||
verbosity: 1
|
||||
loop_control:
|
||||
loop_var: lv
|
||||
|
||||
|
||||
Reference in New Issue
Block a user