-
Notifications
You must be signed in to change notification settings - Fork 6
Make ansible facts not flat #104
Comments
I'd like to discuss the yml file format and see if we can come up with a good plan for what it should look like, how the roles and playbooks use data from it, and what the method for reading/writing it should look like. I think that something like the following would be a good replacement for config.sh: faros-config.yml: network:
router:
port_forward:
- SSH to Bastion
- HTTPS to Cluster API
- HTTP to Cluster Apps
- HTTPS to Cluster Apps
- HTTPS to Cockpit Panel
lan:
network: 192.168.8.0/24
interfaces:
- eno1
- eno5
dns:
forward_resolvers:
- 10.1.1.1
dhcp:
ignore_macs:
- name: node-0-eno1
mac: da:d5:de:ad:be:ef
- name: node-0-eno2
mac: da:d5:de:ad:be:ef
- name: node-0-eno3
mac: da:d5:de:ad:be:ef
extra_reservations:
- name: wifi
mac: da:d5:de:ad:be:ef
ip: 192.168.8.127
- name: chassis
mac: da:d5:de:ad:be:ef
ip: 192.168.8.50
- name: bastion-ilo
mac: da:d5:de:ad:be:ef
ip: 192.168.8.51
- name: client
mac: da:d5:de:ad:be:ef
ip: 192.168.8.52
bastion:
become_pass: <ultrasecret>
cluster:
pull_secret: '{"auths":{"cloud.openshift.com":{"auth":"sometoken","email":"[email protected]"}}}' # etc
managerment_interface:
provider: ilo
user: Administrator
password: <ultrasecret>
nodes:
- name: node-0
mac: da:d5:de:ad:be:ef
mgmt_mac: fe:eb:da:ed:5d:ad
- name: node-1
mac: da:d5:de:ad:be:ef
mgmt_mac: fe:eb:da:ed:5d:ad
- name: node-2
mac: da:d5:de:ad:be:ef
mgmt_mac: fe:eb:da:ed:5d:ad As you move to clean up playbook organization, they could come to expect this file be located in a specific place inside the container and you could read it directly using I've seen some desire to make configuration items optional, and as long as the playbooks and roles default the inventory variables appropriately it would work well. One note is that this hierarchical structure is very nice to work with, but in the case of roles,
If you can elaborate some on the direction you're looking to take all of this, I can work on implementing. |
Also, add to the above suggested layout information about the disks.... either to the |
Currently, the structure of ansible facts is flat. They should probably be put into a structure the represents the structure of the yaml file.
The text was updated successfully, but these errors were encountered: