Kolla Openstack
@rjeschmi/kolla-openstackv2026.03.02.8
01README
Kolla-Ansible OpenStack deployment — provision a dual-NIC Ubuntu 24.04 VM on libvirt, install Docker, deploy OpenStack with kolla-ansible, and configure networking/test workloads over SSH.
02Models
cloud_init_iso.tsv2026.02.21.1
fn generate(userData: string, metaData: string)
Generate a cloud-init NoCloud seed ISO from user-data and meta-data
| Argument | Type | Description |
|---|---|---|
| userData | string | cloud-config user-data content |
| metaData | string | cloud-init meta-data content |
kolla_openstack.tsv2026.03.02.8
fn provision(vmName: string, cpus: number, memoryMiB: number, diskSizeGb: number, sshPublicKey: string, username: string, managementNetwork: string, managementBridge: string, externalNetwork: string, externalBridgeName: string)
Create the openstack-ext isolated libvirt network and provision a dual-NIC Ubuntu 24.04 VM for Kolla-Ansible
| Argument | Type | Description |
|---|---|---|
| vmName | string | |
| cpus | number | |
| memoryMiB | number | |
| diskSizeGb | number | |
| sshPublicKey | string | SSH public key to inject for the VM user |
| username | string | |
| managementNetwork | string | |
| managementBridge | string | |
| externalNetwork | string | |
| externalBridgeName | string |
fn prepare(vmIp: string, vmUsername: string, externalNic: string)
Install prerequisite packages, Docker, and configure the external NIC inside the VM over SSH
| Argument | Type | Description |
|---|---|---|
| vmIp | string | |
| vmUsername | string | |
| externalNic | string |
fn installKolla(vmIp: string, vmUsername: string)
Install kolla-ansible in a Python venv, copy configs, and generate passwords
| Argument | Type | Description |
|---|---|---|
| vmIp | string | VM IP address |
| vmUsername | string | VM username |
fn deploy(vmIp: string, vmUsername: string, kollaVipAddress: string, managementInterface: string, externalInterface: string)
Write globals.yml and run the full kolla-ansible deployment (bootstrap → prechecks → deploy). Expect 10–20 min.
| Argument | Type | Description |
|---|---|---|
| vmIp | string | VM IP address |
| vmUsername | string | VM username |
| kollaVipAddress | string | Unused IP on the management subnet for Kolla VIP (e.g. 192.168.122.200) — must not conflict with DHCP range |
| managementInterface | string | |
| externalInterface | string |
fn postDeploy(vmIp: string, vmUsername: string)
Run kolla-ansible post-deploy, install OpenStack CLI, and capture Horizon URL + admin credentials
| Argument | Type | Description |
|---|---|---|
| vmIp | string | VM IP address |
| vmUsername | string | VM username |
fn setupNetworking(vmIp: string, vmUsername: string, externalCidr: string, externalGateway: string, externalPoolStart: string, externalPoolEnd: string, internalCidr: string, internalGateway: string, dnsServer: string, externalBridgeName: string)
Create external provider network, internal tenant network, and a router — ready for booting VMs with floating IPs
| Argument | Type | Description |
|---|---|---|
| vmIp | string | VM IP address |
| vmUsername | string | VM username |
| externalCidr | string | |
| externalGateway | string | |
| externalPoolStart | string | |
| externalPoolEnd | string | |
| internalCidr | string | |
| internalGateway | string | |
| dnsServer | string | |
| externalBridgeName | string |
fn setupTailscale(vmIp: string, vmUsername: string, authKey: string, hostname: string)
Install Tailscale on the OpenStack VM and advertise subnet routes — runs after setupNetworking so the routes exist
| Argument | Type | Description |
|---|---|---|
| vmIp | string | VM IP address |
| vmUsername | string | VM username |
| authKey | string | Tailscale auth key |
| hostname | string |
fn bootTestVm(vmIp: string, vmUsername: string, name: string, sshPublicKey: string)
Boot a cirros m1.tiny VM on the internal network, assign a floating IP, and return the result
| Argument | Type | Description |
|---|---|---|
| vmIp | string | OpenStack VM IP address |
| vmUsername | string | OpenStack VM username |
| name | string | |
| sshPublicKey | string |
fn deleteServer(vmIp: string, vmUsername: string, name: string)
Delete a Nova server (OpenStack instance) and release its floating IPs
| Argument | Type | Description |
|---|---|---|
| vmIp | string | OpenStack VM IP address |
| vmUsername | string | VM username |
| name | string | Name or ID of the Nova server to delete |
fn initTest(vmIp: string, vmUsername: string)
Create a cirros image and a m1.tiny flavor for basic testing
| Argument | Type | Description |
|---|---|---|
| vmIp | string | VM IP address |
| vmUsername | string | VM username |
fn destroy(vmName: string, removeNetwork: boolean, externalNetwork: string)
Destroy the OpenStack VM and remove its disk files. Optionally remove the external libvirt network.
| Argument | Type | Description |
|---|---|---|
| vmName | string | |
| removeNetwork | boolean | |
| externalNetwork | string |
Resources
vm— OpenStack dev VM state (name, uuid, ip, username)
03Stats
Downloads
1
Archive size
24.2 KB
Not yet scored.
A score will be generated the next time this extension is published. The owner can also trigger scoring manually.
04Platforms