{"id":20589477,"url":"https://github.com/ciscodevnet/brkdev-1368","last_synced_at":"2025-03-06T13:29:28.145Z","repository":{"id":42651794,"uuid":"116717209","full_name":"CiscoDevNet/BRKDEV-1368","owner":"CiscoDevNet","description":"Code used for the Cisco Live Session BRKDEV-1368","archived":false,"fork":false,"pushed_at":"2022-12-07T23:44:24.000Z","size":204,"stargazers_count":39,"open_issues_count":13,"forks_count":26,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-01-16T23:42:57.800Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CiscoDevNet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-08T19:13:46.000Z","updated_at":"2024-11-16T16:16:53.000Z","dependencies_parsed_at":"2022-09-14T17:01:52.479Z","dependency_job_id":null,"html_url":"https://github.com/CiscoDevNet/BRKDEV-1368","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2FBRKDEV-1368","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2FBRKDEV-1368/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2FBRKDEV-1368/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2FBRKDEV-1368/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CiscoDevNet","download_url":"https://codeload.github.com/CiscoDevNet/BRKDEV-1368/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242218040,"owners_count":20091324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T07:29:30.786Z","updated_at":"2025-03-06T13:29:28.126Z","avatar_url":"https://github.com/CiscoDevNet.png","language":"HTML","readme":"# BRKDEV-1368\n\n# Environment Setup\n\nFollow these instructions to standup the demo and code environment.  \n\n1. Pre-reqs\n    * Python 2.7 and Python 3.6\n      * pip and virtualenv\n\n1. If you haven't already, clone down this repository to your local workstation. \n\n    ```bash\n    git clone https://github.com/CiscoDevNet/BRKDEV-1368.git\n    ```\n\n1. Change into the code repository directory. \n\n    ```bash\n    cd BRKDEV-1368\n    ```\n\n\n1. Setup Python Virtual Environment\n\n    ```bash\n    python3 -m venv venv\n    source venv/bin/activate\n    pip install -r requirements.txt\n    ```\n\n1. Reserve an instance of [DevNet Sandbox - Multi-IOS Test Network](https://devnetsandbox.cisco.com/RM/Diagram/Index/6b023525-4e7f-4755-81ae-05ac500d464a?diagramType=Topology). Pick **None** as the `Virl Simulation` before reserving.  This will start the lab with NO topology loaded in VIRL, we'll be starting our own. \n\n    ![](sbx-reserve-1.jpg)\n\n    \u003e It will take about 10 minutes for the lab to fully spin up.  \n\n1. Once your lab is ready, use the VPN credentials you recieve via email, or find in the **OUTPUT** box in the Sandbox portal to connect to your lab. \n\n1. We will use the Python package `virlutils` to start the lab.  If you don't have it installed already, go ahead and do so now. \n\n    \u003e Note: This guide assumes a basic knowledge of Python and doesn't explicitly state to use a virtual environment, or a version of Python to use.  Any recent version of Python and common working environment should work. \n\n    ```bash\n    pip install virlutils\n    ```\n\n1. Verify that your lab and virlutils is working.\n\n    ```bash\n    # Check what version of VIRL is loaded (verify you can talk to server)\n    virl version\n\n    # Check if any simulations are running\n    virl ls --all\n    ```\n\n    \u003cdetails\u003e\u003csummary\u003eOutput\u003c/summary\u003e\n\n    ```\n    $virl version\n    virlutils Version: 0.8.8\n    VIRL Core Version: 0.10.37.32\n    \n    $ virl ls --all\n    Running Simulations\n    ╒══════════════╤══════════╤════════════════════════════╤═══════════╕\n    │ Simulation   │ Status   │ Launched                   │ Expires   │\n    ╞══════════════╪══════════╪════════════════════════════╪═══════════╡\n    │ ~jumphost    │ ACTIVE   │ 2019-12-15T16:27:42.567768 │           │\n    ╘══════════════╧══════════╧════════════════════════════╧═══════════╛\n    ```\n\n    \u003c/details\u003e\n\n\n    * If any simulation other than `~jumphost` is running, stop it with the following command. \n\n        ```bash\n        virl down --sim-name {SIMULATION_NAME}\n        ```\n\n1. Jump into the demo directory where the topology file is located. \n\n    ```bash\n    cd demo\n    ```\n\n1. Start a simulation for this lab. \n\n    ```bash\n    virl up\n    ```\n\n    \u003cdetails\u003e\u003csummary\u003eOutput\u003c/summary\u003e\n\n    ```\n    Creating default environment from topology.virl\n    ```\n\n    \u003c/details\u003e\n\n1. It will take several minutes for the simulation to fully start, you can monitor it with the following command - waiting for all devices to show `REACHABLE`\n\n    ```bash\n    virl nodes\n    ```\n\n    \u003cdetails\u003e\u003csummary\u003eDevices Details\u003c/summary\u003e\n\n    ```bash\n    ╒═══════════╤══════════╤═════════╤═════════════╤════════════╤══════════════════════╤════════════════════╕\n    │ Node      │ Type     │ State   │ Reachable   │ Protocol   │ Management Address   │ External Address   │\n    ╞═══════════╪══════════╪═════════╪═════════════╪════════════╪══════════════════════╪════════════════════╡\n    │ iosxe1    │ CSR1000v │ ACTIVE  │ REACHABLE   │ telnet     │ 172.16.30.181        │ N/A                │\n    ├───────────┼──────────┼─────────┼─────────────┼────────────┼──────────────────────┼────────────────────┤\n    │ iosxe2    │ CSR1000v │ ACTIVE  │ REACHABLE   │ telnet     │ 172.16.30.182        │ N/A                │\n    ├───────────┼──────────┼─────────┼─────────────┼────────────┼──────────────────────┼────────────────────┤\n    │ iosxe3    │ CSR1000v │ ACTIVE  │ REACHABLE   │ telnet     │ 172.16.30.183        │ N/A                │\n    ├───────────┼──────────┼─────────┼─────────────┼────────────┼──────────────────────┼────────────────────┤\n    │ iosxe4    │ CSR1000v │ ACTIVE  │ REACHABLE   │ telnet     │ 172.16.30.184        │ N/A                │\n    ├───────────┼──────────┼─────────┼─────────────┼────────────┼──────────────────────┼────────────────────┤\n    │ ~mgmt-lxc │ mgmt-lxc │ ACTIVE  │ REACHABLE   │ ssh        │ 172.16.30.118        │ 172.16.30.119      │\n    ╘═══════════╧══════════╧═════════╧═════════════╧════════════╧══════════════════════╧════════════════════╛\n\n    ```\n\n    \u003c/details\u003e\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciscodevnet%2Fbrkdev-1368","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fciscodevnet%2Fbrkdev-1368","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciscodevnet%2Fbrkdev-1368/lists"}