<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/">
  <channel>
    <title>Automation</title>
    <link>https://www.linuxjournal.com/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Puppet Redefines Infrastructure Automation</title>
  <link>https://www.linuxjournal.com/content/puppet-redefines-infrastructure-automation</link>
  <description>  &lt;div data-history-node-id="1340630" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/petros-koutoupis" lang="" about="https://www.linuxjournal.com/users/petros-koutoupis" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Petros Koutoupis&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
&lt;a href="https://puppet.com"&gt;Puppet&lt;/a&gt; has long been regarded as
nothing more than an open-source software configuration management tool.
The company has become a standard for automating the delivery and operation of
the software that powers everything around us. Well, this is about to
change. Puppet has evolved and has positioned itself to tackle
enterprise-grade problems. All of this and more, was announced on May
2, 2019.
&lt;/p&gt;

&lt;p&gt;
So what makes this announcement so exciting? I sat down with Matt
Waxman, Puppet's Head of Products to learn more.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Petros Koutoupis:&lt;/strong&gt; Please introduce yourself to our
readers.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Matt Waxman:&lt;/strong&gt; I have been the Head of
Products at Puppet since 2017. I have been in the Product space for at
least 20 years, largely focused on infrastructure. Before coming to
Puppet, I was in data storage backup, replication and disaster
recovery. I am the guy who deals with roadmaps and user experience
across our product portfolio.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Petros:&lt;/strong&gt;  What can you tell us about this announcement?
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Matt Waxman:&lt;/strong&gt; Automation of more than just the state of your
virtual machines, containers and so on is extremely important. How do you
enable more teams? It is all about service, safety and quality of
delivery. This is what we are doing with Puppet to serve those exact
needs. And with our latest release 2019.1,  we simplify the experience
in automation to meet those demands.
&lt;/p&gt;

&lt;p&gt;
We enhanced our agentless and agent-based capabilities, such as
supporting the automation of network devices (for example, Cisco and Palo Alto)
and giving users the ability to automate anything and anywhere quickly,
efficiently, safely and at scale. But some of our most notable changes
are centered around our agentless task runner, Bolt. We introduced it
about a year and a half ago. Bolt is an automation tool built to
automate anything in your infrastructure without the hassle. It was very
well received by the Open Source community. What is new here though is
we have found that more and more customers and users are starting to
automate from a development perspective. Developers have a constant need
to stand up an infrastructure quickly for both testing and support. Not
only did we make Bolt more user-friendly for the broader community, but
we also added YAML support.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Petros:&lt;/strong&gt; Why is this announcement so exciting?
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Matt Waxman:&lt;/strong&gt; The demand for infrastructure-focused automation is
growing, and many companies are unable to scale to meet that demand. With
release 2019.1, we made a lot of investment in not only addressing this
challenge but also in simplifying the experience.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/puppet-redefines-infrastructure-automation" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 15 May 2019 11:30:00 +0000</pubDate>
    <dc:creator>Petros Koutoupis</dc:creator>
    <guid isPermaLink="false">1340630 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>A Use Case for Network Automation</title>
  <link>https://www.linuxjournal.com/content/use-case-network-automation</link>
  <description>  &lt;div data-history-node-id="1340365" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/eric-pearce" lang="" about="https://www.linuxjournal.com/users/eric-pearce" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Eric Pearce&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Use the Python Netmiko module to automate switches, routers and firewalls
from multiple vendors.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
I frequently find myself in the position of confronting "hostile"
networks. By hostile, I mean that there is no existing documentation, or
if it does exist, it is hopelessly out of date or being
hidden deliberately. With that in mind, in this article, I describe the tools I've found useful to
recover control, audit, document and automate these networks. Note that
I'm not going to try to document any of the tools completely here.
I mainly want to give you enough real-world examples to prove how
much time and effort you could save with these tools, and I hope this
article motivates you to explore the official documentation and example code.
&lt;/p&gt;

&lt;p&gt;
In order to save money, I wanted to use open-source tools to gather
information from all the devices on the network. I haven't found a
single tool that works with all the vendors and OS versions that
typically are encountered. SNMP could provide a lot the information
I need, but it would have to be configured on
each device manually first. In fact, the mass enablement of SNMP could be
one of the first use cases for the network automation tools described
in this article.
&lt;/p&gt;

&lt;p&gt;
Most modern devices support REST APIs, but companies
typically are saddled with lots of legacy devices that don't support
anything fancier than Telnet and SSH. I settled on SSH access as the
lowest common denominator, as every device must support this in order to
be managed on the network.
&lt;/p&gt;

&lt;p&gt;
My preferred automation language is Python,
so the next problem was finding a Python module that abstracted the SSH
login process, making it easy to run commands and gather command output.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
Why Netmiko?
&lt;/span&gt;

&lt;p&gt;
I discovered the Paramiko SSH module quite a few years ago and used it
to create real-time inventories of Linux servers at multiple companies.
It enabled me to log in to hosts and gather the output of commands, such
as &lt;code&gt;lspci&lt;/code&gt;, &lt;code&gt;dmidecode&lt;/code&gt; and &lt;code&gt;lsmod&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
The command output populated a
database that engineers could use to search for specific hardware.
When I then tried to use Paramiko to inventory network switches, I found
that certain switch vendor and OS combinations would cause Paramiko SSH
sessions to hang. I could see that the SSH login itself was successful,
but the session would hang right after the login. I never was able to
determine the cause, but I discovered Netmiko while researching the
hanging problem. When I replaced all my Paramiko code with Netmiko
code, all my session hanging problems went away, and I haven't looked
back since. Netmiko also is optimized for the network device management
task, while Paramiko is more of a generic SSH module.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/use-case-network-automation" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 21 Jan 2019 13:00:00 +0000</pubDate>
    <dc:creator>Eric Pearce</dc:creator>
    <guid isPermaLink="false">1340365 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
