Commit 601eebe6 by Szeberényi Imre

vmdriver

parent 7b102ce3
......@@ -18,10 +18,10 @@ __pycache__/
vault_pass.txt
# Galaxy letöltött role-ok (ha nem saját fejlesztés)
roles/*/
!roles/common/
!roles/monitor-client/
!roles/nfs-client/
#roles/*/
#!roles/common/
#!roles/monitor-client/
#!roles/nfs-client/
# Lokális futtatási állományok
.ansible/
......
---
- hosts: all
become: true
roles:
- role: vmdriver
---
- name: restart libvirtd
service:
name: "libvirtd"
state: restarted
become: yes
- name: systemd daemon-reload
ansible.builtin.systemd:
daemon_reload: yes
become: yes
- name: restart monitor-client
ansible.builtin.systemd:
name: "{{ vmdriver_systemd_service }}"
state: restarted
enabled: yes
become: yes
- name: Include OS-specific vars
ansible.builtin.include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_os_family }}.yml"
- name: Ensure required packages are present
package:
name: "{{ vmdriver_packages }}"
state: present
- name: Ensure user is in libvirt group
user:
name: "{{ vmdriver_user }}"
groups: "libvirt"
append: true
- name: Configure /etc/libvirt/libvirtd.conf
lineinfile:
path: /etc/libvirt/libvirtd.conf
regexp: "^#?{{ item.key }}\\s*=.*$"
line: "{{ item.key }} = {{ item.val }}"
backrefs: false
loop:
- { key: "listen_tcp", val: "1" }
- { key: "listen_tls", val: "0" }
- { key: "auth_tcp", val: '"none"' }
notify: restart libvirtd
- name: Place udev rule for virt (if available)
copy:
src: "10.virt.rules"
dest: /etc/udev/rules.d/10.virt.rules
owner: root
group: root
mode: "0644"
when: lookup('ansible.builtin.fileglob', role_path + '/files/10.virt.rules') | length > 0
notify: reload udev
- name: Ensure libvirt serial dir exists
file:
path: /var/lib/libvirt/serial
state: directory
owner: "{{ 'qemu' if ansible_facts.os_family == 'RedHat' else 'libvirt-qemu' }}"
group: kvm
mode: "0755"
- name: Ensure Open vSwitch bridge 'cloud' exists
command: ovs-vsctl add-br cloud
args:
creates: /sys/class/net/cloud
- name: Deploy sudoers fragment (if provided)
copy:
src: "sudoers"
dest: /etc/sudoers.d/netdriver
owner: root
group: root
mode: "0600"
when: lookup('ansible.builtin.fileglob', role_path + '/files/sudoers') | length > 0
- name: Clone vmdriver repository
git:
repo: "{{ vmdriver_repo_url }}"
version: "{{ vmdriver_repo_rev }}"
dest: "{{ vmdriver_repo_dir }}"
update: false
force: false
become: true
become_user: "{{ vmdriver_user }}"
- name: Ensure virtualenv base dir exists
file:
path: "{{ vmdriver_venv_dir | dirname }}"
state: directory
owner: "{{ vmdriver_user }}"
group: "{{ vmdriver_user }}"
mode: "0755"
- name: Create Python venv
pip:
name: pip
state: latest
virtualenv: "{{ vmdriver_venv_dir }}"
virtualenv_python: python3.9
- name: Install pip requirements into venv
pip:
requirements: "{{ vmdriver_repo_dir }}/requirements/install_first.txt"
virtualenv: "{{ vmdriver_venv_dir }}"
virtualenv_python: python3.9
- name: Install Python requirements into venv
pip:
requirements: "{{ vmdriver_repo_dir }}/requirements/{{ deployment_type }}.txt"
virtualenv: "{{ vmdriver_venv_dir }}"
virtualenv_python: python3.9
- name: Install postactivate script if present
copy:
src: "postactivate"
dest: "{{ vmdriver_venv_dir }}/bin/postactivate"
owner: "{{ vmdriver_user }}"
group: "{{ vmdriver_user }}"
mode: "0700"
when: lookup('ansible.builtin.fileglob', role_path + '/files/postactivate') | length > 0
- name: Discover systemd units in repo
find:
paths: "{{ vmdriver_repo_dir }}/miscellaneous"
patterns: "*.service"
file_type: file
register: repo_units
- name: Copy systemd unit files from repo (if any)
copy:
src: "{{ item.path }}"
dest: "/etc/systemd/system/{{ item.path | basename }}"
owner: root
group: root
mode: "0644"
remote_src: true
loop: "{{ repo_units.files }}"
when: repo_units.matched | default(0) | int > 0
notify: systemd daemon-reload
- name: Enable and start requested services
systemd:
name: "{{ item }}"
enabled: true
state: started
loop: "{{ vmdriver_enable_services | default([]) }}"
when: vmdriver_init_type == "systemd"
vmdriver_packages:
- libvirt-daemon-system
- libvirt-clients
- qemu-kvm
- openvswitch-switch
---
vmdriver_user: cloud
vmdriver_repo_url: "https://git.ik.bme.hu/circle3/vmdriver.git"
vmdriver_repo_rev: "master"
vmdriver_hypervisor_type: "qemu"
vmdriver_repo_dir: "/home/{{ vmdriver_user }}/vmdriver"
vmdriver_venv_dir: "/home/{{ vmdriver_user }}/.virtualenvs/vmdriver"
# vmdriver_enable_services:
# - node.service
# - 'vmcelery@cloud.service'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment