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.1.tar.gz
(17.0 kB
view details)
Built Distribution
File details
Details for the file network3_perseus-0.1.1.tar.gz
.
File metadata
- Download URL: network3_perseus-0.1.1.tar.gz
- Upload date:
- Size: 17.0 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0e6e6be24bdbfd16bb1fd1cc788fae2abc93222a8fa5f199fb1146aa31c8d58 |
|
MD5 | b1538f9abeb5ddce0434db61b0c67655 |
|
BLAKE2b-256 | 65d7d93f7aee72db6c8dd81cc82d36fbc221451db468f3762e0cd050e01b7b86 |
File details
Details for the file network3_perseus-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: network3_perseus-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.5 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f20b832475d9eaa0b969fcaa3a7588e5b3b7d2907cabe91af80cc9018478b5d |
|
MD5 | 7e2ee21b00b90960bdfc9351c5efeb79 |
|
BLAKE2b-256 | dbb7a2035a74686f98d1a8c459291776d0d04d9a10fadd981bbd7f188b722d97 |