ansible / ansible.builtin / v2.9.27 / module / apache2_mod_proxy Set and/or get members' attributes of an Apache httpd 2.4 mod_proxy balancer pool | "added in version" 2.2 of ansible.builtin" Authors: Olivier Boukili (@oboukili) preview | supported by communityansible.builtin.apache2_mod_proxy (v2.9.27) — module
pip
Install with pip install ansible==2.9.27
Set and/or get members' attributes of an Apache httpd 2.4 mod_proxy balancer pool, using HTTP POST and GET requests. The httpd mod_proxy balancer-member status page has to be enabled and accessible, as this module relies on parsing this page. This module supports ansible check_mode, and requires BeautifulSoup python module.
# Get all current balancer pool members' attributes: - apache2_mod_proxy: balancer_vhost: 10.0.0.2
# Get a specific member's attributes: - apache2_mod_proxy: balancer_vhost: myws.mydomain.org balancer_suffix: /lb/ member_host: node1.myws.mydomain.org
# Enable all balancer pool members: - apache2_mod_proxy: balancer_vhost: '{{ myloadbalancer_host }}' register: result
- apache2_mod_proxy: balancer_vhost: '{{ myloadbalancer_host }}' member_host: '{{ item.host }}' state: present with_items: '{{ result.members }}'
# Gracefully disable a member from a loadbalancer node: - apache2_mod_proxy: balancer_vhost: '{{ vhost_host }}' member_host: '{{ member.host }}' state: drained delegate_to: myloadbalancernode
- wait_for: host: '{{ member.host }}' port: '{{ member.port }}' state: drained delegate_to: myloadbalancernode
- apache2_mod_proxy: balancer_vhost: '{{ vhost_host }}' member_host: '{{ member.host }}' state: absent delegate_to: myloadbalancernode
tls: default: 'no' description: - Use https to access balancer management page. type: bool state: choices: - present - absent - enabled - disabled - drained - hot_standby - ignore_errors description: - Desired state of the member host. (absent|disabled),drained,hot_standby,ignore_errors can be simultaneously invoked by separating them with a comma (e.g. state=drained,ignore_errors). member_host: description: - (ipv4|ipv6|fqdn) of the balancer member to get or to set attributes to. Port number is autodetected and should not be specified here. If undefined, apache2_mod_proxy module will return a members list of dictionaries of all the current balancer pool members' attributes. balancer_vhost: description: - (ipv4|ipv6|fqdn):port of the Apache httpd 2.4 mod_proxy balancer pool. required: true validate_certs: default: 'yes' description: - Validate ssl/tls certificates. type: bool balancer_url_suffix: default: /balancer-manager/ description: - Suffix of the balancer pool url required to access the balancer pool status page (e.g. balancer_vhost[:port]/balancer_url_suffix).
member: description: specific balancer member information dictionary, returned when apache2_mod_proxy module is invoked with member_host parameter. returned: success sample: attributes: Busy: '0' Elected: '42' Factor: '1' From: 136K Load: '0' Route: null RouteRedir: null Set: '0' Status: 'Init Ok ' To: ' 47K' Worker URL: null balancer_url: http://10.10.0.2/balancer-manager/ host: 10.10.0.20 management_url: http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.20:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b path: /ws port: 8080 protocol: http status: disabled: false drained: false hot_standby: false ignore_errors: false type: dict members: description: list of member (defined above) dictionaries, returned when apache2_mod_proxy is invoked with no member_host and state args. returned: success sample: - attributes: Busy: '0' Elected: '42' Factor: '1' From: 136K Load: '0' Route: null RouteRedir: null Set: '0' Status: 'Init Ok ' To: ' 47K' Worker URL: null balancer_url: http://10.10.0.2/balancer-manager/ host: 10.10.0.20 management_url: http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.20:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b path: /ws port: 8080 protocol: http status: disabled: false drained: false hot_standby: false ignore_errors: false - attributes: Busy: '0' Elected: '42' Factor: '1' From: 136K Load: '0' Route: null RouteRedir: null Set: '0' Status: 'Init Ok ' To: ' 47K' Worker URL: null balancer_url: http://10.10.0.2/balancer-manager/ host: 10.10.0.21 management_url: http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.21:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b path: /ws port: 8080 protocol: http status: disabled: false drained: false hot_standby: false ignore_errors: false type: list