{"id":15475685,"url":"https://github.com/shihai1991/docker-openstack","last_synced_at":"2025-04-22T20:09:15.031Z","repository":{"id":219379464,"uuid":"748897588","full_name":"shihai1991/docker-openstack","owner":"shihai1991","description":"Deploying the openstack in docker","archived":false,"fork":false,"pushed_at":"2024-02-06T02:42:59.000Z","size":3757,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-01T11:20:41.613Z","etag":null,"topics":["docker","fakedriver","openstack","test"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shihai1991.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}},"created_at":"2024-01-27T01:25:46.000Z","updated_at":"2024-02-08T14:34:41.000Z","dependencies_parsed_at":"2024-01-27T03:42:12.458Z","dependency_job_id":"bb3ec229-1f05-4fa5-a8a1-5c48836917d7","html_url":"https://github.com/shihai1991/docker-openstack","commit_stats":null,"previous_names":["shihai1991/docker-openstack"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shihai1991%2Fdocker-openstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shihai1991%2Fdocker-openstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shihai1991%2Fdocker-openstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shihai1991%2Fdocker-openstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shihai1991","download_url":"https://codeload.github.com/shihai1991/docker-openstack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232662514,"owners_count":18557470,"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":["docker","fakedriver","openstack","test"],"created_at":"2024-10-02T03:18:14.788Z","updated_at":"2025-01-06T01:51:50.401Z","avatar_url":"https://github.com/shihai1991.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-openstack\nDeploying the Openstack of Mitaka in docker. This repo is based on the [int32bit/docker-nova-compute](https://github.com/int32bit/docker-nova-compute). I create this repo's reason is that the `int32bit/docker-nova-compute` is too old and I met some problems when using it. And I follow [the official guide](https://docs.openstack.org/mitaka/install-guide-rdo/nova.html) to depoly the Openstack in docker.  \nI try to use this project to shift our right test to left. If you want to depoly Openstack in production environment, you should use [Kolla](https://github.com/openstack/kolla).\n\n# How to run\nWe have two ways to run docker instances.\n- Using local docker images;\n- Using remote docker images from docker.io;\n\n## Using remote docker images\nI have been uploading the docker image to [docker repo](https://hub.docker.com/repositories/shihai1991). So you can use the remote docker images directly.\n```shell\n# Running the base components\ndocker run -d -e MYSQL_ROOT_PASSWORD=MYSQL_DBPASS -h mysql --name mysql -d mariadb:latest\ndocker run -d -e RABBITMQ_NODENAME=rabbitmq -h rabbitmq --name rabbitmq rabbitmq:latest\n\n# Running the keystone\ndocker run -d  --link mysql:mysql --name keystone -h keystone shihai1991/openstack-keystone:latest\n\n# Running the glance\ndocker run -d --link mysql:mysql  --link keystone:keystone  -e OS_USERNAME=admin  -e OS_PASSWORD=ADMIN_PASS  -e OS_AUTH_URL=http://keystone:5000/v3  -e OS_PROJECT_NAME=admin  --name glance  -h glance  shihai1991/openstack-glance:latest\n\n# Running the controller node\ndocker run -d --link mysql:mysql --link keystone:keystone --link rabbitmq:rabbitmq --link glance:glance -e OS_USERNAME=admin -e OS_PASSWORD=ADMIN_PASS -e OS_AUTH_URL=http://keystone:5000/v3 -e OS_PROJECT_NAME=admin --privileged --name controller -h controller shihai1991/openstack-nova-controller:latest\n\n# Running the compute node\ndocker run -d --link mysql:mysql --link keystone:keystone --link rabbitmq:rabbitmq --link glance:glance --link controller:controller -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -e OS_USERNAME=admin -e OS_PASSWORD=ADMIN_PASS -e OS_AUTH_URL=http://keystone:5000/v3 -e OS_TENANT_NAME=admin --privileged --name node1 -h node1 shihai1991/openstack-nova-compute:latest\n```\nIt should be noticed that I use the [`FakeDriver`](https://github.com/shihai1991/docker-openstack/blob/8afe254042ea7e16f6c800baa03d990e28d5fdb9/nova/nova-compute/nova.conf#L21) in compute node. If you want use other [hypervisors](https://github.com/openstack/nova/blob/681f6872fb3fbca290cfc3ff15d34b1d1ba6642d/doc/source/admin/configuration/hypervisors.rst), you can change it.\n\n## Using local docker images\n```\n# Running the base components\ndocker run -d -e MYSQL_ROOT_PASSWORD=MYSQL_DBPASS -h mysql --name mysql -d mariadb:latest\ndocker run -d -e RABBITMQ_NODENAME=rabbitmq -h rabbitmq --name rabbitmq rabbitmq:latest\n\n# Running the keystone\ncd keystone\nmake build\ndocker run -d  --link mysql:mysql --name keystone -h keystone haishi/openstack-keystone:latest\n\n# Running the glance\ncd ../glance\n# build image\nmake build\ndocker run -d --link mysql:mysql  --link keystone:keystone  -e OS_USERNAME=admin  -e OS_PASSWORD=ADMIN_PASS  -e OS_AUTH_URL=http://keystone:5000/v3  -e OS_PROJECT_NAME=admin  --name glance  -h glance  haishi/openstack-glance:latest\n\n# Running the controller node\ncd ../nova/nova-controller\n# build image\nmake build\ndocker run -d --link mysql:mysql --link keystone:keystone --link rabbitmq:rabbitmq --link glance:glance -e OS_USERNAME=admin -e OS_PASSWORD=ADMIN_PASS -e OS_AUTH_URL=http://keystone:5000/v3 -e OS_PROJECT_NAME=admin --privileged --name controller -h controller haishi/openstack-nova-controller:latest\n\n# Running the compute node\ncd ../nova-compute\n# build image\nmake build\ndocker run -d --link mysql:mysql --link keystone:keystone --link rabbitmq:rabbitmq --link glance:glance --link controller:controller -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -e OS_USERNAME=admin -e OS_PASSWORD=ADMIN_PASS -e OS_AUTH_URL=http://keystone:5000/v3 -e OS_TENANT_NAME=admin --privileged --name node1 -h node1 haishi/openstack-nova-compute:latest\n```\n\n## Verify operation\nLogin in the controller node, and to verify the lanuch operation by list service components.\n```shell\nsource /root/admin-openrc\n\nopenstack compute service list\n```\n\nIf the service components is installed successful, you will the output as follows:\n```shell\n+----+------------------+------------+----------+---------+-------+----------------------------+\n| Id | Binary           | Host       | Zone     | Status  | State | Updated At                 |\n+----+------------------+------------+----------+---------+-------+----------------------------+\n|  1 | nova-consoleauth | controller | internal | enabled | up    | 2024-02-05T11:24:10.000000 |\n|  2 | nova-conductor   | controller | internal | enabled | up    | 2024-02-05T11:24:13.000000 |\n|  3 | nova-scheduler   | controller | internal | enabled | up    | 2024-02-05T11:24:09.000000 |\n| 11 | nova-compute     | node1      | nova     | enabled | up    | 2024-02-05T11:24:16.000000 |\n+----+------------------+------------+----------+---------+-------+----------------------------+\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshihai1991%2Fdocker-openstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshihai1991%2Fdocker-openstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshihai1991%2Fdocker-openstack/lists"}