Last active
October 30, 2018 08:04
-
-
Save davestern/8976317 to your computer and use it in GitHub Desktop.
Ansible: how to set hostname before DNS assigned
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ec2-1-2-3-4.compute-1.amazonaws.com new_hostname=new-hostname.example.com | |
ec2-5-6-7-8.compute-1.amazonaws.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# Test Playbook for debugging. | |
# ansible-playbook -i hosts-test playbook-test.yml -l <group or server name> | |
- hosts: all | |
tasks: | |
- name: "Debug hostname" | |
debug: msg="inventory_hostname={{ inventory_hostname }}, hostvars[inventory_hostname]['inventory_hostname']={{ hostvars[inventory_hostname]['inventory_hostname'] }}, ansible_hostname={{ ansible_hostname }}, new_hostname={{ new_hostname }}" | |
ignore_errors: yes | |
when: new_hostname is defined | |
- name: "set hostname fact from inventory_hostname" | |
set_fact: hostname_to_use={{ inventory_hostname }} | |
- name: "set hostname fact from user hostname if defined" | |
set_fact: hostname_to_use={{ new_hostname }} | |
when: new_hostname is defined | |
- name: "show hostname fact" | |
debug: msg="hostname_to_use={{ hostname_to_use }}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ansible-playbook -i hosts-test playbook-test.yml | |
PLAY [all] ******************************************************************** | |
GATHERING FACTS *************************************************************** | |
ok: [ec2-1-2-3-4.compute-1.amazonaws.com] | |
ok: [ec2-5-6-7-8.compute-1.amazonaws.com] | |
TASK: [Debug hostname] ******************************************************** | |
skipping: [ec2-5-6-7-8.compute-1.amazonaws.com] | |
ok: [ec2-1-2-3-4.compute-1.amazonaws.com] => { | |
"msg": "inventory_hostname=ec2-1-2-3-4.compute-1.amazonaws.com, hostvars[inventory_hostname]['inventory_hostname']=ec2-1-2-3-4.compute-1.amazonaws.com, ansible_hostname=domU-01-02-03-04-9C-CA, new_hostname=new-hostname.example.com" | |
} | |
TASK: [set hostname fact] ***************************************************** | |
ok: [ec2-1-2-3-4.compute-1.amazonaws.com] | |
ok: [ec2-5-6-7-8.compute-1.amazonaws.com] | |
TASK: [set hostname fact] ***************************************************** | |
skipping: [ec2-5-6-7-8.compute-1.amazonaws.com] | |
ok: [ec2-1-2-3-4.compute-1.amazonaws.com] | |
TASK: [show hostname fact] **************************************************** | |
ok: [ec2-5-6-7-8.compute-1.amazonaws.com] => { | |
"msg": "testvar1=ec2-5-6-7-8.compute-1.amazonaws.com" | |
} | |
ok: [ec2-1-2-3-4.compute-1.amazonaws.com] => { | |
"msg": "testvar1=new-hostname.example.com" | |
} | |
PLAY RECAP ******************************************************************** | |
ec2-1-2-3-4.compute-1.amazonaws.com : ok=5 changed=0 unreachable=0 failed=0 | |
ec2-5-6-7-8.compute-1.amazonaws.com : ok=3 changed=0 unreachable=0 failed=0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment