- Google Dosctrings
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
from json import dumps | |
from os import environ | |
from urllib3 import PoolManager | |
logging.getLogger().setLevel(logging.INFO) | |
def post_to_slack(event, context): | |
slack_channel = environ.get("SLACK_NET_CHANNEL") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
import yaml | |
from jinja2 import Environment, FileSystemLoader, PackageLoader, StrictUndefined | |
# Docs: https://jinja.palletsprojects.com/en/2.11.x/api/#basics | |
# Functions | |
def render_yaml_template(yaml_file, jinja_template, output="files/sshd_config"): | |
""" | |
This takes a yam file with all yor vars, a Jinja template and renders an output file |
Method 1 - With basicCofig() (Logging to a file)
#!/usr/bin/env python3
import logging
def conf_logging(log_sev='WARNING'):
log_format = "[%(name)s]-[%(levelname)s]-%(asctime)s-[%(funcName)s]-%(message)s"
datefmt='[%d/%m/%y]-[%H:%M:%S]'
file='dotfiles.log'
The following commands will help you to install Python 3.9.1 on a Centos 7 or Ubuntu 18.04 machine.
https://www.python.org/ftp/python/ - We'll select the latest version as of Dec 2020 (3.9.1)
sudo yum install gcc openssl-devel bzip2-devel libffi-devel
https://nornir.readthedocs.io/en/stable/index.html
r = InitNornir(config_file='config.yaml')
nr = InitNornir(config_file='config.yaml', core={'num_workers': 1}) # Useful for testing as it works in serial, doesn't paralellise connections.
The purpose of this gist is to gather facts from a network device with Napalm and Nornir alike.
This will help us understand how to use tasks in Nornir.
- We will be using Telnet to connect to our devices. By default, Napalm uses SSH to connect (See Napalm optional args) to the IOS devices. For this reason, we will need to pass
optional_arguments
when instantiating the Napalm driver object. - r2 can be replaced with the device ip. In my case, I was working with host files in my OS.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BEFORE START WORKING | |
Git fetch origin # Origin is the place from where you cloned your repository. | |
Git merge origin/master # Merge origin/master into your current branch. | |
git pull # Same | |
AFTER FINISH WORKING | |
git add | |
git commit -m "Commit message" | |
Git fetch origin # In case the remote could be ahead of you. Origin is the place from where you cloned your repository. |
NewerOlder