First setup ssh with your all hosts without asking password.
ssh-copy-id
can be an easy fix.
If you have automated image creation script like packer or so you can add user public key in user's home directory.
Copy ansible_install.py script at target node and install ansible it.
Copy sudo.yml to target host and run this playbook to give user admin priviledge.
Edit all related variables in host_vars,group_vars and hosts.yml accordingly.
Run housekeeping.yml playbook.
Run puppetcluster.yml to set up puppet master and agent if the node is freebsd.
Run saltcluster.yml to install salt-master and salt-minion nodes. if the node is Ubunut/Centos.
Run r10k.yml to install r10k in puppetmaster.
Run deployment.yml to deploy environment in agent nodes.
Run saltcluster.yml to install salt-master and salt-minion nodes.
Run lxd.yml to install lxd package through snap.
ssh to the node. run cd to change to home directory.Run sudo lxd init
manually in all nodes. Currently we have only 3 compute nodes in this cluster. Therefore It will be easier for us to initial lxd this way.When we have many compute nodes we can think of preseed and and using certificate inpreseed.
Run quagga.yml against compute nodes. update all router-id in bgpd.conf file
SideNote: How to remove lxd service from a node.
sudo lxc list
sudo lxc stop <lxd_container_name>
sudo lxc delete <lxd_container_names>
sudo zfs list
sudo zfs destroy -r <pool_name>
sudo zpool list
sudo zpool destroy -f <pool_name>
sudo lxd cluster remove -f <node_name>
sudo snap remove lxd
install python on target node.
copy ansible_install.py to target node.
curl -O https://raw.githubusercontent.com/masumndc1/infrastructure/master/ansible_install.py
copy pkg_srv.yml to target node and run. to install pkg and service and etc
curl -O https://raw.githubusercontent.com/masumndc1/infrastructure/master/pkg_srv.yml
curl -O https://raw.githubusercontent.com/masumndc1/infrastructure/master/lxd_bootstrap.sh
run hosts.yml against the node to let target machine knows about all the nodes in infra
run saltcluster.yml against lxds nodes