open stack pike-devstack-tutorial

40
1 / 40 OpenStack Introduction [via DevStack] Eueung Mulyana https://telematika.org/remark/devstack Intro+Labs | Attribution-ShareAlike CC BY-SA

Upload: eueung-mulyana

Post on 16-Mar-2018

118 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Open stack pike-devstack-tutorial

1 / 40

OpenStack Introduction [via DevStack]Eueung Mulyanahttps://telematika.org/remark/devstackIntro+Labs | Attribution-ShareAlike CC BY-SA

Page 2: Open stack pike-devstack-tutorial

Outline

DevStack Installation

Dashboard - Horizon

CLI - OpenStackClient

2 / 40

Page 3: Open stack pike-devstack-tutorial

OpenStack Pike VirtualBox 5.2.6 | Ubuntu 16.04.3

3 / 40

Page 4: Open stack pike-devstack-tutorial

DevStack Intallation

4 / 40

Page 5: Open stack pike-devstack-tutorial

5 / 40

Getting Started

1. Prepare a VM2. Add Stack User3. Download DevStack4. Create a local.conf5. Start Installation (stack.sh)

Ref:[OpenStack Docs: DevStack]

Page 6: Open stack pike-devstack-tutorial

#1 Prepare VM | 2 CPU - 8 GB 6 / 40

Page 7: Open stack pike-devstack-tutorial

7 / 40

#2 & #3Stack User

DevStack

# 1: stack user with sudo privileges$ sudo useradd -s /bin/bash -d /opt/stack -m stack

$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack$ sudo su - stack

# 2: clone/download DevStack$ git clone https://git.openstack.org/openstack-dev/devstack$ cd devstack

Page 8: Open stack pike-devstack-tutorial

~/devstack$ git tagdiablo-eolessex-eolfolsom-eolgrizzly-eolhavana-eolicehouse-eoljuno-eolkilo-2liberty-eolmitaka-eol

~/devstack$ git branch -a+ master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/stable/newton remotes/origin/stable/ocata remotes/origin/stable/pike remotes/origin/stable/queens

~/devstack$ git checkout stable/pikeBranch stable/pike set up to track remote branch stable/pike from origin.Switched to a new branch 'stable/pike'

~/devstack$ git branch master+ stable/pike

# before ./stack.sh~/devstack$ tree -L 1 -d.|----- data|----- doc|----- exercises|----- extras.d|----- files|----- gate|----- inc|----- lib|----- pkg|----- playbooks|----- roles 8 / 40

DevStack

Page 9: Open stack pike-devstack-tutorial

# 3: local.conf$ cp samples/local.conf .$ cat local.conf

[[local|localrc]]

# Minimal Contents# ----------------

#ADMIN_PASSWORD=nomoresecretADMIN_PASSWORD=12345DATABASE_PASSWORD=stackdbRABBIT_PASSWORD=stackqueueSERVICE_PASSWORD=$ADMIN_PASSWORD

HOST_IP=192.168.56.70#HOST_IPV6=2001:db8::7

# Logging# -------

LOGFILE=$DEST/logs/stack.sh.logLOGDAYS=2

# Swift# -----

SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5SWIFT_REPLICAS=1SWIFT_DATA_DIR=$DEST/data

# Others# -----# after installationOFFLINE=True

9 / 40

#4local.conf

Page 10: Open stack pike-devstack-tutorial

# 4: start intallation# sudo su - stack

~/devstack$ ./stack.sh...=========================DevStack Component Timing=========================Total runtime 3406

run_process 31test_with_retry 3apt-get-update 124pip_install 689osc 170wait_for_service 24git_timed 979dbsync 35apt-get 658=========================

This is your host IP address: 192.168.56.70This is your host IPv6 address: ::1Horizon is now available at http://192.168.56.70/dashboardKeystone is serving at http://192.168.56.70/identity/The default users are: admin and demoThe password: 12345

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: pikeChange: 68fbb912bd7bc799e8b84d88c4206f7c4b001ad1 Zuul: Remove project name 2018-02-08 16:27:25OS Version: Ubuntu 16.04 xenial

