{"id":25690167,"url":"https://github.com/mweisel/cisco-nxos9kv-vagrant-libvirt","last_synced_at":"2025-04-24T03:15:02.478Z","repository":{"id":229240627,"uuid":"230383887","full_name":"mweisel/cisco-nxos9kv-vagrant-libvirt","owner":"mweisel","description":"A procedure for creating a Cisco Nexus 9000v Vagrant box for the libvirt provider.","archived":false,"fork":false,"pushed_at":"2022-06-18T19:33:54.000Z","size":37,"stargazers_count":13,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-24T03:14:56.666Z","etag":null,"topics":["cisco-nexus","cisco-nx-os","libvirt-provider","vagrant-box"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mweisel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-12-27T06:10:52.000Z","updated_at":"2025-02-15T13:06:05.000Z","dependencies_parsed_at":"2024-03-22T23:46:53.829Z","dependency_job_id":"999e0c65-f452-4987-b536-663ce890c842","html_url":"https://github.com/mweisel/cisco-nxos9kv-vagrant-libvirt","commit_stats":null,"previous_names":["mweisel/cisco-nxos9kv-vagrant-libvirt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nxos9kv-vagrant-libvirt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nxos9kv-vagrant-libvirt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nxos9kv-vagrant-libvirt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nxos9kv-vagrant-libvirt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mweisel","download_url":"https://codeload.github.com/mweisel/cisco-nxos9kv-vagrant-libvirt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250552080,"owners_count":21449165,"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":["cisco-nexus","cisco-nx-os","libvirt-provider","vagrant-box"],"created_at":"2025-02-24T22:16:35.268Z","updated_at":"2025-04-24T03:15:02.410Z","avatar_url":"https://github.com/mweisel.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"Vagrant\" src=\"https://img.shields.io/badge/vagrant%20-%231563FF.svg?\u0026style=for-the-badge\u0026logo=vagrant\u0026logoColor=white\"/\u003e\n\n# Cisco Nexus 9000v Vagrant box\n\nA procedure for creating a Cisco Nexus 9000v Vagrant box for the [libvirt](https://libvirt.org) provider.\n\n## Prerequisites\n\n  * [Git](https://git-scm.com)\n  * [Python](https://www.python.org) \u003e= 3.8\n  * [Ansible](https://docs.ansible.com/ansible/latest/index.html) \u003e= 2.11.0\n  * [libvirt](https://libvirt.org) with client tools\n  * [QEMU](https://www.qemu.org)\n  * [Expect](https://en.wikipedia.org/wiki/Expect)\n  * [Telnet](https://en.wikipedia.org/wiki/Telnet)\n  * [Vagrant](https://www.vagrantup.com) \u003e= 2.2.10, != 2.2.16\n  * [vagrant-libvirt](https://github.com/vagrant-libvirt/vagrant-libvirt)\n\n## Steps\n\n0\\. Verify the prerequisite tools are installed.\n\n\u003cpre\u003e\n$ \u003cb\u003ewhich git python ansible libvirtd virsh qemu-system-x86_64 expect telnet vagrant\u003c/b\u003e\n$ \u003cb\u003evagrant plugin list\u003c/b\u003e\nvagrant-libvirt (0.9.0, global)\n\u003c/pre\u003e\n\n1\\. Install the `ovmf` package.\n\n\u003e Ubuntu 18.04\n\n\u003cpre\u003e\n$ \u003cb\u003esudo apt install ovmf\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e Arch Linux\n\n\u003cpre\u003e\n$ \u003cb\u003esudo pacman -S edk2-ovmf\u003c/b\u003e\n\u003c/pre\u003e\n\n2\\. Log in and download the _Cisco Nexus 9000/3000 Virtual Switch for KVM_ disk image file from your [Cisco](https://www.cisco.com/c/en/us/support/switches/nexus-9000v-switch/model.html#~tab-downloads) account. Save the file to your `Downloads` directory.\n\n3\\. Copy (and rename) the disk image file to the `/var/lib/libvirt/images` directory. Use one of the following examples corresponding to the file version you downloaded:\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\n$ \u003cb\u003esudo cp $HOME/Downloads/nxosv-final.7.0.3.I7.10.qcow2 /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\n$ \u003cb\u003esudo cp $HOME/Downloads/nexus9300v.9.3.7.qcow2 /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\n$ \u003cb\u003esudo cp $HOME/Downloads/nexus9500v64.10.1.2.qcow2 /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\n$ \u003cb\u003esudo cp $HOME/Downloads/nexus9300v64-lite.10.2.3.F.qcow2 /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n\u003c/pre\u003e\n\n4\\. Modify the file ownership and permissions. Note the owner may differ between Linux distributions.\n\n\u003e Ubuntu 18.04\n\n\u003cpre\u003e\n$ \u003cb\u003esudo chown libvirt-qemu:kvm /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n$ \u003cb\u003esudo chmod u+x /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e Arch Linux\n\n\u003cpre\u003e\n$ \u003cb\u003esudo chown libvirt-qemu:libvirt-qemu /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n$ \u003cb\u003esudo chmod u+x /var/lib/libvirt/images/cisco-nxosv.qcow2\u003c/b\u003e\n\u003c/pre\u003e\n\n5\\. Create the `boxes` directory.\n\n\u003cpre\u003e\n$ \u003cb\u003emkdir -p $HOME/boxes\u003c/b\u003e\n\u003c/pre\u003e\n\n6\\. Start the `vagrant-libvirt` network (if not already started).\n\n\u003cpre\u003e\n$ \u003cb\u003evirsh -c qemu:///system net-list\u003c/b\u003e\n$ \u003cb\u003evirsh -c qemu:///system net-start vagrant-libvirt\u003c/b\u003e\n\u003c/pre\u003e\n\n7\\. Clone this GitHub repo and `cd` into the directory.\n\n\u003cpre\u003e\n$ \u003cb\u003egit clone https://github.com/mweisel/cisco-nxos9kv-vagrant-libvirt\u003c/b\u003e\n$ \u003cb\u003ecd cisco-nxos9kv-vagrant-libvirt\u003c/b\u003e\n\u003c/pre\u003e\n\n8\\. Get the path to your OVMF (x64) firmware image and runtime variables template.\n\n\u003e Ubuntu 18.04\n\n\u003cpre\u003e\n$ \u003cb\u003edpkg -L ovmf | grep -E 'OVMF_(CODE|VARS)\\.fd'\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e Arch Linux\n\n\u003cpre\u003e\n$ \u003cb\u003epacman -Ql edk2-ovmf | grep -E 'x64/OVMF_(CODE|VARS)\\.fd'\u003c/b\u003e\n\u003c/pre\u003e\n\n9\\. Modify the OVMF paths.\n\n\u003e Ubuntu 18.04\n\n\u003cpre\u003e\n$ \u003cb\u003evim files/cisco-nxosv.xml\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003cpre\u003e\n\u0026lt;domain type='kvm'\u0026gt;\n  \u0026lt;name\u0026gt;cisco-nxosv\u0026lt;/name\u0026gt;\n  \u0026lt;memory unit='KiB'\u0026gt;10485760\u0026lt;/memory\u0026gt;\n  \u0026lt;vcpu placement='static'\u0026gt;2\u0026lt;/vcpu\u0026gt;\n  \u0026lt;os\u0026gt;\n    \u0026lt;type arch='x86_64'\u0026gt;hvm\u0026lt;/type\u0026gt;\n    \u0026lt;loader readonly='yes' secure='no' type='rom'\u0026gt;\u003cb\u003e/usr/share/OVMF/OVMF_CODE.fd\u003c/b\u003e\u0026lt;/loader\u0026gt;\n    \u0026lt;nvram template='\u003cb\u003e/usr/share/OVMF/OVMF_VARS.fd\u003c/b\u003e'/\u0026gt;\n    \u0026lt;boot dev='hd'/\u0026gt;\n  \u0026lt;/os\u0026gt;\n...\n\u003c/pre\u003e\n\n\u003cpre\u003e\n$ \u003cb\u003evim files/create_box.sh\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003cpre\u003e\n...\n\n  config.vm.provider :libvirt do |domain|\n    domain.cpus = 2\n    domain.features = ['acpi']\n    domain.loader = '\u003cb\u003e/usr/share/OVMF/OVMF_CODE.fd\u003c/b\u003e'\n    domain.memory = 8192\n    domain.disk_bus = 'sata'\n    domain.disk_device = 'sda'\n    domain.disk_driver :cache =\u003e 'none'\n    domain.nic_model_type = 'e1000'\n    domain.graphics_type = 'none'\n  end\n...\n\u003c/pre\u003e\n\n\u003cbr /\u003e\n\n\u003e Arch Linux\n\n\u003cpre\u003e\n$ \u003cb\u003evim files/cisco-nxosv.xml\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003cpre\u003e\n\u0026lt;domain type='kvm'\u0026gt;\n  \u0026lt;name\u0026gt;cisco-nxosv\u0026lt;/name\u0026gt;\n  \u0026lt;memory unit='KiB'\u0026gt;10485760\u0026lt;/memory\u0026gt;\n  \u0026lt;vcpu placement='static'\u0026gt;2\u0026lt;/vcpu\u0026gt;\n  \u0026lt;os\u0026gt;\n    \u0026lt;type arch='x86_64'\u0026gt;hvm\u0026lt;/type\u0026gt;\n    \u0026lt;loader readonly='yes' secure='no' type='rom'\u0026gt;\u003cb\u003e/usr/share/edk2-ovmf/x64/OVMF_CODE.fd\u003c/b\u003e\u0026lt;/loader\u0026gt;\n    \u0026lt;nvram template='\u003cb\u003e/usr/share/edk2-ovmf/x64/OVMF_VARS.fd\u003c/b\u003e'/\u0026gt;\n    \u0026lt;boot dev='hd'/\u0026gt;\n  \u0026lt;/os\u0026gt;\n...\n\u003c/pre\u003e\n\n\u003cpre\u003e\n$ \u003cb\u003evim files/create_box.sh\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003cpre\u003e\n...\n\n  config.vm.provider :libvirt do |domain|\n    domain.cpus = 2\n    domain.features = ['acpi']\n    domain.loader = '\u003cb\u003e/usr/share/edk2-ovmf/x64/OVMF_CODE.fd\u003c/b\u003e'\n    domain.memory = 8192\n    domain.disk_bus = 'sata'\n    domain.disk_device = 'sda'\n    domain.disk_driver :cache =\u003e 'none'\n    domain.nic_model_type = 'e1000'\n    domain.graphics_type = 'none'\n  end\n...\n\u003c/pre\u003e\n\n10\\. Modify/Verify the variable values in the `boot_image.exp` script file. Use the following table and examples for guidance:\n\n| Disk image | nxos | is_64bit | is_lite |\n| :--- | :--- | :--- | :--- |\n| nxosv-final.7.0.3.I7.10.qcow2 | 7.0.3.I7.10 | 0 | 0 |\n| nexus9300v.9.3.7.qcow2 | 9.3.7 | 0 | 0 |\n| nexus9500v\u003cb\u003e64\u003c/b\u003e.10.1.2.qcow2 | 10.1.2 | 1 | 0 |\n| nexus9300v\u003cb\u003e64\u003c/b\u003e-\u003cb\u003elite\u003c/b\u003e.10.2.3.F.qcow2 | 10.2.3.F | 1 | 1 |\n\n\u003cbr /\u003e\n\n\u003cpre\u003e\n$ \u003cb\u003evim files/boot_image.exp\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\nset timeout 360\nset prompt \"(\u003e|#) $\"\nset nxos \"\u003cb\u003e7.0.3.I7.10\u003c/b\u003e\"\nset is_64bit \u003cb\u003e0\u003c/b\u003e\nset is_lite \u003cb\u003e0\u003c/b\u003e\nlog_file -noappend \"~/nxosv-console.explog\"\n\n...\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\nset timeout 360\nset prompt \"(\u003e|#) $\"\nset nxos \"\u003cb\u003e9.3.7\u003c/b\u003e\"\nset is_64bit \u003cb\u003e0\u003c/b\u003e\nset is_lite \u003cb\u003e0\u003c/b\u003e\nlog_file -noappend \"~/nxosv-console.explog\"\n\n...\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\nset timeout 360\nset prompt \"(\u003e|#) $\"\nset nxos \"\u003cb\u003e10.1.2\u003c/b\u003e\"\nset is_64bit \u003cb\u003e1\u003c/b\u003e\nset is_lite \u003cb\u003e0\u003c/b\u003e\nlog_file -noappend \"~/nxosv-console.explog\"\n\n...\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\nset timeout 360\nset prompt \"(\u003e|#) $\"\nset nxos \"\u003cb\u003e10.2.3.F\u003c/b\u003e\"\nset is_64bit \u003cb\u003e1\u003c/b\u003e\nset is_lite \u003cb\u003e1\u003c/b\u003e\nlog_file -noappend \"~/nxosv-console.explog\"\n\n...\n\u003c/pre\u003e\n\n11\\. Run the Ansible playbook.\n\n\u003cpre\u003e\n$ \u003cb\u003eansible-playbook main.yml\u003c/b\u003e\n\u003c/pre\u003e\n\n12\\. Copy (and rename) the Vagrant box artifact to the `boxes` directory.\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\n$ \u003cb\u003ecp cisco-nxosv.box $HOME/boxes/cisco-nexus9000v-7.0.3.I7.10.box\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\n$ \u003cb\u003ecp cisco-nxosv.box $HOME/boxes/cisco-nexus9300v-9.3.7.box\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\n$ \u003cb\u003ecp cisco-nxosv.box $HOME/boxes/cisco-nexus9500v-10.1.2.box\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\n$ \u003cb\u003ecp cisco-nxosv.box $HOME/boxes/cisco-nexus9300v-10.2.3.F-lite.box\u003c/b\u003e\n\u003c/pre\u003e\n\n13\\. Copy the box metadata file to the `boxes` directory.\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\n$ \u003cb\u003ecp ./files/cisco-nexus9000v.json $HOME/boxes/\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\n$ \u003cb\u003ecp ./files/cisco-nexus9300v.json $HOME/boxes/\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\n$ \u003cb\u003ecp ./files/cisco-nexus9500v.json $HOME/boxes/\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\n$ \u003cb\u003ecp ./files/cisco-nexus9300v-lite.json $HOME/boxes/\u003c/b\u003e\n\u003c/pre\u003e\n\n14\\. Change the current working directory to `boxes`.\n\n\u003cpre\u003e\n$ \u003cb\u003ecd $HOME/boxes\u003c/b\u003e\n\u003c/pre\u003e\n\n15\\. Substitute the `HOME` placeholder string in the box metadata file.\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9000v.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003eHOME\u003c/b\u003e/boxes/cisco-nexus9000v-VER.box\"\n\n$ \u003cb\u003esed -i \"s|HOME|${HOME}|\" cisco-nexus9000v.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9000v.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003e/home/marc\u003c/b\u003e/boxes/cisco-nexus9000v-VER.box\"\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9300v.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003eHOME\u003c/b\u003e/boxes/cisco-nexus9300v-VER.box\"\n\n$ \u003cb\u003esed -i \"s|HOME|${HOME}|\" cisco-nexus9300v.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9300v.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003e/home/marc\u003c/b\u003e/boxes/cisco-nexus9300v-VER.box\"\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9500v.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003eHOME\u003c/b\u003e/boxes/cisco-nexus9500v-VER.box\"\n\n$ \u003cb\u003esed -i \"s|HOME|${HOME}|\" cisco-nexus9500v.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9500v.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003e/home/marc\u003c/b\u003e/boxes/cisco-nexus9500v-VER.box\"\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9300v-lite.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003eHOME\u003c/b\u003e/boxes/cisco-nexus9300v-VER-lite.box\"\n\n$ \u003cb\u003esed -i \"s|HOME|${HOME}|\" cisco-nexus9300v-lite.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/url/{gsub(/^ */,\"\");print}' cisco-nexus9300v-lite.json\u003c/b\u003e\n\"url\": \"file://\u003cb\u003e/home/marc\u003c/b\u003e/boxes/cisco-nexus9300v-VER-lite.box\"\n\u003c/pre\u003e\n\n16\\. Also, substitute the `VER` placeholder string with the Cisco NX-OS version.\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/VER/{gsub(/^ */,\"\");print}' cisco-nexus9000v.json\u003c/b\u003e\n\"version\": \"\u003cb\u003eVER\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9000v-\u003cb\u003eVER\u003c/b\u003e.box\"\n\n$ \u003cb\u003esed -i 's/VER/7.0.3.I7.10/g' cisco-nexus9000v.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/\\\u0026lt;version\\\u0026gt;|url/{gsub(/^ */,\"\");print}' cisco-nexus9000v.json\u003c/b\u003e\n\"version\": \"\u003cb\u003e7.0.3.I7.10\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9000v-\u003cb\u003e7.0.3.I7.10\u003c/b\u003e.box\"\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/VER/{gsub(/^ */,\"\");print}' cisco-nexus9300v.json\u003c/b\u003e\n\"version\": \"\u003cb\u003eVER\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9300v-\u003cb\u003eVER\u003c/b\u003e.box\"\n\n$ \u003cb\u003esed -i 's/VER/9.3.7/g' cisco-nexus9300v.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/\\\u0026lt;version\\\u0026gt;|url/{gsub(/^ */,\"\");print}' cisco-nexus9300v.json\u003c/b\u003e\n\"version\": \"\u003cb\u003e9.3.7\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9300v-\u003cb\u003e9.3.7\u003c/b\u003e.box\"\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/VER/{gsub(/^ */,\"\");print}' cisco-nexus9500v.json\u003c/b\u003e\n\"version\": \"\u003cb\u003eVER\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9500v-\u003cb\u003eVER\u003c/b\u003e.box\"\n\n$ \u003cb\u003esed -i 's/VER/10.1.2/g' cisco-nexus9500v.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/\\\u0026lt;version\\\u0026gt;|url/{gsub(/^ */,\"\");print}' cisco-nexus9500v.json\u003c/b\u003e\n\"version\": \"\u003cb\u003e10.1.2\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9500v-\u003cb\u003e10.1.2\u003c/b\u003e.box\"\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\n$ \u003cb\u003eawk '/VER/{gsub(/^ */,\"\");print}' cisco-nexus9300v-lite.json\u003c/b\u003e\n\"version\": \"\u003cb\u003eVER\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9300v-\u003cb\u003eVER\u003c/b\u003e-lite.box\"\n\n$ \u003cb\u003esed -i 's/VER/10.2.3.F/g' cisco-nexus9300v-lite.json\u003c/b\u003e\n\n$ \u003cb\u003eawk '/\\\u0026lt;version\\\u0026gt;|url/{gsub(/^ */,\"\");print}' cisco-nexus9300v-lite.json\u003c/b\u003e\n\"version\": \"\u003cb\u003e10.2.3.F\u003c/b\u003e\",\n\"url\": \"file:///home/marc/boxes/cisco-nexus9300v-\u003cb\u003e10.2.3.F\u003c/b\u003e-lite.box\"\n\u003c/pre\u003e\n\n17\\. Add the Vagrant box to the local inventory.\n\n\u003e 7.0(3)I7(10)\n\n\u003cpre\u003e\n$ \u003cb\u003evagrant box add --box-version 7.0.3.I7.10 cisco-nexus9000v.json\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v 9.3(7)\n\n\u003cpre\u003e\n$ \u003cb\u003evagrant box add --box-version 9.3.7 cisco-nexus9300v.json\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9500v64 10.1(2)\n\n\u003cpre\u003e\n$ \u003cb\u003evagrant box add --box-version 10.1.2 cisco-nexus9500v.json\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003e 9300v64 10.2(3)(F) lite\n\n\u003cpre\u003e\n$ \u003cb\u003evagrant box add --box-version 10.2.3.F cisco-nexus9300v-lite.json\u003c/b\u003e\n\u003c/pre\u003e\n\n## Debug\n\nView the telnet session output for the `expect` task:\n\n\u003cpre\u003e\n$ \u003cb\u003etail -f ~/nxosv-console.explog\u003c/b\u003e\n\u003c/pre\u003e\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmweisel%2Fcisco-nxos9kv-vagrant-libvirt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmweisel%2Fcisco-nxos9kv-vagrant-libvirt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmweisel%2Fcisco-nxos9kv-vagrant-libvirt/lists"}