Alex Dworjan
Alex Dworjan
  • 45
  • 135 965
Ansible Dev Server using VSCode Dev Containers
This video will cover using Ansible Dev Tools from an Ansible Dev Container with the VSCode Dev Containers extension
The presenter is Alex Dworjan
Github: github.com/shadowman-lab
Dev Tools Documentation including WSL specifics: docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/developing_automation_content/installing-devtools
Dev Container configuration files: docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/developing_automation_content/installing-devtools#devtools-install-container_installing-devtools
Переглядів: 256

Відео

Event-Driven Ansible Command Line Testing
Переглядів 152Місяць тому
This video will cover testing of Event-Driven Ansible and Ansible-Rulebook via local command-line testing The presenter is Alex Dworjan Github: github.com/shadowman-lab Ansible Rulebook Documentation: ansible.readthedocs.io/projects/rulebook/en/stable/introduction.html Ansible Rulebook Blog: www.redhat.com/en/topics/automation/what-is-an-ansible-rulebook Podman command Example: podman run -it r...
Event-Driven Ansible Notification Service for ServiceNow
Переглядів 3022 місяці тому
This video will cover Ansible Automation Platform and integration with ServiceNow by leveraging the Event-Driven Ansible Notification Service Application The presenter is Alex Dworjan Github: github.com/shadowman-lab Event-Driven Ansible Notification Service Walkthrough: github.com/shadowman-lab/Ansible-SNOW/tree/main/SNOWSetup#servicenowaap-integration-instructions-using-event-driven-ansible-n...
Event-Driven Ansible And Datadog
Переглядів 2953 місяці тому
This video will cover using Event-Driven Ansible and Datadog together for automated remediation The presenter is Alex Dworjan Github: github.com/shadowman-lab Datadog Ansible collection: console.redhat.com/ansible/automation-hub/repo/published/datadog/dd/ Datadog EDA Rulebook: github.com/shadowman-lab/Ansible-Rulebooks/blob/main/rulebooks/datadog.yml Datadog Agent Documentation: docs.datadoghq....
Ansible Developer Environment Tips
Переглядів 3604 місяці тому
This video will cover additional Ansible developer environment tips such as ansible-lint fix, ansible creator via the Ansible Extension UI, Ansible Lightspeed full playbook generation, and Ansible dev environment The presenter is Alex Dworjan Github: github.com/shadowman-lab Ansible Dev Tools: ansible.readthedocs.io/projects/dev-tools/ Ansible Creator: ansible.readthedocs.io/projects/creator/ A...
Ansible Developer Environment Updates
Переглядів 4835 місяців тому
This video will cover some new capabilities and features to streamline the Ansible development process. Note, for Ansible Lightspeed to work in Dev Spaces or Code Server, you will need Ansible extension at v24.5.0 or newer and Red Hat Authentication v0.2.0 or newer. The presenter is Alex Dworjan Github: github.com/shadowman-lab GitHub readme with Contribute Button: github.com/shadowman-lab/Ansi...
Crunchy Data HA Database for AAP
Переглядів 2576 місяців тому
This video will cover using Crunchy Data as an HA Database for the Ansible Automation Platform The presenter is Alex Dworjan Github: github.com/shadowman-lab Crunchy Data for Kubernetes: access.crunchydata.com/documentation/postgres-operator/latest/ Crunchy Data for Ansible: www.crunchydata.com/solutions/ansible NOTE: Replace aap-controller with the name of your controller deployment, aapcluste...
Event-Driven Ansible Networking
Переглядів 2607 місяців тому
This video will cover using Event-Driven Ansible to handle Networking issues The presenter is Alex Dworjan Github: github.com/shadowman-lab NetOps blog: www.redhat.com/en/blog/addressing-netops-issues-with-event-driven-ansible Networking EDA Rulebook: github.com/shadowman-lab/Ansible-Rulebooks/blob/main/rulebooks/kafkanetwork.yml Telegraf role: github.com/shadowman-lab/Ansible-Labextra/tree/mai...
Developer Repository and Internal Documentation in Private Automation Hub
Переглядів 2118 місяців тому
This video will cover creating internal documentation of Execution Environments with the exact collections and versions for developers The presenter is Alex Dworjan Github: github.com/shadowman-lab Role Example: github.com/shadowman-lab/Ansible-PAH/blob/main/roles/build_shadowmanee/tasks/create_repo.yml
Ansible Development Environment Options
Переглядів 6038 місяців тому
This video will cover different Ansible Development Environments and the pros or cons for each The presenter is Alex Dworjan Github: github.com/shadowman-lab Development Repository: github.com/shadowman-lab/Ansible-Development VS Code Remote SSH Extension Documentation: code.visualstudio.com/docs/remote/sshcode.visualstudio.com/docs/remote/ssh Deeper Dive into Code-Server: ua-cam.com/video/H8Ia...
Execution Environment as Code
Переглядів 7709 місяців тому
This video will cover how to utilize Execution Environments as Code to improve your EE maintenance and build processes The presenter is Alex Dworjan Github: github.com/shadowman-lab Playbook Example: github.com/shadowman-lab/Ansible-PAH/blob/main/shadowman_ee_utils_simple.yml Roles used in the playbook: github.com/shadowman-lab/Ansible-PAH/tree/main/roles infra.ah_configuration collection: cons...
Event Driven Ansible with Hypervisors
Переглядів 3719 місяців тому
This video will cover using Event-Driven Ansible directly with a hypervisor to drive automated remediation. The presenter is Alex Dworjan Github: github.com/shadowman-lab Powershell Script for EDA from VCenter: github.com/shadowman-lab/Ansible-Rulebooks/blob/main/alert.ps1 VMWare EDA Rulebook: github.com/shadowman-lab/Ansible-Rulebooks/blob/main/rulebooks/vmware.yml Role for High Memory Usage o...
OpenShift Dev Spaces / Eclipse Che and Ansible Development
Переглядів 76911 місяців тому
Note: You can also add a .vscode/extensions.json to the root of your repository to auto-install extensions Detailed OpenShift Dev Server / Eclipse Che Instructions: github.com/shadowman-lab/Ansible-Development/blob/main/devspaces/README.md This video will cover using OpenShift Dev Spaces or Eclipse Che as an Ansible development environment The presenter is Alex Dworjan Github: github.com/shadow...
Ansible Dev Server Using VS Code Remote SSH
Переглядів 1,3 тис.11 місяців тому
This video will cover using the VS Code Remote SSH extension to perform Ansible development The presenter is Alex Dworjan Github: github.com/shadowman-lab Ansible-Development Repository: github.com/shadowman-lab/Ansible-Development Remote SSH Extension: code.visualstudio.com/docs/remote/ssh
Ansible Windows & Linux Remediation
Переглядів 1,2 тис.Рік тому
This video will cover the Ansible Automation Platform and how it can be used to perform Windows and Linux Remediation. This leverages Winlogbeat Kafka EDA for Windows and Systemd Automation Controller for RHEL The presenter is Alex Dworjan Github: github.com/shadowman-lab Ansible blog on Systemd: www.ansible.com/blog/event-driven-remediation-with-systemd-and-red-hat-ansible-automation-platform ...
Ansible Automation Platform Containerized Installer
Переглядів 1,8 тис.Рік тому
Ansible Automation Platform Containerized Installer
Ansible Automated Insights Remediation
Переглядів 709Рік тому
Ansible Automated Insights Remediation
Ansible Constructed Inventory
Переглядів 2,7 тис.Рік тому
Ansible Constructed Inventory
Ansible Builder Version 3
Переглядів 2,2 тис.Рік тому
Ansible Builder Version 3
Event-Driven Ansible
Переглядів 2 тис.Рік тому
Event-Driven Ansible
Ansible and OpenShift
Переглядів 3,3 тис.Рік тому
Ansible and OpenShift
Migrating Playbooks for Execution Environments
Переглядів 1,9 тис.Рік тому
Migrating Playbooks for Execution Environments
Ansible Vault
Переглядів 6 тис.Рік тому
Ansible Vault
Ansible and Terraform Together
Переглядів 6 тис.Рік тому
Ansible and Terraform Together
Ansible Network Automation
Переглядів 1,6 тис.Рік тому
Ansible Network Automation
Using Ansible for Cloud Savings - Overview
Переглядів 338Рік тому
Using Ansible for Cloud Savings - Overview
Using Ansible for Cloud Savings - Technical
Переглядів 540Рік тому
Using Ansible for Cloud Savings - Technical
Using Ansible for Cloud Savings - Executive
Переглядів 511Рік тому
Using Ansible for Cloud Savings - Executive
Ansible Automation Platform 2.3 Walkthrough
Переглядів 15 тис.Рік тому
Ansible Automation Platform 2.3 Walkthrough
Ansible Dev Server Using Ansible
Переглядів 1,3 тис.Рік тому
Ansible Dev Server Using Ansible

