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 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,361 Views · 1 Like
article thumbnail
Angular vs React: Which JS Framework Is Better?
React is a library, but Angular is a full-fledged framework. Facebook developed ReactJS as a front-end JavaScript library for building user interfaces.
September 5, 2022
by Anastasiia Komendantova
· 6,867 Views · 3 Likes
article thumbnail
Node.js vs React.js Comparison: Which to Choose for Your JavaScript App Development?
In this article, you will find the introduction of React JS and Node JS, their features, example for the app development and its difference.
September 5, 2022
by Kiran Beladiya
· 6,271 Views · 1 Like
article thumbnail
Error Handling via Dead Letter Queue in Apache Kafka
Dead Letter Queue for error handling in Apache Kafka: Alternatives, best practices, and case studies from Uber and Crowdstrike.
September 3, 2022
by Kai Wähner DZone Core CORE
· 8,521 Views · 7 Likes
article thumbnail
End-to-End Tracing With OpenTelemetry
Tracing is one of the pillars of observability. This article focuses solely on traces and describes how you can start your journey into observability.
September 2, 2022
by Nicolas Fränkel
· 9,363 Views · 3 Likes
article thumbnail
Building Microservices Using Spring Boot and Docker
This step-by-step guide helps full-stack developers build components in microservices using Spring Boot and employ them in Docker.
Updated September 1, 2022
by Shaamik Mitraa
· 166,772 Views · 107 Likes
article thumbnail
.NET Framework Vs .NET Core: A Complete Quick Comparison
What should you choose for your next application - .NET Framework or .NET Core? In this article, let’s compare these two platforms and make the right decision.
August 31, 2022
by Kiran Beladiya
· 7,615 Views · 1 Like
article thumbnail
Prototype Pattern in JavaScript
Prototype patterns are needed when the object that you need to create is time-consuming, requires intensive resources, and is expensive.
Updated August 30, 2022
by Mahipal Nehra
· 7,202 Views · 4 Likes
article thumbnail
Here Is How To Develop UIs Faster in ReactJS
Develop UI in ReactJS: Learn 5 techniques to build UI faster with ReactJS and trending UI libraries to use in React to help designers build UI faster.
August 26, 2022
by Nisarg Mehta
· 8,909 Views · 2 Likes
article thumbnail
Ionic App Development Over Other Frameworks: Is It Hyped?
Ionic is an open-source SDK and was developed in the year 2013 for hybrid mobile app development. 8 million applications are built using this framework.
Updated August 25, 2022
by Satyam Chaturvedi
· 15,490 Views · 3 Likes
article thumbnail
Ruby on Rails vs Python for Web Development
Comparing two languages is difficult when choosing to develop a website. But few know the use and purpose of Ruby vs Python.
August 25, 2022
by Ferry Fitriadi
· 5,430 Views · 2 Likes
article thumbnail
Renovate, a Dependabot Alternative
Learn more about Renovate, a dependabot alternative.
August 24, 2022
by Nicolas Fränkel
· 10,196 Views · 4 Likes
article thumbnail
WebRTC Video Calls With Angular and Spring Boot
This in-depth tutorial demonstrates how to add video calls to an Angular/Spring Boot project with WebRTC in TypeScript.
August 23, 2022
by Sven Loesekann
· 8,664 Views · 6 Likes
article thumbnail
How To Create a Spring Boot Kubernetes Controller
Learn how to create Spring Boot Kubernetes controller.
August 23, 2022
by Amrut Prabhu
· 5,206 Views · 2 Likes
article thumbnail
Top Alternatives to Django for Web Development
Explore what are the other frameworks that can compete with Django on the same tech functional advancement level.
August 22, 2022
by Tetiana Stoyko
· 8,489 Views · 2 Likes
article thumbnail
Bootstrap K3S Data: For Beginners
Let’s take a look at how to create an initially well created cluster for managing bootstrap data with a description of K3S and High availability (HA) clusters.
Updated August 21, 2022
by Hrittik Roy
· 8,706 Views · 2 Likes
article thumbnail
How to Debug an Unresponsive Elasticsearch Cluster
While highly scalable, Elastisearch is complex to set up. Read on for a cheat sheet for common integration issues, what they mean, and how to solve them.
August 21, 2022
by Derric Gilling DZone Core CORE
· 6,819 Views · 2 Likes
article thumbnail
Angular 13's New and Improved Features and Updates You Need to Know
The Angular 13's new features and breaking changes will be explained in this article so that you can determine whether it's worth updating your project or not.
August 18, 2022
by Viaana Michael
· 4,150 Views · 2 Likes
article thumbnail
ASP.NET Web Forms Modernization Series, Part 2: Business Logic Layer Considerations
In this second post of a series dedicated to ASP.NET Web Forms modernization, follow a discussion of data access layer considerations.
August 17, 2022
by Veli Pehlivanov
· 3,588 Views · 1 Like
article thumbnail
Multi-tenancy Architecture With Shared Schema Strategy in Webapp Application Based on Spring-boot, Thymeleaf, and Posmulten-hibernate (Part 1)
One database to serve them all, one schema to bind them all.
August 16, 2022
by Szymon Tarnowski DZone Core CORE
· 7,605 Views · 2 Likes
  • Previous
  • ...
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • ...
  • 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
×