Ensure to remove service management if deploy state is "absent"
This commit is contained in:
		
							parent
							
								
									394b2ecdb5
								
							
						
					
					
						commit
						6cb121a5ea
					
				|  | @ -8,6 +8,7 @@ | ||||||
| 
 | 
 | ||||||
| ### Enhancements | ### Enhancements | ||||||
| * Set a var to manage the state of the deployment by this role. | * Set a var to manage the state of the deployment by this role. | ||||||
|  | * Ensure to remove service management if deploy state is "absent". | ||||||
| 
 | 
 | ||||||
| ## v1.0 | ## v1.0 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -24,8 +24,6 @@ A role to manage Flexlm daemon. | ||||||
| * **flexlm__lmutil_path** : The place to store `lmutil` bin [default : `/usr/local/bin/lmutil`]. | * **flexlm__lmutil_path** : The place to store `lmutil` bin [default : `/usr/local/bin/lmutil`]. | ||||||
| * **flexlm__user_name** : Username used to launch `lmgrd` [default : `flexlm`]. | * **flexlm__user_name** : Username used to launch `lmgrd` [default : `flexlm`]. | ||||||
| * **flexlm__licences** : Lists to manage vendor daemon and licence files [default : `[]`]. | * **flexlm__licences** : Lists to manage vendor daemon and licence files [default : `[]`]. | ||||||
| * **flexlm__service_manage** : If Licence Manager service should be managed with this role [default : `True`]. |  | ||||||
| * **flexlm__service_enabled** : If Licence Manager service should be enable at startup [default : `True`]. |  | ||||||
| * **flexlm__service_unit_content** : Template used to generate the previous file [default : `etc/systemd/system/flexlm.service.j2`]. | * **flexlm__service_unit_content** : Template used to generate the previous file [default : `etc/systemd/system/flexlm.service.j2`]. | ||||||
| 
 | 
 | ||||||
| ## Example Playbook | ## Example Playbook | ||||||
|  |  | ||||||
|  | @ -26,17 +26,62 @@ flexlm__required_packages: | ||||||
| flexlm__deploy_state: 'present' | flexlm__deploy_state: 'present' | ||||||
|                                                                    # ]]] |                                                                    # ]]] | ||||||
|                                                                    # ]]] |                                                                    # ]]] | ||||||
|  | # Server configuration [[[ | ||||||
|  | # ------------------------ | ||||||
| 
 | 
 | ||||||
| # bin | # .. envvar:: flexlm__lmgrd_version [[[ | ||||||
|  | # | ||||||
|  | # Specifies the version of ``lmgrd`` daemon. | ||||||
|  | # Use to differentiate lmgrd on multiple versions in case of incompatibility with a vendor daemon binary. | ||||||
|  | # | ||||||
|  | # A symlink will be create to ``lmgrd`` daemon to have a simpler name. | ||||||
|  | # | ||||||
| flexlm__lmgrd_version: '11.14.0.1' | flexlm__lmgrd_version: '11.14.0.1' | ||||||
| flexlm__lmgrd_source: 'usr/local/bin/lmgrd' | 
 | ||||||
|  |                                                                    # ]]] | ||||||
|  | # .. envvar:: flexlm__lmgrd_path [[[ | ||||||
|  | # | ||||||
|  | # Path to store ``lmgrd`` daemon. | ||||||
| flexlm__lmgrd_path: '/usr/local/bin/lmgrd' | flexlm__lmgrd_path: '/usr/local/bin/lmgrd' | ||||||
| flexlm__lmutil_source: 'usr/local/bin/lmutil' | 
 | ||||||
|  |                                                                    # ]]] | ||||||
|  | # .. envvar:: flexlm__lmgrd_source [[[ | ||||||
|  | # | ||||||
|  | # Path where ``lmgrd`` daemon source is stored. | ||||||
|  | flexlm__lmgrd_source: 'usr/local/bin/lmgrd' | ||||||
|  | 
 | ||||||
