|
3 | 3 | This project easily deploys OpenStack in docker & docker-compose. |
4 | 4 | This is mainly for development purpose. |
5 | 5 |
|
6 | | -NOTE: This is only tested on x64 Ubuntu 20.04 machine. It may work |
| 6 | +NOTE: This is only tested on **x64 Ubuntu 20.04 machine**. It may work |
7 | 7 | on other Linux Distributions. Other CPU architectures and operating |
8 | 8 | systems cannot be supported. |
9 | 9 |
|
10 | 10 | # Usage |
11 | 11 |
|
12 | | -`docker-compose` will execute the initialization process of the |
13 | | -devstack and automatically launch the major OpenStack components. |
14 | | -This will take about 30 minutes. |
| 12 | +The docker-compose command launches an OpenStack environment based |
| 13 | +on preconfigured container images. The images are huge and will take |
| 14 | +some time to download, but once complete, you should be up and running |
| 15 | +in less than a minute thereafter. |
| 16 | + |
| 17 | +An example is shown below: |
15 | 18 |
|
16 | 19 | ```bash |
17 | | -sudo docker-compose up -d |
18 | | -sudo docker-compose logs -f |
19 | | -# controller | This is your host IP address: 172.28.0.2 |
20 | | -# controller | Horizon is now available at http://172.28.0.2/dashboard |
21 | | -# controller | Keystone is serving at http://172.28.0.2/identity/ |
22 | | -# controller | The default users are: admin and demo |
23 | | -# controller | The password: nomoresecret |
24 | | -# controller | |
25 | | -# controller | Services are running under systemd unit files. |
26 | | -# controller | For more information see: |
27 | | -# controller | https://docs.openstack.org/devstack/latest/systemd.html |
28 | | -# controller | |
29 | | -# controller | DevStack Version: 2023.1 |
30 | | -# controller | Change: |
31 | | -# controller | OS Version: Ubuntu 20.04 focal |
| 20 | +curl -sLO https://raw.githubusercontent.com/bobuhiro11/containerized-devstack/main/docker-compose.yaml |
| 21 | +sudo docker-compose up |
32 | 22 | ``` |
33 | 23 |
|
34 | 24 | You can use the OpenStack CLI in the container. |
35 | 25 |
|
36 | 26 | ```bash |
37 | | -sudo docker-compose exec --user stack controller /bin/bash -c 'openstack image list' |
38 | | -# +--------------------------------------+--------------------------+--------+ |
39 | | -# | ID | Name | Status | |
40 | | -# +--------------------------------------+--------------------------+--------+ |
41 | | -# | 77b07900-9dab-4ba9-b169-883868e8ecf9 | cirros-0.5.2-x86_64-disk | active | |
42 | | -# +--------------------------------------+--------------------------+--------+ |
| 27 | +sudo docker-compose exec controller openstack compute service list |
| 28 | +# +--------------------------------------+----------------+------------+----------+---------+-------+----------------------------+ |
| 29 | +# | ID | Binary | Host | Zone | Status | State | Updated At | |
| 30 | +# +--------------------------------------+----------------+------------+----------+---------+-------+----------------------------+ |
| 31 | +# | 2d1c874e-3cba-4098-a8c9-7ca8d7f69e1d | nova-scheduler | controller | internal | enabled | up | 2023-04-19T03:18:49.000000 | |
| 32 | +# | 70ae8443-fce7-465a-a69b-455e661e80c1 | nova-conductor | controller | internal | enabled | up | 2023-04-19T03:18:49.000000 | |
| 33 | +# | 1a489657-cbb7-4efd-8ab6-a597de8aac1a | nova-conductor | controller | internal | enabled | up | 2023-04-19T03:18:48.000000 | |
| 34 | +# | 7f9d98c2-05e6-40c4-b59d-d5cd0ece7f7f | nova-compute | controller | nova | enabled | up | 2023-04-19T03:18:50.000000 | |
| 35 | +# | a01e676b-ed7b-4c29-be20-599e9e6564e4 | nova-compute | compute-2 | nova | enabled | up | 2023-04-19T03:18:54.000000 | |
| 36 | +# | 3a3ec69d-f2d3-477a-b0b5-14b9924e1b5b | nova-compute | compute-1 | nova | enabled | up | 2023-04-19T03:18:55.000000 | |
| 37 | +# +--------------------------------------+----------------+------------+----------+---------+-------+----------------------------+ |
| 38 | + |
| 39 | +sudo docker-compose exec controller openstack network agent list |
| 40 | +# +--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+ |
| 41 | +# | ID | Agent Type | Host | Availability Zone | Alive | State | Binary | |
| 42 | +# +--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+ |
| 43 | +# | 6652233d-141f-4b04-ad62-74304afb4deb | Open vSwitch agent | controller | None | :-) | UP | neutron-openvswitch-agent | |
| 44 | +# | cf7aec73-0a3d-4b71-ae9b-630c8075f0e5 | DHCP agent | controller | nova | :-) | UP | neutron-dhcp-agent | |
| 45 | +# | ee925744-dd85-4cfb-9dae-9f2ccc3e1bff | Metadata agent | controller | None | :-) | UP | neutron-metadata-agent | |
| 46 | +# | ef62635e-1da2-4689-b7a6-afc46b7a1c16 | L3 agent | controller | nova | :-) | UP | neutron-l3-agent | |
| 47 | +# ... |
| 48 | +# +--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+ |
| 49 | +``` |
| 50 | + |
| 51 | +The image contains a script `/bin/test.bash` to check some operations. |
| 52 | +This confirms that the VM is booted. |
| 53 | + |
| 54 | +```bash |
| 55 | +sudo docker-compose exec controller /bin/test.bash |
| 56 | +# + nova boot --image cirros-0.5.2-x86_64-disk --flavor m1.medium ... |
| 57 | +# + nova list |
| 58 | +# +--------------------------------------+--------+--------+------------+-------------+-------------------+ |
| 59 | +# | ID | Name | Status | Task State | Power State | Networks | |
| 60 | +# +--------------------------------------+--------+--------+------------+-------------+-------------------+ |
| 61 | +# | 0c097d40-7bfe-4d1e-af01-02b95018397a | testvm | ACTIVE | - | Running | private=10.0.0.29 | |
| 62 | +# +--------------------------------------+--------+--------+------------+-------------+-------------------+ |
43 | 63 | ``` |
44 | 64 |
|
45 | 65 | # Reference |
|
0 commit comments