КОМЕНТАРІ

  • @JC-ov9jb
    @JC-ov9jb 13 днів тому

    How would i pass credentials to pull a dynamic inventory and execute plays ?

    • @alexdworjan
      @alexdworjan 13 днів тому

      Once you are inside the Dev Container, it's just normal ansible operations. I have an inventory with host and group vars (all ansible-vaulted) so I can run all of my jobs

    • @JC-ov9jb
      @JC-ov9jb 13 днів тому

      @@alexdworjan ok. I guess I am just trying to make this as close aap as possible. By passing in creds via credentials that uses the environmental variables

    • @alexdworjan
      @alexdworjan 13 днів тому

      @@JC-ov9jb You could create the environment variables inside the Dev Container using normal Linux commands so for example using the AWS Dynamic Inventory Plugin: From the terminal run: export AWS_ACCESS_KEY_ID='AK123' export AWS_SECRET_ACCESS_KEY='abc123'

  • @ShaneHolloman
    @ShaneHolloman 14 днів тому

    Is the image behind a paid account by chance? if not is there direct link to pull the image?

    • @alexdworjan
      @alexdworjan 14 днів тому

      The image is located on registry.redhat.io which requires either a Red Hat Account or a Red Hat Developers Account. There is an upstream project: github.com/ansible/community-ansible-dev-tools-image and image: ghcr.io/ansible/community-ansible-dev-tools:latest though I do not know how often those are updated. I would certainly recommend using the images from registry.redhat.io

  • @robertrathbun9839
    @robertrathbun9839 14 днів тому

    Where can I find a single node inventory-growth example using PKI along with the instructions for the PKI setup? The installation docs are very vague as it relates to adding PKI certificates from an enterprise CA. My install works without errors except port 8446 shows errors connection to the controller API.

    • @alexdworjan
      @alexdworjan 14 днів тому

      If you installed AAP2.5, you'll no longer see individual access to the component (8446 also gives me the error "Error connecting to Controller API"). That is expected behavior. Everything now runs through the Unified UI which is available via https This has your list of variables: docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-general-inventory-variables The TLS specifics: ca_tls_cert ca_tls_key postgresql_tls_cert postgresql_tls_key controller_tls_cert controller_tls_key hub_tls_cert hub_tls_key eda_tls_cert eda_tls_key gateway_tls_cert gateway_tls_key eda_redis_tls_cert eda_redis_tls_key gateway_redis_tls_cert gateway_redis_tls_key receptor_tls_cert receptor_tls_key

  • @torstenschaefer2475
    @torstenschaefer2475 19 днів тому

    Nice video and transcript! Many Thanks! Could you please also explain how to configure Ansible Automation Backup Operator for handling this setup with external crunchy database?

    • @alexdworjan
      @alexdworjan 19 днів тому

      The backup of all database items is handled by the Crunchy Database Operator (this is independent of the AAP Operator). Ansible considers this an "external database" so the AAP Operator would not be part of this process

    • @torstenschaefer2475
      @torstenschaefer2475 19 днів тому

      ​@@alexdworjan Ok, I didn't found that information in the AAP Backup Operator documentation. However, my understanding is, that the AAP Backup Operator not just only saves the DB content but also other configuration besides the DB. Do you know if this is true for this external database setup?

    • @alexdworjan
      @alexdworjan 19 днів тому

      @@torstenschaefer2475 The Crunchy Data Operator will only handle the dasebase itself. Using the backup Operator would handle the connection secrets and those portions only

  • @mariobros237
    @mariobros237 26 днів тому

    Question: when i do a Containerized Install, Where can I find the logs of the automation controller?

    • @alexdworjan
      @alexdworjan 23 дні тому

      All of the containers are created with --log-driver journald, so all of your container logs will be going to the host's journald. You may find them in /var/log/messages, or by using something like journalctl CONTAINER_NAME=automaton-controller-web

    • @mariobros237
      @mariobros237 21 день тому

      @@alexdworjan Thank you for your response. There where right there as you said they were. Can I also ask where the playbook folder is too? I read the documentation but they werent in the /aap directory.

    • @alexdworjan
      @alexdworjan 21 день тому

      The playbooks all get pulled during a Project Sync in Automation Controller. Then they are available for any Job Templates you are attempting to create

    • @mariobros237
      @mariobros237 13 днів тому

      Thank you for your answers, one final question, How do I run the awx-manage Utility in a containerized installation?

    • @alexdworjan
      @alexdworjan 13 днів тому

      @@mariobros237 It's contained inside the container itself, so if you run podman exec -it automation-controller-task bash You will have a bash prompt inside your task container, and you can run awx-manage commands

  • @happyuk06
    @happyuk06 Місяць тому

    As an absolute beginner I would rather see the build etc done through command line as well through ansible. Still wrestling with some of the terminologies, etc.

    • @alexdworjan
      @alexdworjan Місяць тому

      I would highly recommend looking at the newer Ansible Builder capability since this one is a bit old: ansible.readthedocs.io/projects/builder/en/latest/. Ansible Builder Version 3 allows for more customization and everything can be written in a single file. In the example, I still manually created all those files, and then I would have run ansible-builder build -t MYIMAGE:TAG. That would have completed my build process. If you want a hands on walkthrough of Ansible-Builder version 3, we have a self-paced lab called "Get started with ansible-builder" that you can do here: www.redhat.com/en/interactive-labs/ansible. It's all command line driven, so it will absolutely give you all of the steps

    • @happyuk06
      @happyuk06 Місяць тому

      @@alexdworjan Many Thanks. What I'm specifically interested in is creating a custom execution environment, probably through a private (and not public) Automation Hub if I understand the terminologies correctly. Unfortunately Red Hat do not seem to particularise much when describing the step to add an Execution Environment to an Automation Hub.

    • @alexdworjan
      @alexdworjan Місяць тому

      @@happyuk06 Private Automation Hub is the one created in your environment. Public Automation Hub is the one Red Hat provides through console.redhat.com. The ansible.cfg is where you define where collections can be installed from. This is a template that has an example: github.com/shadowman-lab/Ansible-PAH/blob/main/roles/build_shadowmanee/templates/ansible.cfg.j2. You would use the full https URL and then the token that you get from your private automation hub. For example, url=YOURURL.com/api/galaxy/content/rh-certified/ Then in your execution-environment.yml you'd use the additional_build files section to place your ansible.cfg into the context folder that builder uses additional_build_files: - src: <YOURFULLPATH>/ansible.cfg dest: configs And then you need a prepend_galaxy step to actually place that ansible.cfg into your EE prepend_galaxy: - COPY _build/configs/ansible.cfg /etc/ansible/ansible.cfg This will ensure that collections will only be pulled from your private automation hub when building. Then you just use podman to push to your Hub. Easiest way to do that is to name your EE with your hub URL first. So if your PAH server is test.example.com. You should build the EE to be test.example.com/testee:latest And then when you do podman push test.example.com/testee:latest it will push your EE to your PAH server

  • @mariajosesilva1923
    @mariajosesilva1923 Місяць тому

    Hello, does it works with Ansible Automation Platform? because the ansible spoke from servicenow requires Ansible Tower which is the older version. Appreciate the answer.

    • @alexdworjan
      @alexdworjan Місяць тому

      Yes, I have this working with AAP 2.4. The api endpoints have not changed so the process is exactly the same for Tower and AAP 2.0-2.4

  • @torrescouto
    @torrescouto Місяць тому

    4:29 Where do you create that user?

    • @alexdworjan
      @alexdworjan Місяць тому

      The servicenow user is a local user I created within Automation controller: docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.4/html-single/automation_controller_user_guide/index#proc-controller-creating-a-user. I created them as a System Administrator, but you could create a normal user and assign execute permissions to the jobs or workflows you want to run from ServiceNow

  • @lamborghini3060
    @lamborghini3060 Місяць тому

    nice video Thank you

  • @lamborghini3060
    @lamborghini3060 Місяць тому

    Nice Video Thank you !

  • @andrewamadorchavira3705
    @andrewamadorchavira3705 2 місяці тому

    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 2 місяці тому

      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 2 місяці тому

    do people really have eda out on the internet? seems like bad practice security wise

    • @alexdworjan
      @alexdworjan 2 місяці тому

      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 2 місяці тому

    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 2 місяці тому

      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 2 місяці тому

    Please create a video tutorial on how the Ansible extension works with WSL and how to use a YAML file in extension

    • @alexdworjan
      @alexdworjan 2 місяці тому

      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, ua-cam.com/video/C8908KSjn78/v-deo.html, ua-cam.com/video/H8IaR8wMBlQ/v-deo.html) or the VS Code SSH extension (ua-cam.com/video/2QwkRiVHaxU/v-deo.html) 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 3 місяці тому

    is there any video on how to learn ansible from scratch

    • @alexdworjan
      @alexdworjan 3 місяці тому

      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: ua-cam.com/users/playlist?app=desktop&list=PLT98CRl2KxKEUHie1m24-wkyHpEsa4Y70 And I have a playlist around the development tools and setting up a developer environment: ua-cam.com/video/C8908KSjn78/v-deo.html

    • @mahmoudnjouokou9392
      @mahmoudnjouokou9392 3 місяці тому

      @@alexdworjan thanks 🙏🏿

  • @BatoolMohamed-s5g
    @BatoolMohamed-s5g 3 місяці тому

    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 3 місяці тому

      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 2 місяці тому

      @@alexdworjan thank you alex🙏

  • @tenshimajor
    @tenshimajor 3 місяці тому

    Thank you Alex!

  • @jg1000c
    @jg1000c 4 місяці тому

    how did you actually build the reports?

    • @alexdworjan
      @alexdworjan 4 місяці тому

      All the reports are built using jinja templates. Each report can be found here: github.com/shadowman-lab/shadowman.reports

    • @jg1000c
      @jg1000c 4 місяці тому

      @@alexdworjan are the reports displayed in tower or need to host on web server?

    • @alexdworjan
      @alexdworjan 4 місяці тому

      @@jg1000c They are all on a separate web server

    • @jg1000c
      @jg1000c 4 місяці тому

      @@alexdworjan got it. Does your web server digest ansible data? How does it work?

    • @alexdworjan
      @alexdworjan 4 місяці тому

      @@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 4 місяці тому

    impressive

  • @maciejk7689
    @maciejk7689 4 місяці тому

    hmmm it's not good idea to orchestrate terraform via ansible. What about plan and validations of changes ? ...

    • @alexdworjan
      @alexdworjan 4 місяці тому

      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 4 місяці тому

      @@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 4 місяці тому

      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 4 місяці тому

      ​@@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 4 місяці тому

      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 5 місяців тому

    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 5 місяців тому

      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 5 місяців тому

      @@alexdworjan Thank you for the quick reply.

  • @stephaneesnault
    @stephaneesnault 5 місяців тому

    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 5 місяців тому

      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 6 місяців тому

    huh? I guess he assumes you're already an expert. Difficult to understand.

    • @alexdworjan
      @alexdworjan 6 місяців тому

      @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 6 місяців тому

    Superb content ! By curiosity, are you able to use Molecule with EE for testing without using a delegated/custom driver ?

    • @alexdworjan
      @alexdworjan 6 місяців тому

      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 7 місяців тому

    How Slicing works for workflow templates

    • @alexdworjan
      @alexdworjan 7 місяців тому

      Individual Job Templates can still have Job Slicing within a Workflow Template. It acts similarly to a workflow being called within a workflow

  • @SamuelCaroll
    @SamuelCaroll 7 місяців тому

    i'd like to know where you store values for variables {{pah_pass}}, {{cert_key_file}}, ... and how do you inject them ?

    • @alexdworjan
      @alexdworjan 7 місяців тому

      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

    • @SamuelCaroll
      @SamuelCaroll 7 місяців тому

      ​@@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 7 місяців тому

      @@SamuelCaroll 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.

    • @SamuelCaroll
      @SamuelCaroll 7 місяців тому

      @@alexdworjan Okay perfect ! thanks for explanation

  • @brokstine
    @brokstine 8 місяців тому

    Looking at your videos for the last 2 years, always very informative. Thanks!

  • @soulofangel1990
    @soulofangel1990 8 місяців тому

    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 8 місяців тому

      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 9 місяців тому

    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 9 місяців тому

      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 9 місяців тому

      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 9 місяців тому

    Great Video Alex! Thank you so much!!

  • @raginibhayana
    @raginibhayana 10 місяців тому

    how do u use a base image present in the vm? i dont want to access the internet for it.

    • @alexdworjan
      @alexdworjan 10 місяців тому

      With Ansible Builder Version 3, you can use any base image ua-cam.com/video/YTtBW2rDNE4/v-deo.html

  • @watchman1982
    @watchman1982 10 місяців тому

    Be nice to see how this is setup in Windows considering WSL must be used to install Ansible.

    • @alexdworjan
      @alexdworjan 10 місяців тому

      If you look at some of my other development videos, I actually use either code-server (which just runs in a web browser, ua-cam.com/video/C8908KSjn78/v-deo.html, ua-cam.com/video/H8IaR8wMBlQ/v-deo.html) or the VS Code SSH extension (ua-cam.com/video/2QwkRiVHaxU/v-deo.html) 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 10 місяців тому

      @@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 10 місяців тому

      @@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 10 місяців тому

      @@alexdworjan This is awesome! Thank you for sharing and I will check out your other videos regarding the setup of this.

  • @rastyraheem3566
    @rastyraheem3566 10 місяців тому

    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 10 місяців тому

      There are 3 different examples in the Ansible-PAH repo, build_creationee, build_shadowmandevspaces, build_shadowmanee

    • @rastyraheem3566
      @rastyraheem3566 10 місяців тому

      thank you@@alexdworjan

  • @antoniofuller2331
    @antoniofuller2331 10 місяців тому

    I'm a beginner to devops and it hard but manageable for now

  • @SV-lw8jo
    @SV-lw8jo 11 місяців тому

    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 11 місяців тому

      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 11 місяців тому

      Thanks, I missed it. @@alexdworjan

  • @SadhamHussainsree
    @SadhamHussainsree Рік тому

    HI Alex,where can i find all the modules for ansible.eda? Great content.Thanks

    • @alexdworjan
      @alexdworjan Рік тому

      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 Рік тому

    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 Рік тому

    Finally, some good content on the subject matter! Thank you so much!

  • @hackey37
    @hackey37 Рік тому

    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 Рік тому

      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 Рік тому

      @@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.

  • @JoeMild-s5h
    @JoeMild-s5h Рік тому

    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.

    • @JoeMild-s5h
      @JoeMild-s5h Рік тому

      @@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 Рік тому

      @@JoeMild-s5h 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 2 місяці тому

      @@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: ua-cam.com/video/H8IaR8wMBlQ/v-deo.html 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 7 місяців тому

      github.com/shadowman-lab/Ansible-Labextra/blob/main/roles/prometheus/templates/alertmanager.yml.j2