|  |                                                                    # ]]] | ||||||
|  | # .. envvar:: flexlm__lmutil_path [[[ | ||||||
|  | # | ||||||
|  | # Path to store ``lmutil`` daemon. | ||||||
| flexlm__lmutil_path: '/usr/local/bin/lmutil' | flexlm__lmutil_path: '/usr/local/bin/lmutil' | ||||||
| 
 | 
 | ||||||
| # user |                                                                    # ]]] | ||||||
|  | # .. envvar:: flexlm__lmutil_source [[[ | ||||||
|  | # | ||||||
|  | # Path where ``lmutil`` daemon source is stored. | ||||||
|  | flexlm__lmutil_source: 'usr/local/bin/lmutil' | ||||||
|  | 
 | ||||||
|  |                                                                    # ]]] | ||||||
|  | # .. envvar:: flexlm__user_name [[[ | ||||||
|  | # | ||||||
|  | # The user under which FlexLM daemons are running during normal operation. | ||||||
| flexlm__user_name: 'flexlm' | flexlm__user_name: 'flexlm' | ||||||
| 
 | 
 | ||||||
|  |                                                                    # ]]] | ||||||
|  | # .. envvar:: apache__service_name [[[ | ||||||
|  | # | ||||||
|  | # The name of the Apache service. | ||||||
|  | flexlm__service_manage: True | ||||||
|  | 
 | ||||||
|  |                                                                    # ]]] | ||||||
|  |                                                                    # ]]] | ||||||
|  | 
 | ||||||
|  | # service | ||||||
|  | flexlm__service_enabled: True | ||||||
|  | flexlm__service_unit_content: 'etc/systemd/system/flexlm.service.j2' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # Lists to manage vendor daemon and licence files. | # Lists to manage vendor daemon and licence files. | ||||||
| # flexlm_licences: | # flexlm_licences: | ||||||
| #   - name: matlab | #   - name: matlab | ||||||
|  | @ -49,9 +94,4 @@ flexlm__user_name: 'flexlm' | ||||||
| #     ports: [ '27000', '33188' ] # not used right now | #     ports: [ '27000', '33188' ] # not used right now | ||||||
| flexlm__licences: [] | flexlm__licences: [] | ||||||
| 
 | 
 | ||||||
| # service |  | ||||||
| flexlm__service_manage: True |  | ||||||
| flexlm__service_enabled: True |  | ||||||
| flexlm__service_unit_content: 'etc/systemd/system/flexlm.service.j2' |  | ||||||
| 
 |  | ||||||
|                                                                    # ]]] |                                                                    # ]]] | ||||||
|  |  | ||||||
|  | @ -3,8 +3,7 @@ | ||||||
| - name: restart flexlm services | - name: restart flexlm services | ||||||
|   service: |   service: | ||||||
|     name: '{{ "flexlm-" + item.name }}' |     name: '{{ "flexlm-" + item.name }}' | ||||||
|     state: restarted |     state: '{{ "restarted" if (flexlm__deploy_state == "present" and (item.service | d(True)) else "stopped" }}' | ||||||
|   with_flattened: |   with_flattened: | ||||||
|     - '{{ flexlm__licences }}' |     - '{{ flexlm__licences }}' | ||||||
|   when: ( flexlm__service_manage and | 
 | ||||||
|         ( item.service | d(True) )) |  | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ | ||||||
|     createhome: False |     createhome: False | ||||||
|     system: True |     system: True | ||||||
| 
 | 
 | ||||||
| # bin {{{ | # lmgrd and lmutil binaries [[[1 | ||||||
| - name: Add lmgrd bin | - name: Add lmgrd bin | ||||||
|   copy: |   copy: | ||||||
|     src: '{{ flexlm__lmgrd_source + "." + flexlm__lmgrd_version }}' |     src: '{{ flexlm__lmgrd_source + "." + flexlm__lmgrd_version }}' | ||||||
|  | @ -44,9 +44,7 @@ | ||||||
|     group: '{{ flexlm__user_name }}' |     group: '{{ flexlm__user_name }}' | ||||||
|     mode: 0755 |     mode: 0755 | ||||||
| 
 | 
 | ||||||
