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
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Latest Articles - DZone

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,431 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,246 Views · 5 Likes
article thumbnail
Reverse Pull Requests
This article explains how we used GitHub PRs in a trunk-based, continuous deployment development team.
September 6, 2022
by Lukasz Gryzbon
· 8,410 Views · 3 Likes
article thumbnail
Learn Digital Transformation With Coding Over Cocktails
Listen to these experts and leaders as they give advice on how to kickstart digital transformation and insights from those that have done it before.
September 6, 2022
by David Brown DZone Core CORE
· 4,192 Views · 2 Likes
article thumbnail
How To Add, Remove, or Rotate Pages in a PDF Document Using Java
Learn API solutions to add pages from one PDF to another, remove pages from a PDF, rotate all pages within a PDF, and rotate a subset of pages within a PDF.
September 6, 2022
by Brian O'Neill DZone Core CORE
· 6,998 Views · 3 Likes
article thumbnail
How to Monetize Your APIs: Choosing Your API Monetization Stack
Monetizing an API isn't easy, but with the right tools, you can build a product and deploy ASAP. Learn about assessing which stack fits your API needs.
September 6, 2022
by Matt Tanner
· 4,726 Views · 1 Like
article thumbnail
Preventing SQL Injections in Java With JPA and Hibernate
Preventing SQL Injections in Java using SQL Parameters with the Java Persistence API (JPA) and Hibernate ORM.
September 6, 2022
by Elmar Dott
· 7,442 Views · 4 Likes
article thumbnail
What Is a Distributed Database?
This article explains what a distributed database is, why use it and how data is stored in a distributed database.
September 6, 2022
by Ankur Tyagi
· 5,482 Views · 4 Likes
article thumbnail
Cloud Migration Manual: The Adjustment to SaaS Model
Moving to SaaS software is a huge step to take, and it requires deep analysis and proper process setup. This post intends to guide you on how to move to SaaS.
Updated September 6, 2022
by Tetiana Stoyko
· 8,959 Views · 3 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,561 Views · 6 Likes
article thumbnail
How GPT-Neo Can Be Used in Different Tasks
This article will explain how GPT-Neo can be used in 4 different tasks. The tasks are Text Generation, Entity detection, Intent Classification, and Ads Generation.
September 5, 2022
by Mittal Patel
· 6,871 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,950 Views · 3 Likes
article thumbnail
What Is Software Stack?
Developers should know about software stack, enabling them to pick the right stack for developing their apps.
September 5, 2022
by Nitish Singh DZone Core CORE
· 7,745 Views · 6 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,340 Views · 1 Like
article thumbnail
How Does the Milvus Vector Database Ensure Data Security?
This article aims to analyze how Milvus, the vector database ensures data security with user authentication and TLS connection.
September 5, 2022
by Charles Xie
· 4,320 Views · 2 Likes
article thumbnail
Traceroute Command in Python and How to Read a Traceroute
Traceroute or tracert command traces the hops between the origin and destination. In this post, we'll learn traceroute and how it helps in network troubleshooting.
Updated September 5, 2022
by camimi Morales
· 8,241 Views · 3 Likes
article thumbnail
How to Install Pixie for Kubernetes Monitoring: The Complete Guide
Pixie is an open-source observability tool for Kubernetes applications that allows software engineers to view the high-level state of Kubernetes clusters.
September 4, 2022
by Florian Pialoux
· 7,445 Views · 2 Likes
article thumbnail
What Is Product-Led Growth and Why Is It Critical for API-First Companies?
An overview of product-led growth (PLG) and why API companies need it to appeal to developer customers.
September 4, 2022
by Derric Gilling DZone Core CORE
· 4,886 Views · 1 Like
article thumbnail
Getting Started With Chaos Engineering
In this article, learn ways to ease your concerns about chaos engineering and help your organization get started implementing this practice.
September 4, 2022
by NaveenKumar Namachivayam DZone Core CORE
· 9,736 Views · 5 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,547 Views · 1 Like
  • Previous
  • ...
  • 672
  • 673
  • 674
  • 675
  • 676
  • 677
  • 678
  • 679
  • 680
  • 681
  • ...
  • 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
×