War tests Ukrainian telecom, internet resilience

One year after Russia’s invasion of Ukraine, the country’s overall resilience and defiance has been inspiring, but telecommunications and internet connectivity has grown much more difficult.Initially the country’s internet network mostly withstood with some outages and slowdowns, but that has changed over time as the aggressors devote more effort in destroying physical locations and deploying malware and other cybersecurity weapons.For example, researchers at Top10VPN recently reported some distressing analysis including:To read this article in full, please click here

Automation 22. How to Use NetBox Scripts To Add Value To Your Network Source of Truth

Dear friend,

Source of Truth plays crucial role in network automation as this is the basis we are automating our IT and network infrastructure against. It doesn’t mean to be monitoring system in any capacity. At the same time, it may be useful to quickly do some checks against your network infrastructure and to update some metadata in the Source of Truth.

Oh, Are You Talking About NetBox Again?

Yes, we are. NetBox is a leading tool in the source of truth framework. Being open-source, it by far outpaces all other open-source and commercial tools existing worldwide in this area. On top of its wide built-in capabilities, it is highly extensible via plugins and scripts.

The good news is that we covered NetBox in our Zero-to-Hero Network Automation Training, and you can benefit from learning it from the context of network automation with integrations to Python and Ansible tools, which you create during our training.

We offer the following training programs for you:

During these trainings you will learn the following topics:

What’s Next For DPUs? – Packet Pushers Livestream With Dell Technologies – Video

How will the Data Processing Unit (DPU) market evolve? Are there new use cases for this infrastructure platform? Greg Ferro from the Packet Pushers and Joseph White, Fellow at Dell Technologies, look into the crystal ball to see where DPUs might go. This video is sponsored by Dell Technologies. You can subscribe to the Packet […]

The post What’s Next For DPUs? – Packet Pushers Livestream With Dell Technologies – Video appeared first on Packet Pushers.

Using Python Logging to Figure Out What You Did Wrong

As a warning to everyone, I am not a developer. I am a network engineer who is trying to do some automation stuff. Some of what I’m doing sounds logical to me, but I would not trust my own opinions for production work. I’m sure you can find a Slack channel or Mastodon instance with people who can tell you how to do things properly.

I use too many print statements to figure out what’s going on. Get an object and print it to screen to make sure it’s right. Do a calculation and print the result. There are so many print statements in my code that I had to start using a debug variable to tell it when to print stuff. I even use that technique in my functions.

# Don't do stuff like this
def myFunc(string_to_return, debug=False):
    if debug:
        print(f"Returning \"{string_to_return}\"")
    return string_to_return

local_debug = True
string_to_send = "Aaron wastes a lot of time with print statements."

if local_debug:
    print(f"I'm sending \"{string_to_send}\"")
myString = myFunc(string_to_send, debug=True)
print(myString)

It’s painful to look at this code. I need a better solution, and I found Python’s logging module.

