Skip to main content

Generating and applying intent-based Network configuration from Hedera

Project description

perseus

Network Device Configuration from Hedera Hashgraph Intent

Setting up guestshell

Enable guestshell

switch# guestshell enable

Wait until the guestshell becomes active

Resize guestshell diskspace

switch# conf t
switch(config)# guestshell resize rootfs 2000
switch(config)# guestshell resize memory 2688
switch(config)# guesthshell reboot

Update DNS

[cisco@guestshell ~] $ sudo vi /etc/resolv.conf
nameserver <dns server IP address>
domain <domain that matches NX-OS configured domain>

Install Python 3.8

[cisco@guestshell ~] $ sudo yum -y install epel-release
[cisco@guestshell ~] $ sudo yum -y update
[cisco@guestshell ~] $ sudo yum -y groupinstall "Development Tools"
[cisco@guestshell ~] $ sudo yum -y install openssl-devel bzip2-devel libffi-devel xz-devel

Confirm GCC

[cisco@guestshell ~] $ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

Install Python 3.8.12

[cisco@guestshell ~] $ sudo yum -y install wget
[cisco@guestshell ~] $ wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
[cisco@guestshell ~] $ tar xvf Python-3.8.12.tgz
[cisco@guestshell ~] $ cd Python-3.8*/
[cisco@guestshell ~] $ ./configure --enable-optimizations
[cisco@guestshell ~] $ sudo make altinstall

Confirm install

[cisco@guestshell ~]$ python3.8 --version
Python 3.8.12
[cisco@guestshell ~] $ rm -rf Python-3.8*/
[cisco@guestshell ~] $ rm Python-3.8.12.tgz

Add Python to the Path

Cleanup

[cisco@guestshell ~] $ rm -rf Python-3.8.12
[cisco@guestshell ~] $ rm Python-3.8.12.tgz

Upgrade pip

[cisco@guestshell ~] $ /usr/bin/python -m pip install --upgrade pip

Install Java JDK

[cisco@guestshell ~] $ curl https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.rpm --output jdk-18_linux-x64_bin.rpm
[cisco@guestshell ~] $ sudo rpm -Uvh jdk-18_linux-x64_bin.rpm
[cisco@guestshell ~] $ cat <<EOF | sudo tee /etc/profile.d/jdk18.sh
export JAVA_HOME=/usr/java/default
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
[cisco@guestshell ~] $ source /etc/profile.d/jdk18.sh
[cisco@guestshell ~] $ rm jdk-18_linux-x64_bin.rpm

Verify Java

[cisco@guestshell ~] $ java -version
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)

Setup Network3 Perseus

Install Network3_Perseus

pip install the package

[cisco@guestshell ~] $ python3.8 -m pip install network3_perseus

setup call_clid.py

[cisco@guestshell ~] $ sudo vi call_clid.py
import sys
from cli import *

if sys.argv[1] == "show running-config":
  output = cli(sys.argv[1])
else:
  output = clid(sys.argv[1])
print(output)
:wq

setup cli_configure.py

[cisco@guestshell ~] $ sudo vi cli_configure.py
import sys
from cli import *
cli(sys.argv[1])
:wq

Configure Network3 Medusa

Configure Java

[cisco@guestshell ~] $ OPERATOR_ID={ Hedera account id }
[cisco@guestshell ~] $ OPERATOR_PRIVATE_KEY={ Hedera private key }

(Optional)

Export your Webex Room and Webex token to send alerts to Webex when Network3 Medusa writes data to Hedera export WEBEX_ROOM="Webex room id" export WEBEX_TOKEN="Webex token id"

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

network3_perseus-0.1.42.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

network3_perseus-0.1.42-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file network3_perseus-0.1.42.tar.gz.

File metadata

  • Download URL: network3_perseus-0.1.42.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.4 Linux/5.10.102.1-microsoft-standard-WSL2

File hashes

Hashes for network3_perseus-0.1.42.tar.gz
Algorithm Hash digest
SHA256 35972c4e03440b663c43cb941e6a22f58a242aa65999482dd830f9a4e59d3203
MD5 8bd3c481fd927441d69ce471da3a10e4
BLAKE2b-256 d37f181838a068c2b9a709a6d4c9d5484327651cd73b46bc755e7b01129b14eb

See more details on using hashes here.

File details

Details for the file network3_perseus-0.1.42-py3-none-any.whl.

File metadata

  • Download URL: network3_perseus-0.1.42-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.4 Linux/5.10.102.1-microsoft-standard-WSL2

File hashes

Hashes for network3_perseus-0.1.42-py3-none-any.whl
Algorithm Hash digest
SHA256 2b772b223105e206c6d82b76f32ec78f99043d753b4ef587279fc2abad0f0111
MD5 65686fc453314e465bb92ecd243fc639
BLAKE2b-256 666f0e8820deecc32f1c515c009f3b0b9b068ff91a04f36e184b7c6a83d8831a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page