Date post: | 22-Jan-2018 |
Category: |
Software |
Upload: | takashi-torii |
View: | 243 times |
Download: | 3 times |
OpenStack Seminar in MyanmarAug. 2017
Takashi Torii, Japan OpenStack User Group, NEC, Okinawa Open Laboratory
Outline
■What is Cloud?
■What is OpenStack?
■OpenStack Community and User Group in Global
■OpenStack Foundation and Event
■Market and Business about OpenStack
■How to Start and Contribute
■Closing
Who am I?Takashi Torii- Co-Chair of Japan OpenStack User Group - Senior Expert of OSS Promotion and
Technology, NEC- Chief Technical Advisor of Okinawa Open
Laboratory- @ttorii0609
What is Cloud?
■From user’s view
– On-Demand
– Pay-per-Use
■From operator’s view
– Standardized
– Low cost operation
Use Case
■Past Test Search System
– Purpose
●Students can search past test of each professor and course
●Study easy! and help to take points!
– Requirement
●On the web
●Limited access
●Temporary
●Free or low cost
Infrastructure as a Service (IaaS)
Using infrastructure (server, network, storage) in Cloud
Ex) AWS, Google Cloud Platform, OpenStack
Cloud Service
MS Office,Google, Mail
SaaSSoftware as a Service
PaaSPlatform as a Service
IaaSInfrastructure as a Service
OS, MiddleWare
CPU, MemoryDISK, Network
Using Applications
Developing Applications
Using Resources
Merit of Cloud/IaaSBefore After
Create Environment by Person Software Defined
Buy Hardware Resource on demand
Depend on Hardware Not depend on Hardware
Taking Time Linearly Repeat/Reproduce
Hardware Resource is Limited Resource is unlimited
Can NOT do everything! Can do EVERYTHING!
Cloud Service
MS Office,Google, Mail
SaaSSoftware as a Service
PaaSPlatform as a Service
IaaSInfrastructure as a Service
OS, MiddleWare
CPU, MemoryDISK, Network
Using Applications
Developing Applications
Using Resources
The Beginning of OpenStack
Nova
• IaaS platform NASA developed
for solving the scalability
problem of Eucalyptus
Swift
• Cloud storage service developed by
Rackspace
2010, Summer
Started “OpenStack Project”with Nova and Swift targeting 100%
Open Source Software
+
OpenStack Versions
Austin
Bexar
Cactus
DiaboloEssex
Folsom
Grizzly
Havana
IcehouseJuno
Kilo
Liberty
Mitaka
NewtonOcata
OpenStack Ocata Release■ One platform: bare metal, VMs, containers
– OpenStack provides one platform to orchestrate bare metal, containers and virtual machines on a single network allowing private users to optimize for their application without creating more silos in their datacenter, and giving service providers more capabilities.
OpenStack is..
■Scalable and Open Cloud Infrastructure
OpenStackModular
Micro Service
Architecture
Utilizing other OSS
REST API
Full Python
Release every 6 month
OpenStack Projects
IaaS
Virtual Server
(Nova)
Physical Server
(Ironic)
Container
(Magnum)
Network
(Neutron)
PaaS
Database
(Trove)
Message Queue
(Zaqar)
Big Data
(Sahara)
DNS
(Designate)
Orchestration
(Heat)
Storage
Object Storage
(Swift)
Block Storage
(Cinder)
Shared Filesystem
(Manila)
VM Images
(Glance)
Common
Identify(Keystone)
Portal
(Horizon)
Metering
(Celometer)
QA/CI
(Tempest)
OpenStack Projects
Virtual Network
Neutron
Virtual Server
Physical ServerBare Matal
ImageGlance
Block StorageCinder
Object StorageSwift
Nova
IdentifyKeystone
Virtual Router, Virtual LB..
Virtual Server create/delete
Bare Metal Server
VM Image and Snapshot
Virtual Volume
REST APIRemote Replication
Horizon(Dashboard)
API
Ironic
Project Navigator
■https://www.openstack.org/software/project-navigator/
Utilizing Other OSS
OSS inside OpenStack
•Database
MySQL, MongoDB, InfluxDB
•On-memory cache
Memcached
•Message Queue
RabbitMQ
OSS used with OpenStack
•HA
Pacemaker, Corosync
•Monitoring
Zabbix, Nagios, Ganglia
• Log Management
ElasticSearch, LogStash,
Kibana (ELK), Hadoop
•Developer Tools
Jenkins, GitLab, Gerrit
Micro Service Architecture
Neutron
Cinder
Nova
VM
Attach Volume
Create Server
DBAPICreate Network
DBAPI
DBAPI
API
Scheduler
ConductorCompute
Nvcproxy
API
APP Template XaaSOperation
Design
API
PrivatePublic Managed
ValueAdd
Infra layer Abstruction
Nova Neutron Cinder Swift
Low CostInfra
Using Standard API doesn’t lock-in
Cloud Native Application
Selectable, using best practice easily
TryStack (Sandbox)
■http://trystack.org/
Firstly join the
Facebook group here
After your join request
is approved, you can
login from here
CLI
■https://docs.openstack.org/python-openstackclient/latest/
API
■https://developer.openstack.org/api-guide/quick-start/
#!/usr/bin/env python
from novaclient.v1_1 import clientnt = client.Client("demo",
"openstack","demo","http://11.22.33.44:5000/v2.0",service_type="compute")
ns = nt.servers.create(name = "testvm001",image = im[0],flavor = fv[0],nic = nw[1])
Heat
■Orchestrator project to automate system deployment by template
resources:my_instance:type: OS::Nova::Serverproperties:key_name: testkeyimage: Ubuntu-14.04-TLSflavor: m1.smallnetworks:- port: {get_resource: test-port}
$ heat stack-create -f <template_file> <stack_name>
Kubernetes over OpenStack
Using ZUN PROJECT
Docker Docker
Cont
ainer
Cont
ainer
Cont
ainer
Cont
ainer
Host Host
OpenStack Developer Community
Developer
Core Developer
PTL
Role Description
TC Decision about whole OpenStack
development policy or target
PTL Lead and manage each component
Core
Developer
Mainly develop the code and review the
patches also have the rights to commit
them to main tree
developer Mainly develop the conde and review
them
Technical Committee (TC)
Project
Globally Distributed
Development Style
OpenStack Developer Community
■ Modern Development Style using Modern Tools
■ Cross-Organization and Diversity
■ Discuss heavy, to achieve everyone’s agreement
■ Periodically meet F2F (OpenStack Summit, Project Team Gathering, Mid-cycle Meetup..)
Continuous Integration (CI)
■To keep upstream quality and stability
■Can release anytime
■Using tools effectively●DevStack: Deploy OpenStack environment easily
●Gerrit:Review system
●Jenkins: Automated CI/CD tool
Continuous Integration (CI)
Devstack
① Dev/Test in local environment
Discuss in mailing-list, chat, etc
② Review and testin Community Infra
Developer
User/Community
GitHub Jenkins
LaunchPad
Gerrit
Code Repository Review Automated Test
Bug and Spec management
How to Start?
■https://groups.openstack.org/tips
■Contact your Ambassador– I can introduce
■Create core team– At least 2 person
■Register new user group– Creating Facebook Group
– Creating Meetup page
■Plan Meetings and Meetups– Ask volunteers to help
Supporting Companies
48
ASEANLABS Itochu Techno-Solutions(CTC) Internet Initiative Japan(IIJ) NTT Communications NTT Software NTT Data NTT Data Intellilink Corp. LPI-Japan Empire Inc. Okinawa Institute of Science and
Technology Virtualized Infrastructure Operators
Group Canonical Cloud Utilization Promotion Agency
(CUPA) Cloudian K.K. Creation Line, Inc. KDDI
GMO Internet, Inc. National Institute of
Informatics (NII) Supermicro DataDirect Networks Japan,
Inc. Dell Japan NEC NTT Hitachi Hewlett-Packard Japan Bit-isle/Equinix Fujitsu Midokura Japan Mirantis Japan Red Hat K.K.
More and more organizations areadopting OpenStack
■Keynote speakers in the OpenStack Days Tokyo
– 2013: National Institute of Informatics
– 2014: GREE
– 2015: GMO Internet, Rakuten, NTT Communications
– 2016: JFE Steel, NTT Docomo, Fujitsu
– 2017: Dwango, Line, Fuji City
How we organize meetups
■Meetup planning team
– 10+ volunteers from the user group
– Once per month average
– Select topics and find speakers
– Find a meeting room for 100+ people
● Meeting rooms in supporting companies’ offices
● Organized by volunteer members (registration, logistics)
■Learn from each other (no sales pitch)
Topic selection criteria
■Fill the gaps between matured users and novice users
■Promote on-boarding to OpenStack
■Catching up the latest development
■Technical deep dive
■Operational tips
Meetups (last 10)■ Mar 2016: 25th “HA for Instances” 174ppl
■ Apr 2016: 26th “Using OpenStack with DevStack” 37ppl
■ May 2016: 27th “OpenStack installers” 220ppl
■ Jun 2016: 28th “Orchestration with Heat” 132ppl
■ Sep 2016: 29th “Introduction to OpenStack Quality Assurance” 143ppl
■ Sep 2016: 30th “OpenStack Basics and Latest Updates: in Osaka” 45ppl
■ Nov 2016: 31st “OpenStack Networking Updates” 165ppl
■ Mar 2017: 32nd “Exploring EVERY OpenStack Projects!” 9ppl (weekend one-day session)
■ Apr 2017: 33rd “What’s new in OpenStack Ocata Release” 135ppl
■ May 2017: 34th “Hands-on OpenStack Basics” 104ppl
■ July 2017: 35th “Hands-on OpenStack Basics #2” 77ppl
1086 unique attendees total
Ops Workshop
■ Collaborative workshop among OpenStack operators
– Follow the format of the OpsMeetup
● https://wiki.openstack.org/wiki/Operations/Meetups
– 30-40 ops members from 15+ companies
– Meeting agenda and discussions (twice a year)
● https://etherpad.openstack.org/p/JP-Ops-workshop (in Okinawa Open Days 2015)
● https://etherpad.openstack.org/p/JP-Ops-workshop-2 (in OpenStack Days Tokyo 2016)
● https://etherpad.openstack.org/p/JP-Ops-workshop-3 (in Okinawa Open Days 2016)
● https://etherpad.openstack.org/p/JP-Ops-workshop-4 (in OpenStack Days Tokyo 2017)
Major Japanese OpenStack operators got together
■ NTT Group
■ GMO Internet
■ Yahoo! Japan
■ Rakuten
■ Bit-Isle Equinix
■ NEC
■ Cyber Agent
■ DeNA
■ Hitachi
■ IIJ
■ KDDI
■ Broadband Tower
Operator’s agenda
■Topics discussed in the past workshops– Containerizing OpenStack control plane– Upgrade
– Logging– Architecture Design tips– Networking
– Migration– Instance HA– Documentation
– How to educate ops team– Contribution to official working groups
59
“Ops Meetup” is coming to APAC
■Ops Meetup in Feb-Mar 2018 will be in APAC
■We are proposing Tokyo– https://etherpad.openstack.org/p/ops-meetup-venue-discuss-1st-
2018
– Join openstack-operators ML for details and to vote!
– Join Ops Meetups Team IRC to help organize.● https://wiki.openstack.org/wiki/Ops_Meetups_Team
Upstream Training
■Free Training for new contributors
– Core developers, PTLs volunteered to be a mentor/trainer
– Held annually (usually co-located with OpenStack Days)
– Learn
● How OpenStack is developed
● How to use dev tools, how to become a contributor
● How to push code, get reviewed
● How to collaborate/communicate with community members
● How to collaboratively develop large software (Lego work)
■Hands-on training for new contributors– 4th time in Japan
■20+ attendees, 3 mentors
■Learn how to contribute– Attendees learned how to use various tools such as
Launchpad, Gerrit, IRC, etc
– PTLs from I18n, QA team and COA from Taiwan gave lectures.
– https://etherpad.openstack.org/p/upstream-training-jp-2016-summer
63
About Okinawa Open Laboratory (OOL)■ Research Institute
– Founded by NTT Communications, NEC and IIGA in May 2013– Based at Uruma City, Okinawa, Japan
■ Mission – Research and development for practical application and dissemination of
advanced Information Communications Technologies (ICT), especially next-generation ICT platform technologies in below
● SDN (Software-Defined Networking)● NFV (Network Function Virtualization)● OpenStack (Cloud computing technology using OSS)
■ Representative– Yukio Ito, Chairman
■ Activities– Verification of new technologies– Development of use cases and reference models– Education and training of engineers– International conferences and exchanges, especially with Asian
countries
Activities of Okinawa Open Laboratory
■OPNFV
■ONOS/CORD
■Test bed
■Network Test Automation
■VNF Test Automation
Collaboration in AsiaMember Researchers
ExchangeJoint
ResearchConnectionbetween
Labs
CollaboratedEvent
Taiwan
Korea
China
Malaysia
OpenStack Foundation■ Organization to promote the global development, distribution, and adaption of
OpenStack
– Established in 2011, it is 2nd largest OSS related organization
– Currently served more than 60,000 individual members from over 180 countries around the world
OpenStack Summit
■The most big event about OpenStack– Hosted by OpenStack Foundation held twice the year (Spring and Fall)
– Held in North America in Spring, and Europe or Asia in Fall
Conference
Keynote and many sessions about use case, strategy, product/tools,
new technology etc.
Forum
Discuss the topic with developer and user
Marketplacesponsor booth exhibiting product or solutions
Example Users■Not only Cloud Provider or Servicer, there are many user case have been published from Telecom, Finance, Enterprise.
https://www.openstack.org/marketplace/
OpenStack based Services/Products
Support Phases
master
stable/mitaka
stable/liberty
stable/kilo
Phase I
Phase II
Phase III
Basically all bugfixes are applied to PhaseI
Security patches are applied to PhaseIII
Critical bugfixesare applied to PhaceII
http://docs.openstack.org/project-team-guide/stable-branches.html
Backport Policy
■Some types of changes are completely forbidden
–New features
–Changes to the external HTTP APIs
–Changes to Nova’s internal AMQP API
–Changes to the notification definitions
–DB schema changes
–Incompatible config file changes
Bug Search
■Based on error messages or other keys, you can search reported bugs on Launchpad
https://bugs.launchpad.net/openstack
Search Key
Sort Key
Bug Report1.As a sample, report about nova
2.Keyword Search
3.New bug report
4.Describe the bug in detail
(Next slide)
5.If related to security, check the box
5.Register
6.Thank you e-mail is arrived
7.E-mail report coming when status changed
https://bugs.launchpad.net/nova/+filebug
Search existing bugs by keyword from summary
There is no similar bug, report as a new bug
Tips: Adding tags will help understanding and quick response from community developer
Bug Report in DetailDescribe the bugs shortly and sufficiently
Ex)weather applet crashes on logout
Describe the information about the environment etc. to investigate easier
- version (OS, OpenStack version etc)
- system (nova, neutron, etc)
- expected behavior and actual behavior
- Error messages
- How to replicate
There are bug reporting guideline in Neutron community
http://docs.openstack.org/developer/neutron/policies/bugs.html#bug-report-template
Code Fixing Flow
http://docs.openstack.org/infra/manual/developers.html
①
②
③
④
⑥‘
⑤
⑥
① Copy the source code to local environment
② Create branch for fixing the bugs and change them
③ Commit to branch after unit test passed
④ Ask review to community
⑤ Automatically tested by community CI
⑥ Accepted by core reviewer
⑥‘ If not accepted, amend the patch and ask review again
DevStack Quick Start
$ sudo apt-get update$ sudo apt-get install git
$ git clone https://git.openstack.org/openstack-dev/devstack.git$ cd devstack
## Edit local.conf$ cp samples/local.conf .$ vi local.conf
$ ./stack.sh
## After launched, access from browser by IP address
Create Accounts■ Launchpad
■OpenStack Foundation ID
■Gerrit
■OpenStack Individual Contributor License Agreement (ICLA)
■These processes are explained OpenStack Infra Manual (http://docs.openstack.org/infra/manual/developers.html#account-setup)
Prepare Git and Gerrit■ Git
– git config --global user.name "Firstname Lastname"
– git config --global [email protected]
– git config --list
■ Gerrit– sudo apt-get install git-review # Install
– ssh-keygen # Create Key
– Access https://review.openstack.org/
– Setting SSH Public Keys Add Key
– Register the public key (~/.ssh/id_rsa.pub)
git-review
■git clone https://git.openstack.org/openstack/<projectname>.git
■You can use Sandbox: git clone https://git.openstack.org/openstack-dev/sandbox
■cd <projectname>
■git review -s # Remote Setup
Starting a Change
■Initial commit–git add <file(s)> or git add -u <file(s)>–git commit–git review
■Amend the patches–git add <file(s)> or git add -u <file(s)>–git commit --amend–git review
■When master branch changed–git remote update origin–git rebase origin/master–When conflicts occurred, carefully change and merge changes, and do “git add”, and “git rebase -continue”
Commit Messages
■https://wiki.openstack.org/wiki/GitCommitMessages
OpenStack is the Right Way to become “Cloud Native”
COST
SPEED
INNOVATION
Resource is provided as a serviceUser self
Transform system architecture to Cloud Native
Open and Standard without vender lock-in
Diversity and open eco system help innovative activities in global
①
②
③