Skip to content

Commit

Permalink
Proxmox freenas tasks #2
Browse files Browse the repository at this point in the history
  • Loading branch information
aybarsm committed Nov 29, 2024
1 parent 0c1e600 commit f372764
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 20 deletions.
53 changes: 36 additions & 17 deletions roles/proxmox/tasks/freenas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
delegate_to: localhost

- name: Include Git Task to Clone Freenas Repo
ansible.builtin.import_role:
ansible.builtin.include_role:
name: aybarsm.helper.misc
tasks_from: git.yml
vars:
Expand All @@ -32,49 +32,68 @@
delegate_to: "{{ freenas_delegate }}"
when: proxmox__freenas__temp_dir.path is defined

- name: Include File Mgr Role to Apply Changes
ansible.builtin.import_role:
name: aybarsm.helper.misc
tasks_from: git.yml
- name: Include File Manager Role to Apply Changes
ansible.builtin.include_role:
name: aybarsm.helper.file_mgr
vars:
file_mgr__role_enabled: true
file_mgr__no_log: false
file_mgr__use_only: ['host']
file_mgr__host:
- entry__type: patch
src: "{{ proxmox__freenas__temp_dir.path }}/pve-manager/js/pvemanagerlib.js.patch"
dest: /usr/share/pve-manager/js/pvemanagerlib.js
# dest: /usr/share/pve-manager/js/pvemanagerlib.js
dest: /root/pve_freenas/pvemanagerlib.js
backup: true
remote_src: "{{ freenas_remote_src }}"
entry__handlers: restart_pve_services
- entry__type: patch
src: "{{ proxmox__freenas__temp_dir.path }}/pve-manager/js/pvemanagerlib.js.patch"
dest: /usr/share/pve-manager/js/pvemanagerlib.js
remote_src: "{{ freenas_remote_src }}"
entry__handlers: restart_pve_services
- entry__type: patch
src: "{{ proxmox__freenas__temp_dir.path }}/pve-manager/js/pvemanagerlib.js.patch"
dest: /usr/share/pve-manager/js/pvemanagerlib.js
src: "{{ proxmox__freenas__temp_dir.path }}/perl5/PVE/Storage/ZFSPlugin.pm.patch"
dest: /root/pve_freenas/ZFSasdsadsaPlugin.pm
# dest: /root/pve_freenas/ZFSPlugin.pm
# dest: /usr/share/perl5/PVE/Storage/ZFSPlugin.pm
backup: true
remote_src: "{{ freenas_remote_src }}"
entry__handlers: restart_pve_services
- entry__type: patch
src: "{{ proxmox__freenas__temp_dir.path }}/pve-manager/js/pvemanagerlib.js.patch"
dest: /usr/share/pve-manager/js/pvemanagerlib.js
src: "{{ proxmox__freenas__temp_dir.path }}/pve-docs/api-viewer/apidoc.js.patch"
# dest: /usr/share/pve-docs/api-viewer/apidoc.js
dest: /root/pve_freenas/apidoc.js
backup: true
remote_src: "{{ freenas_remote_src }}"
entry__handlers: restart_pve_services
- entry__type: copy
src: "{{ proxmox__freenas__temp_dir.path }}/perl5/PVE/Storage/LunCmd/FreeNAS.pm"
dest: /usr/share/perl5/PVE/Storage/LunCmd/FreeNAS.pm
# dest: /usr/share/perl5/PVE/Storage/LunCmd/FreeNAS.pm
dest: /root/pve_freenas/FreeNAS.pm
backup: true
remote_src: "{{ freenas_remote_src }}"
entry__handlers: restart_pve_services
- entry__type: handlers
name: restart_pve_services
condition: any
handlers: "{{ {'name': ['pvedaemon', 'pveproxy', 'pvestatd', 'pve-ha-lrm', 'pve-ha-crm']} |
aybarsm.helper.to_list_of_dicts({'entry__type': 'service', 'state': 'restarted'}) }}"
register: proxmox__freenas__patch
delegate_to: "{{ inventory_hostname if proxmox__purposes.freenas.params.remote_src | default(true) else 'localhost' }}"
when: proxmox__freenas__temp_dir.path is defined

rescue:
- name: Restate Backup Files on Error
ansible.builtin.file:
src: "{{ item.entry__task.backup_file }}"
dest: "{{ item.entry__task.dest }}"
loop: "{{ backup_files }}"
vars:
backup_files: "{{ file_mgr__items | selectattr('entry__task.backup_file', 'defined') }}"
when: backup_files | length > 0
register: proxmox__freenas__restore

always:
- name: Remove Temp Directory
ansible.builtin.file:
path: "{{ proxmox__freenas__temp_dir.path }}"
state: absent
delegate_to: "{{ freenas_delegate }}"
when: proxmox__freenas__temp_dir.path is defined


6 changes: 3 additions & 3 deletions roles/proxmox/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
# - proxmox__role_enabled
# - proxmox__remove_subscription_warning | bool

- name: Include Truenas Tasks
- name: Include Freenas Tasks
ansible.builtin.include_tasks:
file: "{{ proxmox__purposes.truenas.params.task_file }}"
file: "{{ proxmox__purposes.freenas.params.task_file }}"
when:
- proxmox__role_enabled
- proxmox__use_truenas
- proxmox__all | selectattr('entry__type', 'eq', 'purpose') | selectattr('name', 'eq', 'freenas') | length > 0

0 comments on commit f372764

Please sign in to comment.