10 / 40

#5stack.sh

Page 11: Open stack pike-devstack-tutorial

11 / 40

Folders

~$ tree -L 1.|----- bin|----- cinder|----- data|----- devstack|----- devstack.subunit|----- glance|----- horizon|----- keystone|----- logs|----- neutron|----- nova|----- noVNC|----- requirements|----- tempest

Page 12: Open stack pike-devstack-tutorial

Basic Operations

Dashboard - Horizon

12 / 40

Page 13: Open stack pike-devstack-tutorial

13 / 40

Getting Started1. Create Network & Router2. Create Instance (+ Key Pair)3. Assign Floating IP4. Access & Security Rules

Page 14: Open stack pike-devstack-tutorial

#1 | Demo Project | Cred: demo/... 14 / 40

Page 15: Open stack pike-devstack-tutorial

#1 | Demo Project | Network: 'private' | Router: 'router1' 15 / 40

Page 16: Open stack pike-devstack-tutorial

#1 | Demo Project | Network Graph 16 / 40

Page 17: Open stack pike-devstack-tutorial

#2 | Launch Instance | Create 17 / 40

Page 18: Open stack pike-devstack-tutorial

#2 | Launch Instance | Key Pair 18 / 40

Page 19: Open stack pike-devstack-tutorial

#2 | Launch Instance | Running 19 / 40

Page 20: Open stack pike-devstack-tutorial

#2 | Launch Instance | Network Topology 20 / 40

Page 21: Open stack pike-devstack-tutorial

#2 | Launch Instance | Network Graph 21 / 40

Page 22: Open stack pike-devstack-tutorial

#3 | Floating IP | Assign 22 / 40

Page 23: Open stack pike-devstack-tutorial

#3 | Floating IP 23 / 40

Page 24: Open stack pike-devstack-tutorial

#4 | Access & Security Rules | Enable Pings 24 / 40

Page 25: Open stack pike-devstack-tutorial

#4 | Access & Security Rules | Enable Pings 25 / 40

Page 26: Open stack pike-devstack-tutorial

26 / 40

TestReachability

Floating IP

~/devstack$ hostname -I10.0.2.15 192.168.56.70 192.168.122.1 172.24.4.1 2001:db8::2

# unmodified default rule~/devstack$ ping 172.24.4.9PING 172.24.4.9 (172.24.4.9) 56(84) bytes of data.^C--- 172.24.4.9 ping statistics ---5 packets transmitted, 0 received, 100% packet loss, time 4016ms

# after ICMP rule insertion~/devstack$ ping 172.24.4.9PING 172.24.4.9 (172.24.4.9) 56(84) bytes of data.64 bytes from 172.24.4.9: icmp_seq=1 ttl=63 time=6.73 ms64 bytes from 172.24.4.9: icmp_seq=2 ttl=63 time=1.52 ms^C--- 172.24.4.9 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1005msrtt min/avg/max/mdev = 1.521/4.126/6.731/2.605 ms

Page 27: Open stack pike-devstack-tutorial

Test | VM Instance | 10.0.0.12 27 / 40

Page 28: Open stack pike-devstack-tutorial

Test | VM Instance | 10.0.0.12 28 / 40

Page 29: Open stack pike-devstack-tutorial

29 / 40

RouteVB Guest

DevStack VM

# before stack.shstack@x64server:~/devstack$ hostname -I10.0.2.15 192.168.56.70 192.168.122.1

stack@x64server:~$ /sbin/route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 enp0s310.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

# after stack.shstack@x64server:~/devstack$ hostname -I10.0.2.15 192.168.56.70 192.168.122.1 172.24.4.1 2001:db8::2

stack@x64server:~/devstack$ /sbin/route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 enp0s310.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3172.24.4.0 0.0.0.0 255.255.255.0 U 0 0 0 br-ex192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

