{"id":27520309,"url":"https://github.com/phannhat17/openstack-script","last_synced_at":"2026-01-28T04:10:40.884Z","repository":{"id":261658304,"uuid":"884952142","full_name":"phannhat17/openstack-script","owner":"phannhat17","description":"Auto install script for openstack 2024.1 on Ubuntu server 22.04 LTS","archived":false,"fork":false,"pushed_at":"2024-11-24T13:42:54.000Z","size":1188,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-18T18:11:49.016Z","etag":null,"topics":["automation","cloud-computing","openstack","script"],"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/phannhat17.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-07T17:20:22.000Z","updated_at":"2024-12-17T14:29:29.000Z","dependencies_parsed_at":"2024-11-07T18:49:36.386Z","dependency_job_id":"70325129-46f8-4f9d-93a7-7fd0a08f45da","html_url":"https://github.com/phannhat17/openstack-script","commit_stats":null,"previous_names":["phannhat17/openstack-script"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phannhat17/openstack-script","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phannhat17%2Fopenstack-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phannhat17%2Fopenstack-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phannhat17%2Fopenstack-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phannhat17%2Fopenstack-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phannhat17","download_url":"https://codeload.github.com/phannhat17/openstack-script/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phannhat17%2Fopenstack-script/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28838178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T02:10:51.810Z","status":"ssl_error","status_checked_at":"2026-01-28T02:10:50.806Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["automation","cloud-computing","openstack","script"],"created_at":"2025-04-18T06:23:20.897Z","updated_at":"2026-01-28T04:10:40.870Z","avatar_url":"https://github.com/phannhat17.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenStack Automation Script\n\nThis repository contains a set of scripts to automate the installation and configuration of OpenStack on a multi-node setup with one Controller node, one Compute node, and one Storage node. These scripts are intended for educational and experimental purposes, particularly in a cybersecurity lab environment.\n\nWorking with OpenStack 2024.1 and Ubuntu 22.04 LTS\n\n![](./assets/demo.gif)\n\n## Requirements\n\n- **Operating System**: Ubuntu server 22.04\n- **Virtualization Software**: VMware Workstation (or another compatible hypervisor)\n- **Network Configuration**: Ensure the network topology matches the OpenStack requirements.\n\n## Network Topology\n\n![](./assets/network-topo.png)\n\nRead more [here](https://docs.openstack.org/install-guide/environment-networking.html).\n\n\n\u003ctable border=\"1\"\u003e\n    \u003cthead\u003e\n        \u003ctr\u003e\n            \u003cth\u003eHostname\u003c/th\u003e\n            \u003cth\u003eNICs\u003c/th\u003e\n            \u003cth\u003eIP Address\u003c/th\u003e\n            \u003cth\u003eGateway\u003c/th\u003e\n            \u003cth\u003eDNS\u003c/th\u003e\n            \u003cth\u003eRAM (GB)\u003c/th\u003e\n            \u003cth\u003eCPU\u003c/th\u003e\n            \u003cth\u003eDISK1 (GB)\u003c/th\u003e\n            \u003cth\u003eDISK2 (GB)\u003c/th\u003e\n        \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd rowspan=\"2\"\u003econtroller\u003c/td\u003e\n            \u003ctd\u003eens33\u003c/td\u003e\n            \u003ctd\u003e192.168.133.11/24\u003c/td\u003e\n            \u003ctd\u003e192.168.133.2\u003c/td\u003e\n            \u003ctd\u003e8.8.8.8\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e8\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e2\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e40\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eens34\u003c/td\u003e\n            \u003ctd\u003e10.0.0.11/24\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd rowspan=\"2\"\u003ecompute\u003c/td\u003e\n            \u003ctd\u003eens33\u003c/td\u003e\n            \u003ctd\u003e192.168.133.21/24\u003c/td\u003e\n            \u003ctd\u003e192.168.133.2\u003c/td\u003e\n            \u003ctd\u003e8.8.8.8\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e8\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e4\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e40\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eens34\u003c/td\u003e\n            \u003ctd\u003e10.0.0.21/24\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd rowspan=\"2\"\u003eblock\u003c/td\u003e\n            \u003ctd\u003eens33\u003c/td\u003e\n            \u003ctd\u003e192.168.133.31/24\u003c/td\u003e\n            \u003ctd\u003e192.168.133.2\u003c/td\u003e\n            \u003ctd\u003e8.8.8.8\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e4\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e2\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e40\u003c/td\u003e\n            \u003ctd rowspan=\"2\"\u003e100\u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd\u003eens34\u003c/td\u003e\n            \u003ctd\u003e10.0.0.31/24\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n            \u003ctd\u003e\u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Installation\n\n### 1. **Clone the Repository**\n\n```bash\ngit clone https://github.com/phannhat17/openstack-script.git\ncd openstack-script\nfind . -type f -exec chmod +x {} \\;\ncd scripts\n```\n\n### 2. **Prepare the Environment**\n\nEnsure each node (Controller, Compute, Storage) is up and accessible as **root** within your network. Also, ensure that IPs are set correctly in the configuration files.\n\nThe Storage Node needs to have atleast two disks connected. And if this Node use LVM on the OS disk, read more [here](https://docs.openstack.org/cinder/2024.1/install/cinder-storage-install-ubuntu.html)\n\n### 3. **Edit the Configuration Files**\n\n`config.cfg`: This file contains configuration variables such as IP addresses, hostnames, network interfaces, and service passwords. Ensure that these values are set correctly before running the scripts.\n\n### 4. **Run the IP config Script**\n\nOn each node (Controller, Compute, Storage), run the IP config script:\n\n**Note: Run this inside the `scripts` folder**\n\n```bash\n./config_ip.sh\n```\n\nThe script will prompt you to select which node (Controller, Compute, or Storage) you are configuring. It will then update the network settings adn reboot that node.\n\n### 5. **Run the Service install Script**\n\nOn each node (Controller, Compute, Storage), run the service install script:\n\n**Note: Run this inside the `scripts` folder**\n\n```bash\n./install_service.sh\n```\n\nThe script will prompt you to select which node (Controller, Compute, or Storage) you are configuring.\n\n## Service Endpoints\n\n|   | Service             | Endpoint                 |\n|---|---------------------|--------------------------|\n| 1 | Openstack Dashboard | http://10.0.0.11/horizon |\n| 2 | Prometheus          | http://10.0.0.10:9090    |\n| 3 | Openstack exporter  | http://10.0.0.10:9180    |\n| 4 | Grafana             | http://10.0.0.10:3000    |\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphannhat17%2Fopenstack-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphannhat17%2Fopenstack-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphannhat17%2Fopenstack-script/lists"}