commit
9333b93973
@ -0,0 +1,75 @@ |
||||
|
||||
--- |
||||
- name: Get the default ipv4 address |
||||
set_fact: |
||||
besu_default_ip: >- |
||||
{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] if |
||||
hostvars[inventory_hostname]['ansible_default_ipv4']['address'] is |
||||
defined else '127.0.0.1' }} |
||||
besu_aws_private_ip: "" |
||||
besu_gcp_private_ip: "" |
||||
besu_azure_private_ip: "" |
||||
|
||||
- name: Check if running on AWS |
||||
uri: |
||||
url: http://169.254.169.254/latest/meta-data/local-ipv4 |
||||
method: GET |
||||
return_content: yes |
||||
status_code: 200 |
||||
register: aws_private_ip_output |
||||
ignore_errors: True |
||||
when: (besu_plugin_fleet_node_role=="FOLLOWER") |
||||
|
||||
- name: Set the host ip if we are in AWS |
||||
set_fact: |
||||
besu_plugin_fleet_follower_http_host: "{{ aws_private_ip_output.content }}" |
||||
when: (besu_plugin_fleet_node_role=="FOLLOWER") and |
||||
(aws_private_ip_output.status == 200) |
||||
|
||||
- name: Check if running on Azure |
||||
uri: |
||||
url: http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/privateIpAddress?api-version=2017-08-01&format=text |
||||
method: GET |
||||
headers: |
||||
Metadata: true |
||||
return_content: yes |
||||
status_code: 200 |
||||
register: azure_private_ip_output |
||||
ignore_errors: True |
||||
when: (besu_plugin_fleet_node_role=="FOLLOWER") and |
||||
( aws_private_ip_output.status != 200 ) |
||||
|
||||
- name: Set the host ip if we are in Azure |
||||
set_fact: |
||||
besu_host_ip: "{{ azure_private_ip_output.content }}" |
||||
when: (besu_plugin_fleet_node_role=="FOLLOWER") and |
||||
( aws_private_ip_output.status != 200 ) and |
||||
( azure_private_ip_output.status == 200 ) |
||||
|
||||
- name: Check if running on GCP |
||||
uri: |
||||
url: http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/ip |
||||
method: GET |
||||
headers: |
||||
Metadata-Flavor: Google |
||||
return_content: yes |
||||
status_code: 200 |
||||
register: gcp_private_ip_output |
||||
ignore_errors: True |
||||
when: (besu_plugin_fleet_node_role=="FOLLOWER") and |
||||
( aws_private_ip_output.status != 200 ) and |
||||
( azure_private_ip_output.status != 200 ) |
||||
|
||||
- name: Set the host ip if we are in GCP |
||||
set_fact: |
||||
besu_host_ip: "{{ gcp_private_ip_output.content }}" |
||||
when: ( aws_private_ip_output.status != 200 ) and |
||||
( azure_private_ip_output.status != 200 ) and |
||||
( gcp_private_ip_output == 200 ) |
||||
|
||||
- name: Fallback to the ansible default ip |
||||
set_fact: |
||||
besu_host_ip: "{{ besu_default_ip }}" |
||||
when: ( aws_private_ip_output.status != 200 ) and |
||||
( azure_private_ip_output.status != 200 ) and |
||||
( gcp_private_ip_output != 200 ) |
Loading…
Reference in new issue