DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest Testing, Tools, and Frameworks Topics

article thumbnail
How to Setup an Ansible Test Environment
When you want to experiment with Ansible, you will need to setup a test environment. In this blog, you will create a test environment containing one controller and two target machines. This will give you a good setup for experimenting with Ansible without breaking a real machine. 1. Introduction With Ansible, you can automate repetitive IT tasks and because it is automated, it will also prevent you from making mistakes. Especially when you have to configure several similar environments. The other main advantage is that the configuration is maintained in files and therefore extremely suitable for adding the configuration to version control (e.g. Git). However, in every learning path you need to be able to experiment in order to make mistakes and to learn. In this blog, you will setup an Ansible controller machine and two target machines running in VirtualBox. The Ansible Controller will be the machine where to run the Ansible playbooks from and the target machines will be where tasks can be executed. The test setup looks as follows. The sources for this post are available at GitHub. 2. Setup Ansible Controller The machines will be created as Virtual Machines (VMs) and as virtualization platform you will use VirtualBox. Install VirtualBox on your host machine when it is not yet installed. You can create a machine from scratch and install an operating system (OS) yourself, but for testing purposes, it is easier to retrieve an already installed image from osboxes.org. Navigate to VM IMAGES – VirtualBox Images and choose for Ubuntu, the OS you will use for setting up the environment. Download the Ubuntu 20.04.4 Focal Fossa version. After downloading the file, unzip it. Create in VirtualBox a new machine via Machine – New… Fill in the following and click the Next button: Name: Controller Type: Linux Version: Ubuntu (64-bit) Set the memory size to 4 GB and click the Next button. Choose for Use an existing virtual hard disk file and select the .vdi file you downloaded and unzipped. Click the Create button. Select the VM in VirtualBox and click the Settings button. Navigate to Network in the left menu and change in the Adapter_1 tab Attached to into Bridged Adapter. Click the OK button. Start the VM and login with username osboxes and password osboxes.org. After successful login, verify whether you have internet connection (just try to search something in the browser in the VM). Run the software updates in Ubuntu and also update libraries in a terminal window. Shell $ sudo apt-get upgrade Retrieve the IP address of the VM. You can do so by hovering over the network icon at the right bottom of the VM or by executing the following command in a terminal window. Shell $ ip a Install openssh-server in order to be able to connect via SSH from your host to the VM. Shell $ sudo apt install openssh-server As a last step, try to connect from your host to the VM via a terminal window, and replace the IP address with the IP address of your Controller VM. Shell $ ssh [email protected] Shutdown the VM. 3. Create Target Machines In this section the two target machines will be created. In VirtualBox, right-click the Ansible Controller and choose Clone… Fill in the following and click the Next button: Name: Target1 MAC Address Policy: Generate new MAC addresses for all network adapters Choose for Linked clone (you can also choose for a full clone, but when it is only for testing purposes, there is no harm for chosing a linked clone). Click the Clone button. Again, log in to the VM, retrieve the IP address and try to SSH to the VM from your host. Lastly, create in a similar way a Target2 machine. 4. Install Ansible The controller needs an Ansible installation in order to be able to run playbooks from the Ansible controller. Several options are available for installing Ansible, these can be found in the documentation. The steps below were successfully executed inside the controller VM. The third command did not really execute successfully or it took too long. Nevertheless, the installation seems to be successful. Shell $ sudo apt update $ sudo apt install software-properties-common $ sudo add-apt-repository --yes --update ppa:ansible/ansible $ sudo apt install ansible Verify whether the Ansible installation was successful. Shell $ ansible --version ansible [core 2.12.4] config file = /etc/ansible/ansible.cfg configured module search path = ['/home/osboxes/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /home/osboxes/.local/lib/python3.8/site-packages/ansible ansible collection location = /home/osboxes/.ansible/collections:/usr/share/ansible/collections executable location = /usr/bin/ansible python version = 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] jinja version = 3.1.1 libyaml = True 5. IDE Configuration Although it is perfectly possible to create Ansible files with a text editor, it is easier and better to use an IDE for this. When you are developing with Java, you probably already have IntelliJ installed onto your host machine and with the help of some plugins, creating Ansible scripts will make your life a lot easier. Install via File – Settings… – Plugins the Ansible plugin (for autocompletion during development of Ansible scripts) and the yamllint plugin (for verifying your yaml syntax). In order to be able to use the yamllint plugin, you also need to install yamllint itself. See the yamllint documentation how to do this. You also need to enable yamllint in IntelliJ. Navigate to File – Settings… and search for yamllint. Enable yamllint and click the OK button. Create a new empty project MyAnsiblePlanet via File – New – Project… and click the Finish button. The project files are located on your host machine, you now have to find a way to sync them to the controller. This can be done with the help of the rsync command. In the project directory a file transferdata.sh is available with the rsync command to copy the project files to the controller. Do not forget to change the IP address of the controller when it is different than the one in the script. Shell rsync -avz . [email protected]:MyAnsiblePlanet Execute the script (do not forget to start the controller). Login via SSH to the controller and verify whether the files are correctly synced. 6. Conclusion In this post, you created an Ansible controller VM and two target VMs. You also setup your IDE and you have a way to sync your local project files to the Ansible controller machine. You are now all setup for experimenting with Ansible.
September 6, 2022
by Gunter Rotsaert DZone Core CORE
· 6,350 Views · 1 Like
article thumbnail
Connect Azure Data Factory (ADF) With Azure DevOps
The article includes detailed step-by-step instructions along with helpful screenshots to help users connect Azure Data Factory (ADF) with Azure DevOps.
September 6, 2022
by Komal Chauhan Saini
· 9,075 Views · 5 Likes
article thumbnail
Archiving Composition Over the Heritage With CDI Decorator and Delegator
In this video, we'll explore the power of interceptor and Decorator to make it easier for you to apply the Composition over inheritance principle using this powerful CDI engine.
September 5, 2022
by Otavio Santana DZone Core CORE
· 7,409 Views · 6 Likes
article thumbnail
Amazon EKS Case Studies: How Are Businesses Benefiting from EKS?
How are organizations leveraging Amazon EKS?
September 4, 2022
by Hiren Dhaduk
· 6,445 Views · 1 Like
article thumbnail
How to Securely Configure an AWS EC2 Instance
AWS EC2 is one of AWS's most popular and widely used services. In this article, learn some of the ways that can help configure our EC2 instances securely.
September 2, 2022
by Richa Nevatia
· 6,676 Views · 1 Like
article thumbnail
CockroachDB TIL: Volume 9
In this latest "Today I learned" post, audit schema change events, configure Linode Cloud Storage for CockroachDB bulk ops, and lots of DBeaver goodness.
September 1, 2022
by Artem Ervits DZone Core CORE
· 5,702 Views · 3 Likes
article thumbnail
Design Thinking in Software Testing
Design thinking is a powerful paradigm that software testers and QA professionals can use to create more user-centric software.
September 1, 2022
by Vivek Mannotra
· 7,412 Views · 3 Likes
article thumbnail
Implement Testcontainers GCloud Module With Spring Boot for Writing Integration Tests
This article explains how to write integration tests using the Testcontainers GCloud module for the Spanner database using Spring Boot.
August 31, 2022
by Sameer Shukla DZone Core CORE
· 8,406 Views · 1 Like
article thumbnail
Java String intern(): Interesting Q and A
The intern() function eliminates duplicate string objects from the application and has the potential to reduce the overall application memory consumption.
August 30, 2022
by Ram Lakshmanan DZone Core CORE
· 7,834 Views · 1 Like
article thumbnail
AWS Lambda Timeout and How to Overcome It
A brief overview of AWS Lambda and how to overcome the AWS Lambda Timeout error. Ensure the idempotence of your function.
August 30, 2022
by Valerio Barbera
· 5,231 Views · 1 Like
article thumbnail
A Comprehensive Agile Testing Methodology for Effective Software Development
The agile testing methodology approach in software testing aims to enhance the flexibility and efficiency of the software development process.
August 29, 2022
by Amandeep Kadd
· 5,946 Views · 2 Likes
article thumbnail
The CDI Event: How to Achieve Success on the Open-Close Principle
In this video, you'll learn how to achieve success on the Open-close principle using CDI event.
August 29, 2022
by Otavio Santana DZone Core CORE
· 7,348 Views · 3 Likes
article thumbnail
Is Visual Comparison Testing the Future?
Learn why visual comparison testing has witnessed a massive acceleration and adoption in the recent past making it a worthy choice in the future.
August 27, 2022
by Vivek Mannotra
· 6,533 Views · 1 Like
article thumbnail
A First Look at Bun: Will It Take Node’s Crown?
Bun is the newest and fastest all-in-one JavaScript framework. Will it take over Node? Is it better than Deno? Let's do some testing.
Updated August 26, 2022
by Tomas Fernandez
· 5,597 Views · 4 Likes
article thumbnail
Android Development Trends With AI and Machine Learning in Testing
Android application design trends are continually changing; it's important to keep up with the latest technology updates to stay competitive.
August 26, 2022
by Kiran Beladiya
· 7,962 Views · 1 Like
article thumbnail
Cypress.io — The Rising Future of Web Automation Testing
Are you looking for a new, exciting way to automate your web applications? Look no further than this article about the future of automated web testing.
August 24, 2022
by Parimal Kumar
· 7,118 Views · 3 Likes
article thumbnail
Things Every Product Manager Must Know About Testing
Learn how product managers can develop efficient testing pyramids and collaborative strategies to ensure smooth functioning applications.
August 23, 2022
by Vivek Mannotra
· 6,430 Views · 2 Likes
article thumbnail
Feature Store - Why Do You Need One?
How to set up a data architecture that saves your data scientists time and effort.
August 22, 2022
by Roger Oriol
· 5,194 Views · 1 Like
article thumbnail
Backend-for-Frontend: The Demo
This article is a demo for the backend for the frontend.
August 21, 2022
by Nicolas Fränkel
· 6,177 Views · 2 Likes
article thumbnail
The Lifecycle Objects on CDI [Video]
This video will explain more details about the object's lifecycle with CDI, where you can take benefits of this robust framework to control objects/resources.
August 21, 2022
by Otavio Santana DZone Core CORE
· 8,478 Views · 4 Likes
  • Previous
  • ...
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×