Page 30: Open stack pike-devstack-tutorial

~$ route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 192.168.0.1 0.0.0.0 UG 600 0 0 wlp1s0169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp1s0172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp1s0192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0

~$ sudo route add -net 172.24.4.0 netmask 255.255.255.0 gw 192.168.56.70# $ sudo route del -net 172.24.4.0 gw 192.168.56.70 netmask 255.255.255.0

~$ route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 192.168.0.1 0.0.0.0 UG 600 0 0 wlp1s0169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp1s0172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0172.24.4.0 192.168.56.70 255.255.255.0 UG 0 0 0 vboxnet0192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp1s0192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0

# before stack.sh~$ ping 172.24.4.1PING 172.24.4.1 (172.24.4.1) 56(84) bytes of data.^C--- 172.24.4.1 ping statistics ---2 packets transmitted, 0 received, 100% packet loss, time 1005ms

# after stack.sh~$ ping 172.24.4.1PING 172.24.4.1 (172.24.4.1) 56(84) bytes of data.64 bytes from 172.24.4.1: icmp_seq=1 ttl=64 time=0.644 ms64 bytes from 172.24.4.1: icmp_seq=2 ttl=64 time=0.636 ms^C--- 172.24.4.1 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1002msrtt min/avg/max/mdev = 0.636/0.640/0.644/0.004 ms

# before ICMP rule~$ ping 172.24.4.9PING 172.24.4.9 (172.24.4.9) 56(84) bytes of data.^C 30 / 40

RouteVB Host

Page 31: Open stack pike-devstack-tutorial

Test | VM Instance | 10.0.0.12 31 / 40

Page 32: Open stack pike-devstack-tutorial

Basic Operations

CLI - OSC

32 / 40

Page 33: Open stack pike-devstack-tutorial

33 / 40

CLI Testdemo user

demo project

~/devstack$ . openrc demo demoWARNING: setting legacy OS_TENANT_NAME to support cli tools.

~/devstack$ openstack server list+--------------------------------------+------+--------+----------------------------------------| ID | Name | Status | Networks +--------------------------------------+------+--------+----------------------------------------| fe670153-8a9f-4f34-b4f3-6fc98e0a6937 | node | ACTIVE | private=10.0.0.12, fd3d:7fab:583d:0:f81+--------------------------------------+------+--------+----------------------------------------

~/devstack$ openstack image list+--------------------------------------+--------------------------+--------+| ID | Name | Status |+--------------------------------------+--------------------------+--------+| 2e5ea796-c099-4a55-a6d9-60f37a093039 | cirros-0.3.5-x86_64-disk | active |+--------------------------------------+--------------------------+--------+

