{"id":20510320,"url":"https://github.com/frobware/ubuntu-fan-hacks","last_synced_at":"2025-10-09T19:13:56.079Z","repository":{"id":66961092,"uuid":"61876660","full_name":"frobware/ubuntu-fan-hacks","owner":"frobware","description":"Scripts for setting up the ubuntu-fan on KVM instances","archived":false,"fork":false,"pushed_at":"2016-07-22T07:25:15.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-24T05:48:12.378Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/frobware.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-24T10:21:03.000Z","updated_at":"2016-06-24T10:33:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"56b65f29-86f2-488e-a78f-9b4c31465fa6","html_url":"https://github.com/frobware/ubuntu-fan-hacks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/frobware/ubuntu-fan-hacks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fubuntu-fan-hacks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fubuntu-fan-hacks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fubuntu-fan-hacks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fubuntu-fan-hacks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frobware","download_url":"https://codeload.github.com/frobware/ubuntu-fan-hacks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frobware%2Fubuntu-fan-hacks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001980,"owners_count":26083243,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-15T20:29:05.173Z","updated_at":"2025-10-09T19:13:56.048Z","avatar_url":"https://github.com/frobware.png","language":"Shell","readme":"# ubuntu-fan-hacks\n\nSome notes for experimenting with the `ubuntu-fan` package.\n\n## Network bridge\n\nCreate a network bridge for the fan VMs\n\n```xml\n$ virsh net-dumpxml fan\n\u003cnetwork connections='8'\u003e\n  \u003cname\u003efan\u003c/name\u003e\n  \u003cuuid\u003efedc1cbe-5ae1-4d7c-937e-4d79252fb98e\u003c/uuid\u003e\n  \u003cforward mode='nat'\u003e\n    \u003cnat\u003e\n      \u003cport start='1024' end='65535'/\u003e\n    \u003c/nat\u003e\n  \u003c/forward\u003e\n  \u003cbridge name='virbr4' stp='on' delay='0'/\u003e\n  \u003cmac address='52:54:00:00:54:d0'/\u003e\n  \u003cdomain name='fan' localOnly='yes'/\u003e\n  \u003cip address='172.30.0.1' netmask='255.255.0.0'\u003e\n    \u003cdhcp\u003e\n      \u003crange start='172.30.128.0' end='172.30.255.254'/\u003e\n    \u003c/dhcp\u003e\n  \u003c/ip\u003e\n\u003c/network\u003e\n```\n\n## Make hostnames resolvable\n\nAdd this on the VM host machine:\n\n```\n$ cat /etc/NetworkManager/dnsmasq.d/fan.conf\nserver=/fan/172.30.0.1\n```\n\n## Create NoCloud config drives for each VM\n\n```bash\nfor i in 1 2 3 ; do ./create-config-drive -h fan-vm-${i} -k ~/.ssh/id_rsa.pub -u ./user-data fan-vm-${i}-config.iso; done\n```\n\nNote: I copied and modified create-config-drive (missing attribution\nbecause I don't recall where).\n\n## Copy config drives for libvirt access\n\n```bash\nsudo cp -v fan-vm*-config.iso /var/lib/libvirt/images\n```\n\n## Create the VMs\n```bash\n./setup-vm.sh 1 2 3\n```\n\n## Verify VMs are running\n\nThis will take a little time because of cloud-init installing packages\nand updates, et al.\n\n```\n$ virsh list\n Id    Name                           State\n----------------------------------------------------\n 27    fan-vm-1                       running\n 28    fan-vm-2                       running\n 29    fan-vm-3                       running\n```\n\n# /usr/sbin/fanatic testing\n\n## Docker images (including network utilities)\n\n```\n$ docker pull frobware/ubuntu\n$ docker tag frobware/ubuntu ubuntu\n```\n\nWe tag that as `ubuntu` so that `fanatic` will just work. The\n`frobware/ubuntu` image has the following networking utilities\ninstalled:\n\n```\napt-get -y update\napt-get -y install iputils-ping traceroute net-tools iproute2\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrobware%2Fubuntu-fan-hacks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrobware%2Fubuntu-fan-hacks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrobware%2Fubuntu-fan-hacks/lists"}