Ansible Developer Environment Tips
17:16
Crunchy Data HA Database for AAP
13:06
Event-Driven Ansible Networking
10:52
Execution Environment as Code
15:51
Ansible Windows & Linux Remediation
16:53
Ansible Constructed Inventory
7:42
Ansible Builder Version 3
13:51
Жыл бұрын
Event-Driven Ansible
13:15
Жыл бұрын
Ansible and OpenShift
13:45
Жыл бұрын
Ansible Vault
6:51
Жыл бұрын
Ansible and Terraform Together
9:34
Ansible Network Automation
13:15
Жыл бұрын
Ansible Dev Server Using Ansible
7:52
Ansible Development Server
19:23
Жыл бұрын
Ansible Execution Environments
21:49
Пікірлер
@andrewamadorchavira3705
@andrewamadorchavira3705 3 күн бұрын
Thanks for the video, I just have some question :D The certificate has to be from ansible tower? how do I get it? is this step important? Also, the servicenow user on 4:29, did you create it on ansible or ServiceNow?
@alexdworjan
@alexdworjan 3 күн бұрын
The Certificate needs to be from automation controller or the load balancer you are pointing ServiceNow at (depending on where you have TLS termination set). This is required because otherwise ServiceNow will reject the connection as an invalid cert (unless you are leveraging a public Certificate Authority). The Servicenow user is a local user I've created within Ansible. This is acting as a service account for all automation triggered from ServiceNow
@brnkstyle
@brnkstyle 26 күн бұрын
do people really have eda out on the internet? seems like bad practice security wise
@alexdworjan
@alexdworjan 26 күн бұрын
You'd only need external internet access for EDA if the application sending notifications is hosted in the cloud. Most people I've seen deploying EDA today are using internally hosted monitoring tools. But if you are using externally hosted monitoring tools (like Dynatrace or Datadog) you'd need that external access (which you've already provided outbound for those agents) or you'd need Datadog to push alerts to a messaging bus (such as Kafka) that you subscribe to from EDA. If using a webhook, you'd want to add in the API key and firewall rules to permit traffic only from the monitoring platform to EDA for security purposes
@ArchDanDan
@ArchDanDan 26 күн бұрын
Awesome Video, I am trying to put together a presentation selling your solution. I am working on getting your environment up and running in my personal AWS account. Do you have a playbook that you use to deploy your web server? How are you sending emails? Are you using an SMTP Server or AWS SES?
@alexdworjan
@alexdworjan 26 күн бұрын
The web server creation is part of the shadowman.reports roles. So as long as you are pointing to a registered RHEL8 or RHEL9 VM with the delegate_to portion of this role: github.com/shadowman-lab/shadowman.reports/tree/main/roles/build_report_linux_patch, it will ensure apache is running plus the CSS styling. For e-mail, I have a Roundcube Webmail server running locally.
@dhirajjadhav218
@dhirajjadhav218 27 күн бұрын
Please create a video tutorial on how the Ansible extension works with WSL and how to use a YAML file in extension
@alexdworjan
@alexdworjan 27 күн бұрын
Unfortunately, I don't have access to a Windows workstation with WSL. If you look at some of my other development videos, I generally use either code-server (which just runs in a web browser on a Linux VM, kzbin.info/www/bejne/eWmcYWuBiM-hbZo, kzbin.info/www/bejne/fmmskoVurLJ1orM) or the VS Code SSH extension (kzbin.info/www/bejne/aILanIWfi62Urrc) to connect to a Linux VM so I never need to install Ansible or WSL on my workstation. I do this so I can not only develop my playbooks using the Ansible plugins, but then I can also test them via CLI in a sandbox environment. While I don't have a Windows workstation, you could set up WSL, install Ansible, and then use the WSL extension for VSCode code.visualstudio.com/docs/remote/wsl. That WSL extension will work similar to the Remote SSH extension in that VSCode runs locally on your operating system, but Ansible, your playbooks, and the Ansible extension would all be installed within WSL itself
@mahmoudnjouokou9392
@mahmoudnjouokou9392 Ай бұрын
is there any video on how to learn ansible from scratch
@alexdworjan
@alexdworjan Ай бұрын
Red Hat provides a free training video: www.redhat.com/en/services/training/do007-ansible-essentials-simplicity-automation-technical-overview Learn Linux TV also has a thorough Playlist: kzbin.info?app=desktop&list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70 And I have a playlist around the development tools and setting up a developer environment: kzbin.info/www/bejne/eWmcYWuBiM-hbZo
@mahmoudnjouokou9392
@mahmoudnjouokou9392 Ай бұрын
@@alexdworjan thanks 🙏🏿
@BatoolMohamed-s5g
@BatoolMohamed-s5g Ай бұрын
hello it's Batool , junior automation specialist. I am new to ansible and I don't have someone to teach me how to advance or how everything works I need a community to refer to If I need help. please could you help me ?
@alexdworjan
@alexdworjan Ай бұрын
Red Hat provides a free video course to get you up to speed on Ansible terms: www.redhat.com/en/blog/new-free-ansible-course There is also an Ansible community website: www.ansible.com/ And newer Ansible Forums: forum.ansible.com/ Those are great places to get started but I would certainly say that hands-on experience is best. So if you can deploy Ansible and start coding, that's certainly going to be the best way to learn (for me it is at least)
@BatoolMohamed-s5g
@BatoolMohamed-s5g 18 күн бұрын
@@alexdworjan thank you alex🙏
@tenshimajor
@tenshimajor Ай бұрын
Thank you Alex!
@jg1000c
@jg1000c 2 ай бұрын
how did you actually build the reports?
@alexdworjan
@alexdworjan 2 ай бұрын
All the reports are built using jinja templates. Each report can be found here: github.com/shadowman-lab/shadowman.reports
@jg1000c
@jg1000c 2 ай бұрын
@@alexdworjan are the reports displayed in tower or need to host on web server?
@alexdworjan
@alexdworjan 2 ай бұрын
@@jg1000c They are all on a separate web server
@jg1000c
@jg1000c 2 ай бұрын
@@alexdworjan got it. Does your web server digest ansible data? How does it work?
@alexdworjan
@alexdworjan 2 ай бұрын
@@jg1000c It's just an apache web server. Ansible is used to take the data and dynamic build the web page using jinja. No actual digestion is happening on the web server. The repo that I shared has exactly how I deploy the different reports
@jg1000c
@jg1000c 2 ай бұрын
impressive
@maciejk7689
@maciejk7689 2 ай бұрын
hmmm it's not good idea to orchestrate terraform via ansible. What about plan and validations of changes ? ...
@alexdworjan
@alexdworjan 2 ай бұрын
Build that into your Pull Request review process. If you need those steps reviewed by teams, don't use the Ansible survey, only use the gitops approach where teams make changes to the main.tf. Then the code review can include plan to verify any changes prior to approval. There are many different approaches, find the one that fits into your process.
@maciejk7689
@maciejk7689 2 ай бұрын
@@alexdworjan ansible is a good tool for config management... But not for infrastructure. Better and safer is use ansible Provider on terraform code.
@alexdworjan
@alexdworjan 2 ай бұрын
It's all about using what's best for your team and organization. Since Ansible is being used for config management of all kinds of infrastructure and networking gear plus orchestration (ServiceNow, etc) some customers prefer to use the workflow capabilities of Ansible. In this case, I'm still using Terraform to provision and maintain the state of the infrastructure.
@maciejk7689
@maciejk7689 2 ай бұрын
​@@alexdworjan hmm, magic tools don't exist... Ansible was written as configuration management, nothing more.. Terraform was created as an infrastructure management... Forcing Anisble to be a tool... It wasn't designed, it's not a good idea. I've been using Terraform and Ansible for many years. Develops roles and modules. Ansible is not a good idea for managing terraforms, there are much better technologies for this.
@alexdworjan
@alexdworjan 2 ай бұрын
That's why most just use Ansible to call Terraform, not to manage Terraform. Similar to how you use the Ansible provider to have Terraform call Ansible, you can use the Terraform modules to have Ansible call Terraform. It's really about using the process that's best for you. In your case, it seems best to use Terraform.
@lemonthenderson410
@lemonthenderson410 3 ай бұрын
It would be great is you would show the actual walk through step by step. It is hard to find documentation or videos on how to enable Constructed Inventory in the drop down in AAP.
@alexdworjan
@alexdworjan 3 ай бұрын
On the Inventories page, when you click the blue Add button, Add constructed inventory will be an option. You must be on AAP 2.4 or newer for constructed inventories to exist
@lemonthenderson410
@lemonthenderson410 3 ай бұрын
@@alexdworjan Thank you for the quick reply.
@stephaneesnault
@stephaneesnault 3 ай бұрын
Hi Alex, thanks for the time used to make this clear video. Do you know is it's possible to connect to AWX ansible platform ? because AWX is free to just testing spoke ansible if we don't have ansible Tower or AAP.
@alexdworjan
@alexdworjan 3 ай бұрын
Yes, it should work with AWX as well since it's essentially making an API call from ServiceNow. As long as the endpoint matches what you have in AWX, it would work
@pallenrupp
@pallenrupp 4 ай бұрын
huh? I guess he assumes you're already an expert. Difficult to understand.
@alexdworjan
@alexdworjan 4 ай бұрын
@pallenrupp Peter, I'm sorry this video wasn't clear. I will admit, Constructed Inventories (just like Smart Inventories) are a more advanced topic that many people, including myself, barely use. Mainly, I would only use Constructed Inventories if I need to combine multiple existing inventories or if I need to divide up an inventory based on limiting access to end-users. I like to think of Constructed Inventories in exactly the same way as Dynamic Inventories. They both leverage inventory plugins with source variables (compose, groups, keyed_groups) and they both have a source. While Dynamic Inventories pull directly from a source of truth (Azure, AWS, VMWare, ServiceNow, etc), Constructed Inventories leverage existing inventories within automation controller as that source. If you are able to, I would recommend creating your own Constructed Inventory and testing it out. I found that was the easiest way for me to see how the plugin worked and what inventory would be created. Follow the doc for some good examples which is how I got started with the concept docs.ansible.com/ansible/latest/collections/ansible/builtin/constructed_inventory.html Please let me know if there is something specific that still isn't clear and I'll do my best to help.
@SylvainBourassa
@SylvainBourassa 5 ай бұрын
Superb content ! By curiosity, are you able to use Molecule with EE for testing without using a delegated/custom driver ?
@alexdworjan
@alexdworjan 5 ай бұрын
I haven't used ansible molecule as part of my testing but it does look like you can use podman to run the molecule commands if it's been installed in your EE. forum.ansible.com/t/question-about-molecule-and-creator-ee-image/3053/7 For OpenShift Dev Spaces, you can absolutely use molecule since you are essentially doing your development and testing inside your EE. Again you'd need to make sure your EE or Dev EE has molecule installed. The Ansible creator-ee already has that set up.
@Smartbeans2012
@Smartbeans2012 5 ай бұрын
How Slicing works for workflow templates
@alexdworjan
@alexdworjan 5 ай бұрын
Individual Job Templates can still have Job Slicing within a Workflow Template. It acts similarly to a workflow being called within a workflow
@user-uj8qh6hg3r
@user-uj8qh6hg3r 5 ай бұрын
i'd like to know where you store values for variables {{pah_pass}}, {{cert_key_file}}, ... and how do you inject them ?
@alexdworjan
@alexdworjan 5 ай бұрын
I've created custom credentials within automation controller and assigned them to the Job Template. They are being passed as extra variables via that custom credential
@user-uj8qh6hg3r
@user-uj8qh6hg3r 5 ай бұрын
​@@alexdworjan Okay thank you ! but I also wanted to know if the "cert_key_file" is the private key for your Execution Environment or the execution node ( so that you can push and pull to git ) ? or what else it should be ?
@alexdworjan
@alexdworjan 5 ай бұрын
@@user-uj8qh6hg3r It is the private key for my specific user in github that has been added into my account: docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account. The private key is injected into the Execution Environment at runtime to provide the authentication.
@user-uj8qh6hg3r
@user-uj8qh6hg3r 5 ай бұрын
@@alexdworjan Okay perfect ! thanks for explanation
@brokstine
@brokstine 6 ай бұрын
Looking at your videos for the last 2 years, always very informative. Thanks!
@soulofangel1990
@soulofangel1990 6 ай бұрын
This is just amazing, literally " witchcraft " for me because I'm not there yet. Could you a detailed version of this video if you have time. I would actually pay for it.
@alexdworjan
@alexdworjan 6 ай бұрын
The detailed version of each of the three options is included in the description. It has a video for exactly how I did it and the Dev Spaces version includes a detailed step-by-step Readme
@ShaneHolloman
@ShaneHolloman 7 ай бұрын
This workflow looks great and extremely helpful. Does this require a paid subscription to any services? Is there a completely free method/version of this workflow? Sorry for the obtuse questions ...
@alexdworjan
@alexdworjan 7 ай бұрын
It's a single playbook, not even a full workflow, so it could be done on the command line via ansible-navigator (or ansible-playbook), if desired. You'd only need the ee_builder role if you don't have Private Automation Hub and it does support pulling execution environments and collections from upstream
@ShaneHolloman
@ShaneHolloman 7 ай бұрын
Excellent. I was under the impression these types of roles were only available to companies paying a redhat subscription of some kind. Awesome I can go find that role and try this then. Huge thanks for your great work!
@prakashbulusu6483
@prakashbulusu6483 7 ай бұрын
Great Video Alex! Thank you so much!!
@user-tf1gk6bi3r
@user-tf1gk6bi3r 8 ай бұрын
how do u use a base image present in the vm? i dont want to access the internet for it.
@alexdworjan
@alexdworjan 8 ай бұрын
With Ansible Builder Version 3, you can use any base image kzbin.info/www/bejne/j4XXc4pop6mBe5Y
@watchman1982
@watchman1982 8 ай бұрын
Be nice to see how this is setup in Windows considering WSL must be used to install Ansible.
@alexdworjan
@alexdworjan 8 ай бұрын
If you look at some of my other development videos, I actually use either code-server (which just runs in a web browser, kzbin.info/www/bejne/eWmcYWuBiM-hbZo, kzbin.info/www/bejne/fmmskoVurLJ1orM) or the VS Code SSH extension (kzbin.info/www/bejne/aILanIWfi62Urrc) so I never need to install Ansible or WSL on my workstation. I do this so I can not only develop my playbooks using the Ansible plugins, but then I can also test them via CLI in a sandbox environment. While I don't have a Windows workstation, you could set up WSL, install Ansible, and then use the WSL extension for VSCode code.visualstudio.com/docs/remote/wsl
@watchman1982
@watchman1982 8 ай бұрын
@@alexdworjan Thank you Alex! I just found out that installing WSL is prohibited by my employer's security dept. However, we have Ansible installed on Linux boxes that I can SSH to. Are you saying the VS Code SSH extension will allow the VS Code Ansible extension to use a remote Ansible installation (including ansible-lint)?
@alexdworjan
@alexdworjan 8 ай бұрын
@@watchman1982 That's correct. When using the SSH extension, the Ansible extension installs on the Linux box so it uses Ansible + Ansible-lint that are present there (rather than what's on your laptop) which is perfect for when you can't use WSL
@watchman1982
@watchman1982 8 ай бұрын
@@alexdworjan This is awesome! Thank you for sharing and I will check out your other videos regarding the setup of this.
@rastyraheem3566
@rastyraheem3566 8 ай бұрын
thank you sir for such information , but please where we can get those files? because i could not find that main.yml file in the repo , thank you
@alexdworjan
@alexdworjan 8 ай бұрын
There are 3 different examples in the Ansible-PAH repo, build_creationee, build_shadowmandevspaces, build_shadowmanee
@rastyraheem3566
@rastyraheem3566 8 ай бұрын
thank you@@alexdworjan
@antoniofuller2331
@antoniofuller2331 8 ай бұрын
I'm a beginner to devops and it hard but manageable for now
@SV-lw8jo
@SV-lw8jo 10 ай бұрын
One aspect I do not see is the process of installing an RPM file into the environment. Do you have any info on that?
@alexdworjan
@alexdworjan 10 ай бұрын
That's what I show at 9:58 in the bindep.txt. This is where you define any system dependencies which are RPM for RHEL based systems.
@SV-lw8jo
@SV-lw8jo 9 ай бұрын
Thanks, I missed it. @@alexdworjan
@SadhamHussainsree
@SadhamHussainsree 10 ай бұрын
HI Alex,where can i find all the modules for ansible.eda? Great content.Thanks
@alexdworjan
@alexdworjan 10 ай бұрын
I go into the actual python code for the event_sources themselves. github.com/ansible/event-driven-ansible/tree/main/extensions/eda/plugins/event_source At the top of each event_source, you can find the docs
@thiagoantunes9351
@thiagoantunes9351 11 ай бұрын
wow, just looking at your video, in the company that i currently work, we use rundeck community to run ansible, i did automate our ServiceNow here, but with alot pain, since we didnt have this automation platform, so i did with javascript and rest api in the service now side, and in the rundeck side i have set webhooks for each ticket in service now, so it would trigger and have the job done. thanks for sharing buddy.
@shellcatt
@shellcatt 11 ай бұрын
Finally, some good content on the subject matter! Thank you so much!
@hackey37
@hackey37 11 ай бұрын
I will be taking a look at automating Linux patching - what patch repository management solutions are best to integrate with Ansible? Thank you for the overview (seems you might be using Satellite?).
@alexdworjan
@alexdworjan 11 ай бұрын
Correct, I am using Red Hat Satellite in my environment. Most of the patching work itself is running on the individual servers, so what repository they have set is less important. As long as the OS itself is set to pull from that repository when running yum/dnf/etc, Ansible can use it. I enjoy using Satellite because I can also manage my content views with Ansible and control when I update packages (I update my content views once a month with Ansible for my monthly patching)
@hackey37
@hackey37 11 ай бұрын
@@alexdworjan - thank you so much for the prompt feedback. One more follow up question, so our environment has RHEL, Fedora, Oracle Linux, and Ubuntu (mostly) and we currently use their "Internet" repositories (i.e. we go over Internet connection for each host to download patches) - if we wanted to localize (on our LAN and have a single repo host pull patches for each distro so that each host can pull patches from this single point rather than each going over the Internet) what solution might you recommend? It seems Satellite is a RHEL only solution unless I am mistaken. So instead of hundreds of these multi distro hosts getting patches downloaded directly to each individual host, is there a good solution to centralize patching on our LAN for each of these distros? I hope that question makes sense. We are gaining steam with Ansible but it seems like it would be important to be able to address patching for multiple Linux distros in our use case, not just RHEL. Thanks again - in short, looking for something heterogenous in the OS patch repository management arena and assuming Satellite is a RHEL only solution.
@user-sq1pj9xd8p
@user-sq1pj9xd8p Жыл бұрын
Hi Alex, great Video! I have the question how to develop the playbooks with Ansible Navigator if they have to run in AAP 2.4 afterwards. How can I use the credentials, inventories etc configured on the AAP. I can't find any integration anywhere. It seems to me that the Navigator "only" addresses the problem of running playbooks in defined environments that are reproducible. Is this even the right tool to solve this issue?
@alexdworjan
@alexdworjan Жыл бұрын
Ansible Navigator will only leverage the credentials that you have set on the VM (I have all of mine vaulted as well using ansible-vault). It isn't designed to fully replace all of the credentials that you use in production or automation controller. Personally, I only use Ansible Navigator in a sandbox environment with sandbox VMs/devices to test against, so I am using different credentials than I am using in my production environments anyway. The problem of consistent, defined environments was definitely a big one in the past, especially when you factor in all of the system, python, collection dependencies needed in ansible today. I will say Ansible Navigator is definitely the tool for CLI testing and it's what I use to test every single playbook in my sandbox before it ever reaches my repository (and then you can still run tests in automation controller at that point as well). But it is MUCH faster to do CLI testing than pushing to a repository, sync the project, run the job, find errors, make changes, and repeat. And since I know I'm using the exact same Execution Environment in controller, I'm confident the playbook itself will work exactly as I expect it to.
@user-sq1pj9xd8p
@user-sq1pj9xd8p Жыл бұрын
@@alexdworjan Thanks for the answer. Exactly what you describe I would like to avoid, because in the end everything must run on the AAP. I don't want to pack all the credentials, the inventory that was created from several sources back into var files. That makes everything much more complicated in our case. In our case we develop code, push it to a git repository and then run the test directly through the AAP. The biggest problem we have with this is that in case of a problem, debugging can be difficult, as I have no way to manually run a job template with the appropriate inventory and credentials, in a container. We have about 400 credentials, 220 machines, about 150 variables and at least 200-300 more credentials in hashicorp vault. That's why I thought it would be great to have access to the artifacts on the AAP and use them. Our solution must work from dev - prod and best without exporting stuff, because everything must be highly secure. And there is no way I can get something like that through an audit. That's why I thought I could solve the problem with the navigator.
@alexdworjan
@alexdworjan Жыл бұрын
@@user-sq1pj9xd8p I would think for most playbooks that you are writing and testing, you aren't using many of those credentials, and certainly wouldn't in a sandbox environment. This is really to limit the amount of time needed to go through pushing, syncing, job running. Especially when you are first writing a playbook, you might get a lot of errors, especially as you try to register variables and figure out what the return is in order to use the information in the remainder of the playbook. Ansible Navigator isn't designed to be a replacement for controller, it's just a way to run playbooks via CLI similar to what ansible-playbook itself provides, but just runs it within the EE now. If you need to have credentials / auditibility for every job run, then controller is your best bet. This is really focused on using a sandbox environment for the initial playbook authoring. If you can't get a sandbox environment at all for testing, then you will probably be limited to the process as you have it today. You could certainly utilize webhooks to at least automatically launch the job template after your code has been merged if you can't get a separate environment for testing.
@1computer
@1computer Жыл бұрын
i like this 🙂 Great job
@ericames-xs4fh
@ericames-xs4fh Жыл бұрын
Thanks for the video!!
@aminejawadi6293
@aminejawadi6293 Жыл бұрын
Thanks for the video im trying to build an execution-environment where the requirements.txt have the python3 package to install but im having this error ( could not find a version that satisfies the requirements.txt no matching distrubition found) im using ansible automation platform 2.2
@alexdworjan
@alexdworjan Жыл бұрын
Is that a custom requirements.txt that you've created or is that part of a collection you are trying to install? If it's custom, I would verify that particular python package version exists in the python version in the EE you are using
@aminejawadi6293
@aminejawadi6293 Жыл бұрын
yes its a custom requirements.txt that i created i just modified the container file and it builds but now how can i know if my customised execution-environment contains the package thanks in advance
@alexdworjan
@alexdworjan Жыл бұрын
If you use ansible navigator, you can inspect the EE and find all system packages and python libraries that are installed
@aminejawadi6293
@aminejawadi6293 Жыл бұрын
@@alexdworjan thank you for you help , i succeeded to modify the containerfile in a way to insall my X python package in the system packages but not in the python one my question is will the ee use it anyway when needed thanks
@pinkfluffyunicorns345
@pinkfluffyunicorns345 17 күн бұрын
@@aminejawadi6293having issues with pip installing bindep. Any ideas
@marlonramanan2280
@marlonramanan2280 Жыл бұрын
Hi Alex, I enjoyed your video. My aim is to use Ansible to leverage doing system administration for Windows systems. Where I am from, IT budgets are not large and we leverage older machines (12 to 15 years old even) with a supported Windows 10 OS. My question to you is that do you foresee issues where ansible may not be able to manage these type of machines properly? I've been having a challenge in my production environment (with new windows machines to older machines) where I use ansible- where if I use simple playbooks to do a ping for example, I get successful responses. However, if I rerun that ping playbook (with win_ping module) soon after, I get different results (non ok) even those machines are still online! When I run more complex playbooks( For example, using Powershell (win_shell)to gather hardware information for the hosts: CPU info, RAM, HDD info etc), I get a lot of unreachable = 1 errors (ok=1 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0). Success looks like this (ok=9 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 )This is confusing to me, that sometimes connection is good, but then it's unreachable. Our backend network is Gigabit Ethernet and certified as well! Looking for ideas. I'm using certificate based auth with winrm. I do have the issue documented in a forum but I don't think comments allows me to post links. Thanks for any advice!
@alexdworjan
@alexdworjan Жыл бұрын
docs.ansible.com/ansible/latest/os_guide/windows_setup.html#host-requirements I am assuming you are talking about Windows Servers not Windows Desktops (desktops tend to have more connection issues, especially laptops since the network connectivity isn't permanent). If you are talking about Windows Servers, I would verify your connection settings (ensuring WinRM and all of your settings are set properly, and that you aren't receiving any certificate errors). I would also look at the specific error the playbook is giving you. The exact module you are trying to run will give you more details about what's going on (you can also increase the verbosity of your playbook to get better connection debugging information). I would start there to get a better idea of what issues you might be facing.
@marlonramanan2280
@marlonramanan2280 Жыл бұрын
@@alexdworjan Thank you for your reply. They are all Windows 10 and 11 Professional Desktops. I understand where you are coming from. My hope is that Ansible can still be a great tool for managing Desktop devices -and that once there are ways to ensure desktops are on and connected (via Wake-on-LAN etc), ansible can service them properly! I will explore the resources you have provided and dig deeper!
@Mandalorx10
@Mandalorx10 Жыл бұрын
This channel is just pure gold
@hellfire47
@hellfire47 Жыл бұрын
Very informative. Thanks!
@shanecummins253
@shanecummins253 Жыл бұрын
HI Alex currently we have a work flow that deploys Vm's adds the Vm to the domain install software etc.. but is it poosible to trigger a work flow from a SNOW catalgo request ? thanks Shane
@alexdworjan
@alexdworjan Жыл бұрын
That's actually what most of my catalog items are triggering. I had to modify the spoke plugin to make it work github.com/shadowman-lab/Ansible-SNOW/tree/main/SNOWSetup#update-spoke-actions-for-workflow-job-templates
@MrAniteshlal
@MrAniteshlal Жыл бұрын
Thanks a lot Alex for this tutorial. It's very helpful. If time permits, can you please do a demo how to setup code-server to be used by multiple users? Thanks in advance.
@alexdworjan
@alexdworjan Жыл бұрын
I would check out my other code-server video: kzbin.info/www/bejne/fmmskoVurLJ1orM This uses an Ansible playbook to set everything up (essentially I assign a different port and start the service as a different user)
@kerrymason6371
@kerrymason6371 Жыл бұрын
Thanks Alex for the video! can you explain what you had to do for the certificate - this is at about 2:43 into the video is what I am referring to thank you!
@alexdworjan
@alexdworjan Жыл бұрын
So that's just using the SSL certificate that I had already attached to my controller instances (/etc/tower/tower.cert). So this should come from your certificate authority (I see LetsEncrypt used often, but your business should already have something established). For it to properly work in ServiceNow, you'll need the full SSL certificate chain in controller and then uploaded to ServiceNow as I show at that portion of the video
@kerrymason6371
@kerrymason6371 Жыл бұрын
@@alexdworjan we use the containerized solution I think that would change how we use the certificate correct?
@alexdworjan
@alexdworjan Жыл бұрын
@@kerrymason6371 The certificate itself would still be generated in the same way, but it wouldn't be in the same location since you'd create a TLS secret and then update your automation controller CR with route_tls_secret under spec pointing to the TLS secret you just created: access.redhat.com/solutions/3109871
@alexal4
@alexal4 Жыл бұрын
Hi Alex, could you please tell where can I find alertmanager.yml example to round alerts to eda controller?
@alexdworjan
@alexdworjan 5 ай бұрын
github.com/shadowman-lab/Ansible-Labextra/blob/main/roles/prometheus/templates/alertmanager.yml.j2
@alexal4
@alexal4 Жыл бұрын
Hi, How you creating Application? Which options to use? It is two options available, not sure which exactly should be used?
@alexdworjan
@alexdworjan Жыл бұрын
I created an application with the Authorization Code grant type and Confidential Client Type. docs.ansible.com/automation-controller/latest/html/userguide/applications_auth.html#create-a-new-application
@alexal4
@alexal4 Жыл бұрын
@@alexdworjan Thanks Alex. I tried both options, but getting application error. I will try it tonight again. Using version 2.4.1. It there some more verbose logs to find out what happening? Will be looking tonight for logs too.
@alexdworjan
@alexdworjan Жыл бұрын
@@alexal4 An application error in automation controller? Or in EDA controller? And version 2.4.1 of what exactly? I would make sure the user you've created the token for has access to the Job Templates you are trying to run and that the token itself has write access.
@alexal4
@alexal4 Жыл бұрын
@@alexdworjan Error in EDA controller, nothing seen on AAP2 controller. I am using latest AAP2 bundle 2.4.1 Need to check few thing tonight so it is not a template and I am using admin so no access issue. If it was template I would see something in jobs dashboard. I have small lab at home with Grafana and Prometheus and will try to make something similar you did, but sure can use for any services. We are migrating to AAP2 at work, will need it soon there too. This is the error I get: ERROR - Terminating Rule Check if endpoint is responding has an action run_module which needs inventory to be defined
@alexal4
@alexal4 Жыл бұрын
Everything is working now, it was problem with Token.
@joshuaduplaa9033
@joshuaduplaa9033 Жыл бұрын
I love you for this
@rmshorts2214
@rmshorts2214 Жыл бұрын
kzbin.info/www/bejne/m5K2eGiVea2om7c
@user-gx5iz9ln7p
@user-gx5iz9ln7p Жыл бұрын
Thanks for the demo!! How do we pass multiple environment variables to the execution environment before the playbook is executed on the target m/c??
@alexdworjan
@alexdworjan Жыл бұрын
www.techbeatly.com/how-to-pass-environment-variables-to-ansible-navigator/ This is the easiest way to describe it if you are using ansible-navigator. If you are using automation controller, you can set environment variables as credentials which would then be passed into the EE if you assign it as a credential for the Job Template.
@JeromeSalvador-le3yq
@JeromeSalvador-le3yq Жыл бұрын
Hi, I have a question regarding the Systems Requirements for OpenShift that can create VM?
@alexdworjan
@alexdworjan Жыл бұрын
I don't understand your question. The system requirements listed in the reference architecture are for running Ansible on OpenShift. What jobs you run are independent of that including using Ansible to create a VM.
@thewayithastobe
@thewayithastobe Жыл бұрын
Great presentation. I'm about to go through all your ansible and satellite related videos.
@ChadGrays
@ChadGrays Жыл бұрын
What ports/networking is needed? TCP? UDP? Like what do i tell the networking team to setup to support this communication? Thanks!
@alexdworjan
@alexdworjan Жыл бұрын
You can set the exact port in the inventory, but it defaults to 27199 TCP. If they want details on what's going on, I would definitely look at this blog: www.ansible.com/blog/peeling-back-the-layers-and-understanding-automation-mesh
@ChadGrays
@ChadGrays Жыл бұрын
@@alexdworjan Great Link! THanks!
@ajaychenampara8012
@ajaychenampara8012 Жыл бұрын
Brilliant stuff.
@ruffinruffin989
@ruffinruffin989 Жыл бұрын
Thanks for this
@bharathreddy5047
@bharathreddy5047 Жыл бұрын
Hi Alex, thanks for the clear explanation but I think I'm missing some step when job completed successfully in tower how we can get response back and update it in Servicenow?
@alexdworjan
@alexdworjan Жыл бұрын
So that's why I have a workflow and not just a job template. If you notice in the video, I shift to the second job template "ServiceNow Catalog Update" which includes the servicenow.itsm.api module to provide the exact updates that I want back to the job. This isn't an automatic process. In the first job template I use the set_stats module github.com/shadowman-lab/Ansible-Config/blob/main/roles/shadowman_patching/tasks/patch_linux.yml, to get the exact information I want to update servicenow in the "work_notes" variable and then pass it to a separate JT that calls this role: github.com/shadowman-lab/Ansible-SNOW/blob/main/roles/servicenow_catalog/tasks/main.yml