~/devstack$ openstack user listYou are not authorized to perform the requested action: identity:list_users. (HTTP 403) (Request

~/devstack$ openstack --help~/devstack$ openstack command list

Page 34: Open stack pike-devstack-tutorial

# Keystone is serving at http://192.168.56.70/identity/{ "versions": { "values": [ { "status": "stable", "updated": "2017-02-22T00:00:00Z", "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.identity-v3+json" } ], "id": "v3.8", "links": [ { "href": "http://192.168.56.70/identity/v3/", "rel": "self" } ] }, { "status": "deprecated", "updated": "2016-08-04T00:00:00Z", "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json" } ], "id": "v2.0", "links": [ { "href": "http://192.168.56.70/identity/v2.0/", "rel": "self" }, { "href": "https://docs.openstack.org/", "type": "text/html", "rel": "describedby" } ] 34 / 40

Keystoneidentity

Page 35: Open stack pike-devstack-tutorial

~/devstack$ openstack --os-username=admin --os-password=12345 --os-auth-url=http://192.168.56.+----------------------------------+-----------+| ID | Name |+----------------------------------+-----------+| 072d377ecb23418eb6ce5466eed15934 | glance || 54c88e67b1204721b39d1b1e7a0c3fae | demo || 673e2bab55ab40f481ef5cbdd6c7a590 | placement || 7b425ff57f4641c4a24a728498e4bb6b | admin || 7cd343a1790f4673a1e069c516b792e3 | nova || 7ddf2056049e4254aad083e10c27f538 | neutron || 8f6e5671f00543f69bb172eaae6e6127 | alt_demo || bcae28b0d6f84017bc5950a11883070b | cinder |+----------------------------------+-----------+

~/devstack$ openstack --os-username=admin --os-password=12345 --os-auth-url=http://192.168.56.+----------------------------------+--------------------+| ID | Name |+----------------------------------+--------------------+| 00d1fbc04a524371b76507c3c4fe8bb1 | demo || 4a5f1787cad44b859a44612362abb53c | alt_demo || 4b09d781ee6149b690293b177d48392a | admin || 51f1294b7f164a3e927214216c68ca65 | invisible_to_admin || c2437dacab1d427a8d22faf9a45e36a7 | service |+----------------------------------+--------------------+

35 / 40

CLIAuth viaKeystone

Page 36: Open stack pike-devstack-tutorial

~/devstack/accrc$ tree.|----- admin| |---- admin|----- alt_demo| |---- admin| |---- alt_demo|----- demo| |---- admin| |---- demo|----- invisible_to_admin |---- demo

4 directories, 6 files

~/devstack/accrc$ cat demo/demo# OpenStack USER ID = 54c88e67b1204721b39d1b1e7a0c3faeexport OS_USERNAME="demo"# OpenStack project ID = 00d1fbc04a524371b76507c3c4fe8bb1export OS_PROJECT_NAME="demo"export OS_AUTH_URL="http://192.168.56.70/identity"export OS_CACERT=""export NOVA_CERT="/opt/stack/devstack/accrc/cacert.pem"export OS_PASSWORD="12345"export OS_USER_DOMAIN_ID=defaultunset OS_USER_DOMAIN_NAMEexport OS_PROJECT_DOMAIN_ID=defaultunset OS_PROJECT_DOMAIN_NAME

~/devstack/accrc$ cat demo/admin# OpenStack USER ID = 7b425ff57f4641c4a24a728498e4bb6bexport OS_USERNAME="admin"# OpenStack project ID = 00d1fbc04a524371b76507c3c4fe8bb1export OS_PROJECT_NAME="demo"export OS_AUTH_URL="http://192.168.56.70/identity"export OS_CACERT=""export NOVA_CERT="/opt/stack/devstack/accrc/cacert.pem"export OS_PASSWORD="12345"export OS_USER_DOMAIN_ID=defaultunset OS_USER_DOMAIN_NAMEexport OS_PROJECT_DOMAIN_ID=defaultunset OS_PROJECT_DOMAIN_NAMEt k@ 64 /d t k/ $ 36 / 40

accrcTemplates

Page 37: Open stack pike-devstack-tutorial

# static IPsdn@onos-tutorial:~$ cat /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interfaceauto loiface lo inet loopback

# The primary network interfaceauto enp0s3iface enp0s3 inet dhcp

# The secondary network interfaceauto enp0s8iface enp0s8 inet static address 192.168.56.70 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 #gateway 192.168.56.1 #dns-nameservers 8.8.8.8 8.8.4.4

#iface enp0s8 inet dhcp

37 / 40

Notes

Page 38: Open stack pike-devstack-tutorial

Refs/Resources

38 / 40

Page 39: Open stack pike-devstack-tutorial

Refs/Resources1. OpenStack Docs: DevStack2. OpenStack Docs: OpenStackClient3. openstack-dev/devstack4. OpenStack Docs: All-In-One Single Machine5. OpenStack Docs: DevStack Networking6. Using your devstack cloud

39 / 40

Page 40: Open stack pike-devstack-tutorial

40 / 40

ENDEueung Mulyanahttps://telematika.org/remark/devstackIntro+Labs | Attribution-ShareAlike CC BY-SA