{"id":460,"date":"2020-10-31T14:38:02","date_gmt":"2020-10-31T14:38:02","guid":{"rendered":"https:\/\/blog.thomarite.uk\/?p=460"},"modified":"2020-10-31T14:38:02","modified_gmt":"2020-10-31T14:38:02","slug":"cumulus-basics","status":"publish","type":"post","link":"https:\/\/blog.thomarite.uk\/index.php\/2020\/10\/31\/cumulus-basics\/","title":{"rendered":"cumulus-basics"},"content":{"rendered":"\n<p>Today finally I have managed to get a very basic <a href=\"https:\/\/docs.cumulusnetworks.com\/cumulus-vx\/KVM-QEMU-and-Vagrant\/\">cumulus setup<\/a>. It is annoying because I tried several months ago and found some issues with libvirt (and I opened a ticket but didnt follow up) and gave up.<\/p>\n\n\n\n<p>Now it works. I just want to use KVM-QEMU and Vagrant, that I have already installed in my system. So based on the link, I just created a folder and copied the vagrant file. Then &#8220;vagrant up&#8221; and wait.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/cumulus\/1s2l$ vagrant up\nBringing machine 'spine01' up with 'libvirt' provider\u2026\nBringing machine 'leaf01' up with 'libvirt' provider\u2026\nBringing machine 'leaf02' up with 'libvirt' provider\u2026\n==> leaf01: Box 'CumulusCommunity\/cumulus-vx' could not be found. Attempting to find and install\u2026\nleaf01: Box Provider: libvirt\nleaf01: Box Version: 4.2.0\n==> leaf01: Loading metadata for box 'CumulusCommunity\/cumulus-vx'\nleaf01: URL: https:\/\/vagrantcloud.com\/CumulusCommunity\/cumulus-vx\n==> leaf01: Adding box 'CumulusCommunity\/cumulus-vx' (v4.2.0) for provider: libvirt\nleaf01: Downloading: https:\/\/vagrantcloud.com\/CumulusCommunity\/boxes\/cumulus-vx\/versions\/4.2.0\/providers\/libvirt.box\nDownload redirected to host: d2cd9e7ca6hntp.cloudfront.net\n==> leaf01: Successfully added box 'CumulusCommunity\/cumulus-vx' (v4.2.0) for 'libvirt'!\n==> spine01: Box 'CumulusCommunity\/cumulus-vx' could not be found. Attempting to find and install\u2026\nspine01: Box Provider: libvirt\nspine01: Box Version: 4.2.0\n==> leaf01: Uploading base box image as volume into Libvirt storage\u2026\n==> spine01: Loading metadata for box 'CumulusCommunity\/cumulus-vx'\nspine01: URL: https:\/\/vagrantcloud.com\/CumulusCommunity\/cumulus-vx\nProgress: 0%==> spine01: Adding box 'CumulusCommunity\/cumulus-vx' (v4.2.0) for provider: libvirt\nProgress: 0%==> leaf02: Box 'CumulusCommunity\/cumulus-vx' could not be found. Attempting to find and install\u2026\nleaf02: Box Provider: libvirt\nleaf02: Box Version: 4.2.0\nProgress: 1%==> leaf02: Loading metadata for box 'CumulusCommunity\/cumulus-vx'\nleaf02: URL: https:\/\/vagrantcloud.com\/CumulusCommunity\/cumulus-vx\n==> leaf02: Adding box 'CumulusCommunity\/cumulus-vx' (v4.2.0) for provider: libvirt\n==> leaf01: Creating image (snapshot of base box volume).\n==> spine01: Creating image (snapshot of base box volume).\n==> leaf02: Creating image (snapshot of base box volume).\n==> leaf01: Creating domain with the following settings\u2026\n==> leaf01: -- Name: 1s2l_leaf01\n==> leaf02: Creating domain with the following settings\u2026\n==> spine01: Creating domain with the following settings\u2026\n==> leaf02: -- Name: 1s2l_leaf02\n==> spine01: -- Name: 1s2l_spine01\n==> leaf01: -- Domain type: kvm\n==> leaf02: -- Domain type: kvm\n==> spine01: -- Domain type: kvm\n==> leaf01: -- Cpus: 1\n==> leaf02: -- Cpus: 1\n==> spine01: -- Cpus: 1\n==> leaf01: -- Feature: acpi\n==> leaf02: -- Feature: acpi\n==> spine01: -- Feature: acpi\n==> leaf01: -- Feature: apic\n==> leaf01: -- Feature: pae\n==> leaf01: -- Memory: 768M\n==> leaf02: -- Feature: apic\n==> spine01: -- Feature: apic\n==> spine01: -- Feature: pae\n....\n....\n<\/pre>\n\n\n\n<p>You can check the VMs are up:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/cumulus\/1s2l$ vagrant status\nCurrent machine states:\nspine01 running (libvirt)\nleaf01 running (libvirt)\nleaf02 running (libvirt)\nThis environment represents multiple VMs. The VMs are all listed\nabove with their current state. For more information about a specific\nVM, run <code>vagrant status NAME<\/code>.\n\/cumulus\/1s2l$<\/pre>\n\n\n\n<p>And we can login and create some network interfaces as per documentation:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/cumulus\/1s2l$ vagrant ssh leaf01\nLinux leaf01 4.19.0-cl-1-amd64 #1 SMP Cumulus 4.19.94-1+cl4u5 (2020-07-10) x86_64\nWelcome to Cumulus VX (TM)\nCumulus VX (TM) is a community supported virtual appliance designed for\nexperiencing, testing and prototyping Cumulus Networks' latest technology.\nFor any questions or technical support, visit our community site at:\nhttp:\/\/community.cumulusnetworks.com\nThe registered trademark Linux (R) is used pursuant to a sublicense from LMI,\nthe exclusive licensee of Linus Torvalds, owner of the mark on a world-wide\nbasis.\nvagrant@leaf01:mgmt:~$ net add interface swp1,swp2,swp3\nvagrant@leaf01:mgmt:~$ net commit\n--- \/etc\/network\/interfaces 2020-07-15 01:15:58.000000000 +0000\n+++ \/run\/nclu\/ifupdown2\/interfaces.tmp 2020-10-31 14:12:30.826000000 +0000\n@@ -5,15 +5,24 @@\n# The loopback network interface\nauto lo\niface lo inet loopback\n# The primary network interface\nauto eth0\niface eth0 inet dhcp\nvrf mgmt\n+auto swp1\n+iface swp1\n+\n+auto swp2\n+iface swp2\n+\n+auto swp3\n+iface swp3\n+\nauto mgmt\niface mgmt\naddress 127.0.0.1\/8\naddress ::1\/128\nvrf-table auto\nnet add\/del commands since the last \"net commit\"\nUser Timestamp Command\n------- -------------------------- --------------------------------\nvagrant 2020-10-31 14:12:27.070219 net add interface swp1,swp2,swp3\nvagrant@leaf01:mgmt:~$<\/pre>\n\n\n\n<p>And after configuring the interfaces in the three VMs, we have LLDP working:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/cumulus\/1s2l$ vagrant ssh leaf01\nLinux leaf01 4.19.0-cl-1-amd64 #1 SMP Cumulus 4.19.94-1+cl4u5 (2020-07-10) x86_64\nWelcome to Cumulus VX (TM)\nCumulus VX (TM) is a community supported virtual appliance designed for\nexperiencing, testing and prototyping Cumulus Networks' latest technology.\nFor any questions or technical support, visit our community site at:\nhttp:\/\/community.cumulusnetworks.com\nThe registered trademark Linux (R) is used pursuant to a sublicense from LMI,\nthe exclusive licensee of Linus Torvalds, owner of the mark on a world-wide\nbasis.\nLast login: Sat Oct 31 14:12:04 2020 from 10.255.1.1\nvagrant@leaf01:mgmt:~$\nvagrant@leaf01:mgmt:~$\nvagrant@leaf01:mgmt:~$\nvagrant@leaf01:mgmt:~$ net show lldp\nLocalPort Speed Mode RemoteHost RemotePort\n--------- ----- ------- ---------- ----------\nswp1 1G Default spine01 swp1\nswp2 1G Default leaf02 swp2\nswp3 1G Default leaf02 swp3\nvagrant@leaf01:mgmt:~$\nvagrant@leaf01:mgmt:~$ net show system\nHostname\u2026\u2026\u2026 leaf01\nBuild\u2026\u2026\u2026\u2026 Cumulus Linux 4.2.0\nUptime\u2026\u2026\u2026.. 0:06:09.180000\nModel\u2026\u2026\u2026\u2026 Cumulus VX\nMemory\u2026\u2026\u2026.. 669MB\nVendor Name\u2026\u2026 Cumulus Networks\nPart Number\u2026\u2026 4.2.0\nBase MAC Address. 52:54:00:17:87:07\nSerial Number\u2026. 52:54:00:17:87:07\nProduct Name\u2026.. VX\nvagrant@leaf01:mgmt:~$ exit<\/pre>\n\n\n\n<p>So I am happy because now I have something to play with and try to build an MPLS lab with cumulus. At some point I would like to try some quaga\/frr lab.<\/p>\n\n\n\n<p>I am pretty sure that in the past, I didnt have to type my password every single time I run a vagrant command&#8230;. <\/p>\n\n\n\n<p>Ok, we can shutdown the VMs and start the work for the next time:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/cumulus\/1s2l$ vagrant halt spine01 leaf01 leaf02\n==> leaf02: Halting domain\u2026\n==> leaf01: Halting domain\u2026\n==> spine01: Halting domain\u2026\n\/cumulus\/1s2l$\n\/cumulus\/1s2l$\n\/cumulus\/1s2l$ vagrant status\nCurrent machine states:\nspine01 shutoff (libvirt)\nleaf01 shutoff (libvirt)\nleaf02 shutoff (libvirt)\nThis environment represents multiple VMs. The VMs are all listed\nabove with their current state. For more information about a specific\nVM, run <code>vagrant status NAME<\/code>.\n\/cumulus\/1s2l$<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Today finally I have managed to get a very basic cumulus setup. It is annoying because I tried several months ago and found some issues with libvirt (and I opened a ticket but didnt follow up) and gave up. Now it works. I just want to use KVM-QEMU and Vagrant, that I have already installed &hellip; <a href=\"https:\/\/blog.thomarite.uk\/index.php\/2020\/10\/31\/cumulus-basics\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;cumulus-basics&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-460","post","type-post","status-publish","format-standard","hentry","category-networks"],"_links":{"self":[{"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/posts\/460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/comments?post=460"}],"version-history":[{"count":1,"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/posts\/460\/revisions"}],"predecessor-version":[{"id":461,"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/posts\/460\/revisions\/461"}],"wp:attachment":[{"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/media?parent=460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/categories?post=460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.thomarite.uk\/index.php\/wp-json\/wp\/v2\/tags?post=460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}