Very simply, you associate your messages with one of five logging levels (debug, info, warning, error, Continue reading

Using Python Logging to Figure Out What You Did Wrong

As a warning to everyone, I am not a developer. I am a network engineer who is trying to do some automation stuff. Some of what I’m doing sounds logical to me, but I would not trust my own opinions for production work. I’m sure you can find a Slack channel or Mastodon instance with people who can tell you how to do things properly.

I use too many print statements to figure out what’s going on. Get an object and print it to screen to make sure it’s right. Do a calculation and print the result. There are so many print statements in my code that I had to start using a debug variable to tell it when to print stuff. I even use that technique in my functions.

# Don't do stuff like this
def myFunc(string_to_return, debug=False):
    if debug:
        print(f"Returning \"{string_to_return}\"")
    return string_to_return

local_debug = True
string_to_send = "Aaron wastes a lot of time with print statements."

if local_debug:
    print(f"I'm sending \"{string_to_send}\"")
myString = myFunc(string_to_send, debug=True)
print(myString)

It’s painful to look at this code. I need a better solution, and I found Python’s logging module.

Very simply, you associate your messages with one of five logging levels (debug, info, warning, error, Continue reading

Building A Turnkey DPU Solution – Packet Pushers Livestream With Dell Technologies – Video

Dell Technologies and VMware have partnered on a turnkey HCI-based VxRail solution that integrates VMware’s vSphere Distributed Services Engine and DPU hardware from NVIDIA and AMD Pensando. In this video, Ethan Banks from the Packet Pushers and Joseph White, Fellow at Dell Technologies, discuss how the software and hardware come together to take advantage of […]

The post Building A Turnkey DPU Solution – Packet Pushers Livestream With Dell Technologies – Video appeared first on Packet Pushers.

Creating a Talos Linux Cluster on AWS with Pulumi

Talos Linux is a Linux distribution purpose-built for running Kubernetes. The Talos web site describes Talos Linux as “secure, immutable, and minimal.” All system management is done via an API; there is no SSH access, no shell, and no console. In this post, I’ll share how to use Pulumi to automate the creation of a Talos Linux cluster on AWS.

I chose to write my Pulumi program in Go, but you could—of course—choose to write it in any language that Pulumi supports (JavaScript/TypeScript, Python, one of the .NET languages, Java, or even YAML). I’ve made the Pulumi program available via this GitHub repository. It’s based on these instructions for standing up Talos Linux on AWS.

The Pulumi program has four major sections:

  1. First, it creates the underlying base infrastructure needed for a Talos Linux cluster to run. This includes a VPC (and all the assorted other pieces, like subnets, gateways, routes, and route tables) and a load balancer. The load balancer is needed for the Kubernetes control plane, which we will bootstrap later in the program. This portion also creates the EC2 instances for the control plane.
  2. Next, it uses the Talos Pulumi provider to generate the Talos Continue reading

Heavy Networking 667: Broadcom’s NetOps Delivers End-User Visibility Into SD-WAN (Sponsored)

In today’s Heavy Networking show with sponsor Broadcom we go deep into network management and Digital Experience Monitoring (DEM). At its heart, DEM is about understanding the user experience of the network. Network monitoring and management products that incorporate user experience, such as Broadcom's DX NetOps, can provide visibility into network and application performance to help inform troubleshooting efforts and speed resolution.

Heavy Networking 667: Broadcom’s NetOps Delivers End-User Visibility Into SD-WAN (Sponsored)

In today’s Heavy Networking show with sponsor Broadcom we go deep into network management and Digital Experience Monitoring (DEM). At its heart, DEM is about understanding the user experience of the network. Network monitoring and management products that incorporate user experience, such as Broadcom's DX NetOps, can provide visibility into network and application performance to help inform troubleshooting efforts and speed resolution.

The post Heavy Networking 667: Broadcom’s NetOps Delivers End-User Visibility Into SD-WAN (Sponsored) appeared first on Packet Pushers.

Deleting Stuff from Netbox with Pynetbox

As a warning to everyone, I am not a developer. I am a network engineer who is trying to do some automation stuff. Some of what I’m doing sounds logical to me, but I would not trust my own opinions for production work. I’m sure you can find a Slack channel or Mastodon instance with people who can tell you how to do things properly.

We’ve added stuff and updated stuff, so let’s delete some stuff. “Hey, man…you already did that,” you say? You’re right! When we started creating API tokens based on user/pass, we made sure to delete the token at the end. That means we should all be professional pynetbox deleters, then, right? 🙂

When using pynetbox, we mostly deal with object. When updating, we get the object, make changes, then save it back to Netbox. We don’t say “update object 38718 with a new widget”; you actually manipulate an object. When we delete something, we do the same thing…get the object and delete it. Here’s a snippet of the token cleanup script to show that.

<SNIP>
all_tokens = nb_conn.users.tokens.all()

for token in all_tokens:
    <SNIP>
    token.delete()

<SNIP>

Don’t think on the logic of Continue reading

Deleting Stuff from Netbox with Pynetbox

As a warning to everyone, I am not a developer. I am a network engineer who is trying to do some automation stuff. Some of what I’m doing sounds logical to me, but I would not trust my own opinions for production work. I’m sure you can find a Slack channel or Mastodon instance with people who can tell you how to do things properly.

We’ve added stuff and updated stuff, so let’s delete some stuff. “Hey, man…you already did that,” you say? You’re right! When we started creating API tokens based on user/pass, we made sure to delete the token at the end. That means we should all be professional pynetbox deleters, then, right? 🙂

When using pynetbox, we mostly deal with object. When updating, we get the object, make changes, then save it back to Netbox. We don’t say “update object 38718 with a new widget”; you actually manipulate an object. When we delete something, we do the same thing…get the object and delete it. Here’s a snippet of the token cleanup script to show that.

<SNIP>
all_tokens = nb_conn.users.tokens.all()

for token in all_tokens:
    <SNIP>
    token.delete()

<SNIP>

Don’t think on the logic of this Continue reading

Bullet-Proofing Your 5G Security Plan

With latency improvements and higher data speeds, 5G represents exponential growth opportunities with the potential to transform entire industries — from fueling connected autonomous vehicles, smart cities, mixed reality technologies, robotics and more. As enterprises rethink connectivity, 5G will be a major investment area. However, according to Palo Alto Networks’

Join VMware Networking and Security at Mobile World Congress

VMware NSX Powers Service Acceleration and Energy Efficiency for VMware Telco Cloud Platform

Mobile World Congress 2023 is upon us and that means new features and cool innovations to help telcos manage their increasingly complicated 5G networks. This year, we are focused on building smarter networks and increasing telco efficiency. These networks are expanding the concept of network functions virtualization (NFV), introduced over 10 years ago, to build a virtualized software-defined architecture with virtual network functions (VNF) and cloud-native network functions (CNF).

Modern telco networks depend on flexibility, scalability and security. The network demands constantly change requiring an integrated orchestration and automation strategy across different services and technologies. All of this needs to be done with an eye on efficiency, optimizing the human resources along with the energy and infrastructure requirements. VMware NSX platform is a key technology to enable these benefits.

The VMware Telco Cloud Platform is designed to address these challenges that Communications Service Providers (CSPs) face. The Telco Cloud Platform is a solution that integrates key VMware components (vSphere, vSAN, and NSX) to create a cloud and virtualization architecture for 5G core networks and their VNF/CNF environment. VMware NSX powers the Telco Cloud Platform to provide telco-grade Continue reading

ROFL with a LOL: rewriting an NGINX module in Rust

ROFL with a LOL: rewriting an NGINX module in Rust
ROFL with a LOL: rewriting an NGINX module in Rust

At Cloudflare, engineers spend a great deal of time refactoring or rewriting existing functionality. When your company doubles the amount of traffic it handles every year, what was once an elegant solution to a problem can quickly become outdated as the engineering constraints change. Not only that, but when you're averaging 40 million requests a second, issues that might affect 0.001% of requests flowing through our network are big incidents which may impact millions of users, and one-in-a-trillion events happen several times a day.

Recently, we've been working on a replacement to one of our oldest and least-well-known components called cf-html, which lives inside the core reverse web proxy of Cloudflare known as FL (Front Line). Cf-html is the framework in charge of parsing and rewriting HTML as it streams back through from the website origin to the website visitor. Since the early days of Cloudflare, we’ve offered features which will rewrite the response body of web requests for you on the fly. The first ever feature we wrote in this way was to replace email addresses with chunks of JavaScript, which would then load the email address when viewed in a web browser. Since bots are often unable Continue reading