| # }}} | # VENDOR and licence [[[1 | ||||||
| 
 |  | ||||||
| # VENDOR and licence {{{ |  | ||||||
| - name: Add VENDOR DAEMON | - name: Add VENDOR DAEMON | ||||||
|   copy: |   copy: | ||||||
|     src: '{{ item.bin_src }}' |     src: '{{ item.bin_src }}' | ||||||
|  | @ -71,9 +69,7 @@ | ||||||
|   when: (item.lic_src|d()) |   when: (item.lic_src|d()) | ||||||
|   notify: ['restart flexlm services'] |   notify: ['restart flexlm services'] | ||||||
| 
 | 
 | ||||||
| # }}} | # Manage services [[[1 | ||||||
| 
 |  | ||||||
| # service {{{ |  | ||||||
| 
 | 
 | ||||||
| - name: Add systemd unit | - name: Add systemd unit | ||||||
|   template: |   template: | ||||||
|  | @ -82,27 +78,34 @@ | ||||||
|     owner: 'root' |     owner: 'root' | ||||||
|     group: 'root' |     group: 'root' | ||||||
|     mode: '0644' |     mode: '0644' | ||||||
|   register: flexlm__register_systemd_service |   register: flexlm__register_service | ||||||
|   notify: ['restart flexlm services'] |   notify: ['restart flexlm services'] | ||||||
|   with_flattened: |   with_flattened: | ||||||
|     - '{{ flexlm__licences }}' |     - '{{ flexlm__licences }}' | ||||||
|   when: ( flexlm__service_manage and |   when: ( (flexlm__deploy_state == "present") and | ||||||
|         ( item.service | d(True) )) |         ( item.service | d(True) )) | ||||||
| 
 | 
 | ||||||
|  | - name: Purge systemd unit | ||||||
|  |   file: | ||||||
|  |     dest: '{{ "/etc/systemd/system/flexlm-" + item.name + ".service" }}' | ||||||
|  |     state: absent | ||||||
|  |   register: flexlm__register_service | ||||||
|  |   notify: ['restart flexlm services'] | ||||||
|  |   with_flattened: | ||||||
|  |     - '{{ flexlm__licences }}' | ||||||
|  |   when: ( (flexlm__deploy_state == "absent") or | ||||||
|  |         not ( item.service | d(True) | bool )) | ||||||
|  | 
 | ||||||
| - name: Reload systemd daemons | - name: Reload systemd daemons | ||||||
|   command: systemctl daemon-reload |   command: systemctl daemon-reload | ||||||
|   notify: ['restart flexlm services'] |   notify: ['restart flexlm services'] | ||||||
|   when: (flexlm__service_manage and |   when: ( flexlm__register_service|changed ) | ||||||
|          flexlm__register_systemd_service|changed) |  | ||||||
| 
 | 
 | ||||||
| - name: SERVICE manage services | - name: Manage services | ||||||
|   service: |   service: | ||||||
|     name: '{{ "flexlm-" + item.name }}' |     name: '{{ "flexlm-" + item.name }}' | ||||||
|     state: started |     state: '{{ "started" if (flexlm__deploy_state == "present" and (item.service | d(True)) else "stopped" }}' | ||||||
|     enabled: '{{ flexlm__service_enabled }}' |     enabled: '{{ item.service | d(True) | bool }}' | ||||||
|   with_flattened: |   with_flattened: | ||||||
|     - '{{ flexlm__licences }}' |     - '{{ flexlm__licences }}' | ||||||
|   when: ( flexlm__service_manage and |  | ||||||
|         ( item.service | d(True) )) |  | ||||||
| 
 | 
 | ||||||
| # }}} |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue