Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

โ€œInvest in yourself โ€” your confidence is always worth it.โ€

Explore Cosmetic Hospitals

Start your journey today โ€” compare options in one place.

Rundeck – Methods to Run Ansible from Rundeck

Here’s a complete guide to running Ansible Playbooks using Rundeck, covering all supported methods, including what you’ve done, plus troubleshooting options and best practices.


โœ… Goal

Run an Ansible Playbook (web.yaml) on remote hosts from Rundeck.


๐Ÿงฐ Prerequisites

  • Ansible installed on Rundeck server (ansible, ansible-playbook)
  • Playbook and inventory exist, e.g.:
    • /tmp/ansible/web.yaml
    • /tmp/ansible/inventory
  • Hosts reachable via SSH (key-based preferred)
  • Rundeck has access to private key

โœ… Methods to Run Ansible from Rundeck


โœ… Method 1: Ansible Plugin (Node Step or Workflow Step)

Rundeck Plugin: Ansible Plugin for Rundeck

Best for: Structured jobs with SSH auth and node filtering.

Configuration

  • Plugin Step Type: Ansible Playbook Workflow Node Step
  • Playbook: web.yaml
  • Inventory: -i /tmp/ansible/inventory
  • Auth: Private key or SSH password
  • User: ubuntu
  • Extra vars (optional): foo=bar
  • Set: Use become: Yes (if needed)

๐Ÿ” Troubleshooting

  • Set Node Filter to .* (or name: .*) to apply job globally
  • Rundeck will pass --limit <node> unless you’re careful
  • Inventory must include same hostnames/IPs as Rundeck nodes

Scree -1

#inventory code
more inventory
[web]
65.2.153.2
52.66.236.156
13.232.137.62
13.201.133.240

[db]
3.7.65.62

#web.yaml
---
- name: Update web servers
  hosts: web

  tasks:
  - name: Install Apache in ubuntu
    ansible.builtin.apt:
      name: "git"
      state: latest
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /tmp/index.html
Code language: PHP (php)

โœ… Method 2: Ansible as Command Step (Central Execution)

Run centrally from Rundeck server (not per node). This avoids node filtering issues.

Example

ansible-playbook -i /tmp/ansible/inventory /tmp/ansible/web.yaml -u ubuntu -b --private-key=/tmp/ansible/key.pem
Code language: JavaScript (javascript)

Steps

  • Add a Command Step
  • Shell command as above
  • Optional: Make key available using Secure Option

โœ… When to Use

  • You donโ€™t need per-node execution
  • Want Rundeck to just centrally launch playbooks

โœ… Method 3: Script Step with Arguments

Same as Method 2, but using a bash script.

Example

Create script /tmp/run_ansible.sh:

#!/bin/bash
ansible-playbook -i /tmp/ansible/inventory /tmp/ansible/web.yaml -u ubuntu -b --private-key=/tmp/ansible/key.pem
Code language: JavaScript (javascript)

Set Rundeck step type: Script file or inline


โœ… Method 4: Ansible Ad-Hoc Step (Ansible Plugin)

You can also use:

  • Ansible Ad-Hoc Command Node Step
  • For one-liner tasks (e.g., apt update, ping, copy)

Example module: ping, shell, copy


โœ… Method 5: Job with Embedded Inventory (YAML)

In Rundeck Project configuration, embed static inventory.

Example:

[web]
192.168.1.10 ansible_user=ubuntu

Then playbook can use hosts: web, and Rundeck calls it with --limit to match that.


โœ… Method 6: Dynamic Inventory Integration

Use AWS/GCP inventory plugin or a custom dynamic inventory script.

Steps:

  • Create a script like aws_ec2.py or a custom script
  • In Ansible arguments: -i /tmp/ansible/my_dynamic_inventory.py
  • Make sure script is executable and returns correct JSON

๐Ÿงช Bonus: Add a Debug Step Before Playbook

Add a shell step before Ansible call:

ansible -i /tmp/ansible/inventory web --list-hosts
Code language: PHP (php)

This lets you verify what Ansible sees at runtime.


๐Ÿงพ Sample Rundeck Job YAML (Centrally Executed)

- defaultTab: nodes
  description: Run Ansible playbook centrally
  executionEnabled: true
  id: 1234-ansible-job
  loglevel: INFO
  name: run-ansible-central
  nodeFilterEditable: false
  scheduleEnabled: true
  sequence:
    commands:
    - description: Run Ansible centrally
      exec: ansible-playbook -i /tmp/ansible/inventory /tmp/ansible/web.yaml -u ubuntu -b --private-key=/tmp/ansible/key.pem
  nodefilters:
    dispatch:
      threadcount: 1
      keepgoing: false
    filter: ".*"
Code language: JavaScript (javascript)

โœ… Summary Table

MethodDescriptionBest Use Case
๐Ÿ”Œ Plugin (Node Step)Uses Rundeck Ansible plugin to run playbook on matched nodesWhen your inventory matches Rundeck nodes
๐Ÿ–ฅ๏ธ Command StepRuns Ansible centrally from Rundeck serverFor single control execution
๐Ÿงพ Script StepShell script wraps Ansible callRepeatable, customizable
โšก Ad-Hoc StepUse Ansible module like ping or shellFor one-time actions
๐Ÿ“‚ Embedded InventoryStatic inventory within projectWhen inventory doesn’t change
๐Ÿ” Dynamic InventoryExternal inventory script (AWS, GCP, etc.)For cloud infra or frequent host changes

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services โ€” all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

Team Foundation Server 2015 Installation Guide (SQL Express + Update 3)

Install Team Foundation Server 2015 using the original Microsoft download paths, with clear guidance for online, offline, and ISO-based setup. This revised guide also includes an installation workflow, command example, and practical pitfalls to avoid.

Read More

How to Access a Running Docker Container Shell: docker exec vs docker attach

Need a shell inside a running container that is already in detached mode? This updated guide shows the correct workflow, compares docker exec and docker attach, and explains when SSH does and does not make sense.

Read More

Host Your Own NuGet Feed: Local Source vs NuGet.Server vs NuGetGallery

Learn how to host a private NuGet feed using three practical approaches: a local folder source, NuGet.Server, and NuGetGallery. This revised guide includes setup steps, command examples, and a workflow diagram to help you choose the right model.

Read More

Publish NuGet Packages to NuGet.org: CLI Steps, Workflow, and CI Example

Learn how to publish a NuGet package to NuGet.org using either nuget.exe or the dotnet CLI. This revised guide includes a workflow diagram, command comparison, and a CI-friendly example.

Read More

How to Create NuGet Packages with nuget.exe (Assembly, .nuspec, and .csproj Methods)

Learn three practical ways to build NuGet packages using nuget.exe: from an existing assembly, from a convention-based folder layout, or directly from a Visual Studio project. This guide includes commands, folder conventions, token behavior, and common pitfalls.

Read More

Virtualization in DevOps: Using Vagrant, Docker, and Cloud Platforms Together

This guide explains how VM-based workflows, containers, and cloud platforms complement each other in DevOps. It includes a practical workflow, trade-off table, and command examples for day-to-day use.

Read More
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
0
Would love your thoughts, please comment.x
()
x