playbook | Ansible playbooks , complete with roles and inventory | AWS library
kandi X-RAY | playbook Summary
kandi X-RAY | playbook Summary
A collection of Ansible playbooks I've developed. I've reworked the layout to be more in line with Ansible best practices. The old format is a dedicated branch found here.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Get information about this load balancer .
- Ensures that the route table exists .
- Get instance info .
- Find subnets .
- Ensures that the route table exists .
- Ensures that the route table is absent .
- Parse the command line options .
- Check if a route specification matches a route specification .
- Finds the IGW associated with a VPC .
- Ensures that the route table contains subnet associations .
playbook Key Features
playbook Examples and Code Snippets
Community Discussions
Trending Discussions on playbook
QUESTION
I'm trying to use my Ansible playbook to call upon a site YAML reference to create a filename that increment for multiple switches. What am I doing wrong? I believe the playbook is pulling from the host YAML?
Format: --.txt
e.g.: with two switches:
- swi-lon-101.txt
- swi-lon-202.txt
host_vars/host.yaml
...ANSWER
Answered 2022-Mar-31 at 18:39So, you do need a loop in order to set this fact, otherwise, you are trying to access a installation_floor
on a list, which cannot be.
You will also face an issue with the id
of your items in switch_stacks
, as 01
is an int and will end up displayed as 1
, simply. So you either need to declare those as string, or to pad them with a format
filter.
So, you end up with this task:
QUESTION
I made a playbook with two task
The first task is for getting all the directories in the selected directory.
The second task is for deleting the directories. But, I only want to delete a directory if the list length is longer than two.
ANSWER
Answered 2022-Mar-15 at 14:40This won't be possible, once a module is executed, the result is saved in the variable and won't dynamically change with the state of the node.
What you should do instead is to limit the list you are looping on with a slice notation to exclude the three last items of the said list: files[:-3]
.
So, your task deleting files would look like this:
QUESTION
I am having a hard time getting to know how to create Ansible roles that are following the best practices according to documentation. The following use-case which I am looking at is e.g. enabling Filebeat on host. Filebeat can be configured by placing a module definition in /etc/filebeat/modules.d
folder.
It works fine when I am adding modules. Idempotence is working, everytime, on each run of the role (playbook), a given set of modules is enabled.
But what I should do when I decide that a given module is not longer needed? I remove it from role, rerun a playbook, so that all other modules are enabled. But: the previous run enabled a module that I am not installing directly with role after changes. So my server state is still altered in a way that is different than the role is imposing itself.
My question is: should I take care of removing modules before I apply them so I always start from, let's say, fresh state?
E.g.:
...ANSWER
Answered 2022-Mar-02 at 11:07In a nutshell:
QUESTION
I'm trying to use Ansible to deploy a small k3s cluster with just two server nodes at the moment. Deploying the first server node, which I refer to as "master" is easy to set up with Ansible. However, setting up the second server node, which I refer to as "node" is giving me a challenge because I need to pull the value of the node-token from the master and use it to call the k3s install command on the "node" vm.
I'm using Ansible roles, and this is what my playbook looks like:
...ANSWER
Answered 2022-Jan-24 at 20:03If you set the variable for master only it's not available for other hosts, e.g.
QUESTION
We've had a working Ansible AWX instance running on v5.0.0 for over a year, and suddenly all jobs stop working -- no output is rendered. They will start "running" but hang indefinitely without printing out any logging.
The AWX instance is running in a docker compose container setup as defined here: https://github.com/ansible/awx/blob/5.0.0/INSTALL.md#docker-compose
ObservationsStandard troubleshooting such as restarting of containers, host OS, etc. hasn't helped. No configuration changes in either environment.
Upon debugging an actual playbook command, we observe that the command to run a playbook from the UI is like the below:
ssh-agent sh -c ssh-add /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data && rm -f /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data && ansible-playbook -vvvvv -u ubuntu --become --ask-vault-pass -i /tmp/awx_11021_0fmwm5uz/tmppo7rcdqn -e @/tmp/awx_11021_0fmwm5uz/env/extravars playbook.yml
That's broken down into three commands in sequence:
ssh-agent sh -c ssh-add /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data
rm -f /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data
ansible-playbook -vvvvv -u ubuntu --become --ask-vault-pass -i /tmp/awx_11021_0fmwm5uz/tmppo7rcdqn -e @/tmp/awx_11021_0fmwm5uz/env/extravars playbook.yml
You can see in part 3, the -vvvvv
is the debugging argument -- however, the hang is happening on command #1. Which has nothing to do with ansible or AWX specifically, but it's not going to get us much debugging info.
I tried doing an strace
to see what is going on, but for reasons given below, it is pretty difficult to follow what it is actually hanging on. I can provide this output if it might help.
So one natural question with command #1 -- what is 'ssh_key_data'?
Well it's what we set up to be the Machine credential in AWX (an SSH key) -- it hasn't changed in a while and it works just fine when used in a direct SSH command. It's also apparently being set up by AWX as a file pipe:
prw------- 1 root root 0 Dec 10 08:29 ssh_key_data
Which starts to explain why it could be potentially hanging (if nothing is being read in from the other side of the pipe).
Running a normal ansible-playbook from command line (and supplying the SSH key in a more normal way) works just fine, so we can still deploy, but only via CLI right now -- it's just AWX that is broken.
ConclusionsSo the question then becomes "why now"? And "how to debug"? I have checked the health of awx_postgres, and verified that indeed the Machine credential is present in an expected format (in the main_credential
table). I have also verified that can use ssh-agent on the awx_task container without the use of that pipe keyfile. So it really seems to be this piped file that is the problem -- but I haven't been able to glean from any logs where the other side of the pipe (sender) is supposed to be or why they aren't sending the data.
ANSWER
Answered 2021-Dec-13 at 04:21Had the same issue starting this Friday in the same timeframe as you. Turned out that Crowdstrike (falcon sensor) Agent was the culprit. I'm guessing they pushed a definition update that is breaking or blocking fifo pipes. When we stopped the CS agent, AWX started working correctly again, with no issues. See if you are running a similar security product.
QUESTION
I have a task that creates multiple files, if they not exists. It works, until a filename is used as item that contains a pair of square brackets. I've tried to escape with backslashes and {% raw %}
tags, but it does not work.
Test playbook:
...ANSWER
Answered 2021-Dec-19 at 09:22The problem is due to the fact that creates
can handle glob
syntax (highlighted by @Jack). In glob
syntax [
has a special meaning and need to be escaped. I did manage to do it only manually by escaping the [
through this Jinja2 filter {{ item|replace('[', '[[]') }}
. I did not found an equivalent convenient filter equivalent to Python glob.escape
. However it works!
QUESTION
I am working on CI/CD for my python/django project in gitlab.
I have an error -- Gitlab CI: Failed building wheel for opencv-python
Full gitlab ci log -- https://pastebin.com/pZdZ6ws2
I have an error on the build_pip
stage:
gitlab-ci.yaml
ANSWER
Answered 2021-Dec-04 at 23:03In your logs, we can see the following error:
QUESTION
Hello!
I tired to create some playbook for deploying "AWX Operator" and Kubernetes using manual of installation Install AWX Operator
I have the command:
...ANSWER
Answered 2021-Oct-22 at 11:58You have everything written in this error :)
There is a problem with the command
QUESTION
When creating an ansible role you can specify the dependencies in meta/main.yml
as follows
ANSWER
Answered 2021-Oct-13 at 17:26So apparently this is not really supported. A detailed explication can be found in issue #76030
A stand alone role is not meant to depend on a collection, just as a collection is not meant to depend on a stand alone role.
It can be achieved technically, but users will be required to resolve the dependencies manually.
As such, collections should only depend on collections, and stand alone roles should only depend on stand alone roles.
QUESTION
I have a playbook pulling users and groups from windows 2012 using powershell and I convert it to json.
I get the following output
...ANSWER
Answered 2021-Aug-03 at 10:04I see multiple problems here:
Problem 1:
Your data has three different types for Members
, depending on what is in there:
- An empty dict (
{}
) if there are no members - A string, if there is exactly one member
- A list of strings, if there are multiple members
As far as I can see, this will not break, but it is not particularly good style. You should always return a list. An empty one, if there is no member, or a list with one element if there is exactly one member or a list of multiple strings, as you already do, if there are multiple members.
Problem 2:
In group Appsupp
, the user is misspelled: WIN-U97DIQUENUM\\appsuport
(there is a 'p' missing in 'support'), so this will not match.
Problem 3:
This is what actually breaks here. Your query has several problems, it should look like this: [?Members[?contains(@, 'appsupport')]].Group
The result is
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install playbook
You can use playbook like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page