Using Ansible to Manage install and update Apple OSX DHCP clients
-
I got it, the config file was set to use root for the remote user, updated my config file and now I can at least access the client via IP address.
-
@DustinB3403 how are you liking ansible so far?
-
@IRJ said in Using Ansible to Manage install and update Apple OSX DHCP clients:
@DustinB3403 how are you liking ansible so far?
I'm still just getting into it. I'm not sure how playbooks work or how to confirm that the formatting is correct.
-
@DustinB3403 said in Using Ansible to Manage install and update Apple OSX DHCP clients:
@IRJ said in Using Ansible to Manage install and update Apple OSX DHCP clients:
@DustinB3403 how are you liking ansible so far?
I'm still just getting into it. I'm not sure how playbooks work or how to confirm that the formatting is correct.
-
So this is where I'm at currently with a playbook I wrote out by hand (not at all sure if it's correct).
ansible-playbook apple.yml --check ERROR! the role 'geerlineguy.homebrew' was not found in /etc/ansible/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/etc/ansible The error appears to be in '/etc/ansible/apple.yml': line 11, column 7, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: roles: - geerlineguy.homebrew ^ here
Apple yaml file
--- - name: Installing 1Password connection: network_cli gather_facts: false hosts: apple_workstations vars: homebrew_installed_packages: - 1password roles: - geerlineguy.homebrew ~
So I guess I need to add something into the roles folder under
/etc/anisble/roles
-
@DustinB3403 said in Using Ansible to Manage install and update Apple OSX DHCP clients:
ERROR! the role 'geerlineguy.homebrew' was not found in /etc/ansible/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/etc/ansible
You need to install the role
-
sudo ansible-galaxy install
-
@IRJ said in Using Ansible to Manage install and update Apple OSX DHCP clients:
sudo ansible-galaxy install
sudo ansible-galaxy install geerlingguy.homebrew [WARNING]: - geerlingguy.homebrew (2.9.0) is already installed - use --force to change version to unspecified
-
This is the galaxy page https://galaxy.ansible.com/geerlingguy/homebrew
-
Are you running this from
/etc/ansible/
? -
@IRJ yes.
-
Ok let's try this. Is your playbook only one file?
#*********************************************************** # Create or append ansible requirements file #*********************************************************** sudo sh -c "echo '- src: /etc/ansible/apple.yml' >> /etc/ansible/requirements.yml" #*********************************************************** # Install the role #*********************************************************** cd /etc/ansible/ sudo ansible-galaxy install -p roles -r /etc/ansible/requirements.yml #*********************************************************** # Run ansible playbook file #*********************************************************** sudo ansible-playbook /etc/ansible/apple.yml
-
By default it installs to
/root/.ansible/roles/geerlingguy.homebrew/
rather than into/etc/ansible/roles
So I copied the file to
/etc/ansible/roles
When running the playbook I get
ERROR! the playbook: apple.yml could not be found
-
This is the sample playbook I'm testing with.
--- - name: Installing 1Password connection: network_cli gather_facts: false hosts: apple_workstations vars: homebrew_installed_packages: - 1password roles: - geerlineguy.homebrew
This yaml file is located at
/etc/ansible/apple.yml
-
@DustinB3403 said in Using Ansible to Manage install and update Apple OSX DHCP clients:
This is the sample playbook I'm testing with.
--- - name: Installing 1Password connection: network_cli gather_facts: false hosts: apple_workstations vars: homebrew_installed_packages: - 1password roles: - geerlineguy.homebrew
This yaml file is located at
/etc/ansible/apple.yml
Try the commands I posted above
-
sudo sh -c "echo '- src: /etc/ansible/apple.yml' >> /etc/ansible/requirements.yml" [root@rocansible01 ansible]# pwd /etc/ansible [root@rocansible01 ansible]# sudo ansible-galaxy install -p roles -r /etc/ansibl e/requirements.yml [WARNING]: - /etc/ansible/apple.yml was NOT installed successfully: the file downloaded was not a tar.gz ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list. [root@rocansible01 ansible]# sudo ansible-playbook /etc/ansible/apple.yml ERROR! the role 'geerlineguy.homebrew' was not found in /etc/ansible/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ ansible/roles:/etc/ansible The error appears to be in '/etc/ansible/apple.yml': line 11, column 7, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: roles: - geerlineguy.homebrew ^ here [root@rocansible01 ansible]#
-
So even without the role (working or my lack of understanding on how to use it), Ansible is starting to look pretty damn nice. No dealing with VNC tools or ARD, sending ad-hoc commands is pretty damn simple too and would solve a large portion of the issues I forsee.
Monthly updates for example.
It would be nice to be able to run the tertiary software updates as well with brew, and I'm still figuring that part out, but this might be a long term solution.
-
Skip the roles for now just delete that from you
apple.yml
Try just this
--- - name: Installing 1Password connection: network_cli gather_facts: false hosts: apple_workstations vars: homebrew_installed_packages: - 1password
-
[WARNING]: Unable to parse /etc/ansible/x.x.x.143 as an inventory source [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' ERROR! Syntax Error while loading YAML. mapping values are not allowed in this context The error appears to be in '/etc/ansible/apple.yml': line 4, column 15, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: -name: Installing 1Password connection: network_cli ^ here
Have a syntax error, but my yaml file certainly appears correct.
--- -name: Installing 1Password connection: network_cli gather_facts: false hosts: x.x.x.143 vars: homebrew_installed_packages: - 1password
-
@DustinB3403 said in Using Ansible to Manage install and update Apple OSX DHCP clients:
[WARNING]: Unable to parse /etc/ansible/x.x.x.143 as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
ERROR! Syntax Error while loading YAML.
mapping values are not allowed in this contextThe error appears to be in '/etc/ansible/apple.yml': line 4, column 15, but may
be elsewhere in the file depending on the exact syntax problem.The offending line appears to be:
-name: Installing 1Password
connection: network_cli
^ hereHave a syntax error, but my yaml file certainly appears correct.
--- -name: Installing 1Password connection: network_cli gather_facts: false hosts: x.x.x.143 vars: homebrew_installed_packages: - 1password
-name -> - name