DevStack
Last updated
Last updated
DevStack is a series of extensible scripts used to quickly bring up a complete OpenStack environment based on the latest versions of everything from git master. It is used interactively as a development environment and as the basis for much of the OpenStack project’s functional testing.
xe1gyq@server:~$ sudo apt install git bridge-utils
xe1gyq@server:~$ sudo useradd -s /bin/bash -d /opt/stack -m stack
xe1gyq@server:~$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
xe1gyq@server:~$ sudo su - stack
stack@server:~$ git clone https://git.openstack.org/openstack-dev/devstack
Cloning into 'devstack'...
remote: Counting objects: 41006, done.
remote: Compressing objects: 100% (20359/20359), done.
remote: Total 41006 (delta 29114), reused 31408 (delta 20002)
Receiving objects: 100% (41006/41006), 8.32 MiB | 629.00 KiB/s, done.
Resolving deltas: 100% (29114/29114), done.
stack@server:~$ cd devstack/
stack@server:~/devstack$ ls
clean.sh extras.d HACKING.rst Makefile run_tests.sh tests
data files inc openrc samples tools
doc functions lib pkg setup.cfg tox.ini
exerciserc functions-common LICENSE playbooks setup.py unstack.sh
exercises FUTURE.rst local.conf README.rst stackrc
exercise.sh gate MAINTAINERS.rst roles stack.sh
stack@server:~/devstack$ nano local.conf
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
stack@server:~/devstack$ ./stack.sh
=========================
DevStack Component Timing
(times are in seconds)
=========================
run_process 16
test_with_retry 2
apt-get-update 195
osc 159
wait_for_service 16
git_timed 1357
dbsync 54
pip_install 616
apt-get 266
-------------------------
Unaccounted time 441
=========================
Total runtime 3122
This is your host IP address: 192.168.1.127
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.1.127/dashboard
Keystone is serving at http://192.168.1.127/identity/
The default users are: admin and demo
The password: devstack
WARNING:
Using lib/neutron-legacy is deprecated, and it will be removed in the future
Services are running under systemd unit files.
For more information see:
https://docs.openstack.org/devstack/latest/systemd.html
DevStack Version: queens
Change: 730ce45466a903c639554b2e70f6e40a02e9e29d Create NOVA_READY_TIMEOUT in is_nova_ready function 2018-02-23 16:52:23 -0500
OS Version: Ubuntu 17.10 artful
2018-02-24 22:26:29.052 | stack.sh completed in 3122 seconds.
API Access Service Service EndPoint
Block Storage http://192.168.1.127/volume/
Compute http://192.168.1.127/compute/v2.1
Compute_Legacy http://192.168.1.127/compute/v2/42ec24a506d14f19aa9e8cccf89ff698
Identity http://192.168.1.127/identity
Image http://192.168.1.127/image
Network http://192.168.1.127:9696/
Placement http://192.168.1.127/placement
Volume http://192.168.1.127/volume/v1/42ec24a506d14f19aa9e8cccf89ff698
Volumev2 http://192.168.1.127/volume/v2/42ec24a506d14f19aa9e8cccf89ff698
Volumev3 http://192.168.1.127/volume/v3/42ec24a506d14f19aa9e8cccf89ff698
stack@server:~/devstack$ ls ..
bin data devstack.subunit horizon logs nova requirements
cinder devstack glance keystone neutron noVNC tempest
stack@server:~/devstack$
stack@server:~/devstack$ source openrc admin admin
WARNING: setting legacy OS_TENANT_NAME to support cli tools.
stack@server:~/devstack$
Keystone
Glance
Nova
Cinder
Neutron
Horizon
stack@server:~/devstack$ glance --version
2.9.1
stack@server:~/devstack$ nova --version
9.1.1
stack@server:~/devstack$ cinder --version
3.5.0
stack@server:~/devstack$ neutron --version
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
6.7.0
stack@server:~$ cd /opt/stack/
stack@server:~$ ls
bin data devstack.subunit horizon logs nova requirements
cinder devstack glance keystone neutron noVNC tempest
stack@server:~$
stack@server:~$ sudo systemctl status | grep devstack
│ │ │ ├─11834 grep --color=auto devstack
├─system-devstack.slice
│ ├─devstack@dstat.service
│ │ ├─15593 /bin/bash /opt/stack/devstack/tools/dstat.sh /opt/stack/logs
│ ├─devstack@n-api.service
│ ├─devstack@n-novnc.service
│ ├─devstack@etcd.service
│ ├─devstack@g-reg.service
│ ├─devstack@q-dhcp.service
│ ├─devstack@q-l3.service
│ ├─devstack@keystone.service
│ ├─devstack@q-meta.service
│ ├─devstack@c-sch.service
│ ├─devstack@c-vol.service
│ ├─devstack@n-cpu.service
│ ├─devstack@placement-api.service
│ ├─devstack@n-sch.service
│ ├─devstack@q-agt.service
│ ├─devstack@q-svc.service
│ ├─devstack@n-cond-cell1.service
│ ├─devstack@g-api.service
│ ├─devstack@n-api-meta.service
│ ├─devstack@c-api.service
│ ├─devstack@n-super-cond.service
│ └─devstack@n-cauth.service
stack@server:~$
xe1gyq@server:~$ ifconfig
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.24.4.1 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::34ab:3bff:fed8:554a prefixlen 64 scopeid 0x20<link>
inet6 2001:db8::2 prefixlen 64 scopeid 0x0<global>
ether 36:ab:3b:d8:55:4a txqueuelen 1000 (Ethernet)
RX packets 32 bytes 2090 (2.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 93 bytes 11626 (11.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.127 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::56ee:75ff:fe2d:1df4 prefixlen 64 scopeid 0x20<link>
ether 54:ee:75:2d:1d:f4 txqueuelen 1000 (Ethernet)
RX packets 696589 bytes 1016574577 (1.0 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 412919 bytes 33444162 (33.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf1600000-f1620000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 402940 bytes 188780888 (188.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 402940 bytes 188780888 (188.7 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
qbr3d975c95-ea: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 1e:28:15:95:48:73 txqueuelen 1000 (Ethernet)
RX packets 32 bytes 3657 (3.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
qvb3d975c95-ea: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet6 fe80::1c28:15ff:fe95:4873 prefixlen 64 scopeid 0x20<link>
ether 1e:28:15:95:48:73 txqueuelen 1000 (Ethernet)
RX packets 25 bytes 3305 (3.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29 bytes 3817 (3.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
qvo3d975c95-ea: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet6 fe80::7444:feff:fe12:7301 prefixlen 64 scopeid 0x20<link>
ether 76:44:fe:12:73:01 txqueuelen 1000 (Ethernet)
RX packets 29 bytes 3817 (3.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25 bytes 3305 (3.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap3d975c95-ea: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc16:3eff:fef5:b316 prefixlen 64 scopeid 0x20<link>
ether fe:16:3e:f5:b3:16 txqueuelen 1000 (Ethernet)
RX packets 7 bytes 800 (800.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 3680 (3.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:92:0d:0a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp4s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether e8:b1:fc:08:6b:b4 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
xe1gyq@server:~$
stack@server:~/tempest$ openstack help
usage: openstack [--version] [-v | -q] [--log-file LOG_FILE] [-h] [--debug]
[--os-cloud <cloud-config-name>]
[--os-region-name <auth-region-name>]
[--os-cacert <ca-bundle-file>] [--os-cert <certificate-file>]
[--os-key <key-file>] [--verify | --insecure]
...
...
stack@server:~$ openstack server list
stack@server:~$
stack@server:~$ cat /etc/openstack/clouds.yaml
clouds:
devstack:
auth:
auth_url: http://192.168.1.127/identity
password: devstack
project_domain_id: default
project_name: demo
user_domain_id: default
username: demo
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '2'
devstack-admin:
auth:
auth_url: http://192.168.1.127/identity
password: devstack
project_domain_id: default
project_name: admin
user_domain_id: default
username: admin
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '2'
devstack-alt:
auth:
auth_url: http://192.168.1.127/identity
password: devstack
project_domain_id: default
project_name: alt_demo
user_domain_id: default
username: alt_demo
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '2'
stack@server:~$
stack@server:~/devstack$ openstack image list
+--------------------------------------+--------------------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------------------+--------+
| aac2d54d-275b-4b21-9ee7-33313a6dbc9d | cirros-0.3.5-x86_64-disk | active |
+--------------------------------------+--------------------------+--------+
stack@server:~/devstack$ openstack image show aac2d54d-275b-4b21-9ee7-33313a6dbc9d
+------------------+------------------------------------------------------+
| Field | Value |
+------------------+------------------------------------------------------+
| checksum | f8ab98ff5e73ebab884d80c9dc9c7290 |
| container_format | bare |
| created_at | 2018-02-24T22:23:17Z |
| disk_format | qcow2 |
| file | /v2/images/aac2d54d-275b-4b21-9ee7-33313a6dbc9d/file |
| id | aac2d54d-275b-4b21-9ee7-33313a6dbc9d |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-0.3.5-x86_64-disk |
| owner | 42ec24a506d14f19aa9e8cccf89ff698 |
| protected | False |
| schema | /v2/schemas/image |
| size | 13267968 |
| status | active |
| tags | |
| updated_at | 2018-02-24T22:23:17Z |
| virtual_size | None |
| visibility | public |
+------------------+------------------------------------------------------+
stack@server:~/devstack$
stack@server:~/devstack$ openstack compute service list
+----+------------------+--------+----------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+----+------------------+--------+----------+---------+-------+----------------------------+
| 3 | nova-scheduler | server | internal | enabled | up | 2018-02-24T23:58:43.000000 |
| 5 | nova-consoleauth | server | internal | enabled | up | 2018-02-24T23:58:47.000000 |
| 6 | nova-conductor | server | internal | enabled | up | 2018-02-24T23:58:48.000000 |
| 1 | nova-conductor | server | internal | enabled | up | 2018-02-24T23:58:47.000000 |
| 2 | nova-compute | server | nova | enabled | up | 2018-02-24T23:58:41.000000 |
+----+------------------+--------+----------+---------+-------+----------------------------+
stack@server:~/devstack$
stack@server:~/devstack$ openstack flavor list
+----+-----------+-------+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+-----------+-------+------+-----------+-------+-----------+
| 1 | m1.tiny | 512 | 1 | 0 | 1 | True |
| 2 | m1.small | 2048 | 20 | 0 | 1 | True |
| 3 | m1.medium | 4096 | 40 | 0 | 2 | True |
| 4 | m1.large | 8192 | 80 | 0 | 4 | True |
| 42 | m1.nano | 64 | 0 | 0 | 1 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | 8 | True |
| 84 | m1.micro | 128 | 0 | 0 | 1 | True |
| c1 | cirros256 | 256 | 0 | 0 | 1 | True |
| d1 | ds512M | 512 | 5 | 0 | 1 | True |
| d2 | ds1G | 1024 | 10 | 0 | 1 | True |
| d3 | ds2G | 2048 | 10 | 0 | 2 | True |
| d4 | ds4G | 4096 | 20 | 0 | 4 | True |
+----+-----------+-------+------+-----------+-------+-----------+
stack@server:~/devstack$