SlideShare a Scribd company logo
1 of 49
Download to read offline
Tutorial	
  on	
  Contribu-ng	
  to	
  
OpenStack	
  
Devda8a	
  Kulkarni	
  
PTL,	
  OpenStack	
  Solum	
  
Agenda	
  
•  Part	
  I	
  	
  
–  Introduc-ons	
  
–  Introduc-on	
  to	
  OpenStack	
  
•  Part	
  II	
  	
  
–  Deep	
  dive	
  of	
  a	
  OpenStack	
  project	
  -­‐	
  Solum	
  
•  Part	
  III	
  
–  Contribu-ng	
  to	
  OpenStack	
  
–  OpenStack	
  CI	
  system	
  
–  Development	
  best	
  prac-ces	
  
–  Hands-­‐on	
  exercise	
  
•  Ques-ons	
  and	
  Answers	
  
Agenda	
  
•  Part	
  I	
  	
  
–  Introduc,ons	
  
–  Introduc,on	
  to	
  OpenStack	
  
•  Part	
  II	
  	
  
–  Deep	
  dive	
  of	
  a	
  OpenStack	
  project	
  -­‐	
  Solum	
  
•  Part	
  III	
  
–  Contribu-ng	
  to	
  OpenStack	
  
–  OpenStack	
  CI	
  system	
  
–  Development	
  best	
  prac-ces	
  
–  Hands-­‐on	
  exercise	
  
•  Ques-ons	
  and	
  Answers	
  
Introduc-on	
  
•  Me	
  
– Devda8a	
  Kulkarni	
  
– First	
  contributor	
  on	
  Solum	
  
– Currently	
  Project	
  Team	
  Lead	
  (PTL)	
  of	
  Solum	
  for	
  Mitaka	
  
cycle	
  
– PhD,	
  University	
  of	
  Minnesota	
  Minneapolis	
  
•  You	
  
Introduc-on	
  to	
  OpenStack	
  
What	
  is	
  OpenStack?	
  
A	
  family	
  of	
  “open”	
  projects	
  that	
  together	
  enable	
  different	
  
aspects	
  of	
  cloud	
  compu-ng	
  
	
  
Openness	
  of	
  OpenStack	
  
	
  h8ps://wiki.openstack.org/wiki/Open	
  
•  Open	
  source	
  
•  Open	
  design	
  
•  Open	
  development	
  
•  Open	
  community	
  
	
  
OpenStack	
  family	
  
•  Family	
  of	
  projects	
  enabling	
  different	
  aspects	
  of	
  cloud	
  compu-ng	
  
–  Authen-ca-on	
  and	
  authoriza-on	
  layer	
  
•  Keystone	
  
–  Infrastructure-­‐as-­‐a-­‐service	
  layer	
  
•  Nova,	
  Glance	
  
–  Storage	
  layer	
  
•  Swi[,	
  Cinder	
  
–  Networking	
  layer	
  
•  Neutron	
  
–  Plaorm-­‐as-­‐a-­‐service	
  layer	
  
•  Solum,	
  Heat,	
  Murano,	
  Mistral,	
  Trove	
  
•  Project	
  types	
  
–  OpenStack	
  big	
  tent	
  vs.	
  OpenStack	
  related	
  projects	
  
	
  	
  
OpenStack	
  by	
  numbers	
  
•  49	
  projects	
  in	
  OpenStack	
  big	
  tent	
  
•  Several	
  hundred	
  organiza-ons	
  involved	
  	
  
•  Several	
  thousand	
  developers	
  par-cipa-ng	
  
Agenda	
  
•  Part	
  I	
  	
  
–  Introduc-ons	
  
–  Introduc-on	
  to	
  OpenStack	
  
•  Part	
  II	
  	
  
–  Deep	
  dive	
  of	
  a	
  OpenStack	
  project	
  -­‐	
  Solum	
  
•  Part	
  III	
  
–  Contribu-ng	
  to	
  OpenStack	
  
–  OpenStack	
  CI	
  system	
  
–  Development	
  best	
  prac-ces	
  
–  Hands-­‐on	
  exercise	
  
•  Ques-ons	
  and	
  Answers	
  
 	
  What	
  is	
  Solum?	
  
OpenStack	
  project	
  that	
  provides	
  easy	
  mechanism	
  for	
  applica-on	
  
developers	
  to	
  deploy	
  and	
  run	
  their	
  applica-ons	
  on	
  OpenStack	
  star-ng	
  
from	
  applica-on’s	
  source	
  code	
  
	
  
Why	
  should	
  you	
  care?	
  (the	
  value	
  proposi-on)	
  
–  For	
  operators,	
  Solum	
  provides	
  ability	
  to	
  make	
  your	
  OpenStack	
  cloud	
  more	
  
useful	
  for	
  your	
  clouds’	
  applica-on	
  developers	
  by	
  simplifying	
  the	
  process	
  of	
  
deploying	
  applica-ons	
  to	
  it	
  
–  For	
  developers,	
  Solum	
  provides	
  an	
  easy-­‐to-­‐use	
  plaorm	
  for	
  building,	
  tes-ng,	
  
and	
  deploying	
  applica-ons	
  on	
  OpenStack	
  clouds	
  
 	
  Project	
  goals	
  
Applica-on	
  Stack	
  Flexibility	
  
Ability	
  to	
  support	
  applica-ons	
  wri8en	
  in	
  different	
  languages	
  and	
  using	
  different	
  applica-on	
  
frameworks	
  
	
  
Developer	
  Produc-vity	
  
Ability	
  to	
  perform	
  CI/CD,	
  integra-on	
  with	
  github	
  
	
  
Add-­‐On	
  Services	
  Extensibility	
  
Ability	
  to	
  support	
  different	
  add-­‐on	
  services	
  
	
  
Applica-on	
  Portability	
  
Ability	
  to	
  deploy	
  applica-ons	
  across	
  different	
  OpenStack	
  clouds	
  (use	
  na-ve	
  OpenStack	
  
services)	
  
	
  
 	
  Project	
  details	
  
•  Wiki:	
  
h8ps://wiki.openstack.org/wiki/Solum	
  
	
  
•  Mee-ngs:	
  
Tuesdays	
  1700	
  UTC	
  in	
  #openstack-­‐mee-ng-­‐3	
  
•  IRC:	
  
Channel:	
  #solum	
  on	
  freenode	
  
•  Code:	
  
h8ps://github.com/openstack/solum	
  
h8ps://github.com/openstack/python-­‐solumclient	
  
 	
  Solum	
  abstrac-ons	
  
•  App	
  
•  Languagepack	
  (LP)	
  
•  Deployment	
  Unit	
  (DU)	
  
•  Workflow	
  
•  Add-­‐on	
  
 	
  Solum	
  abstrac-ons	
  -­‐	
  App	
  
Declara-ve	
  applica-on	
  
defini-on	
  	
  
•  source	
  code	
  repository	
  
•  run	
  command	
  
•  port	
  
•  languagepack	
  
version: 1
name: cherrypy
description: python web app
languagepack: python
source:
repository: https://github.com/
rackspace-solum-samples/solum-
python-sample-app.git
revision: master
workflow_config:
run_cmd: python app.py
ports:
- 80
 	
  Solum	
  abstrac-ons	
  -­‐	
  Languagepack	
  (LP)	
  
•  Docker	
  image	
  which	
  contains	
  applica-on	
  specific	
  build	
  and	
  run-me	
  
libraries	
  
•  A	
  LP	
  needs	
  to	
  implement	
  Solum’s	
  languagepack	
  contract	
  
	
  A	
  well-­‐known	
  file	
  available	
  at	
  a	
  known	
  loca-on	
  on	
  the	
  languagepack	
  image	
  
	
  /solum/bin/build.sh	
  
•  How	
  to	
  build	
  a	
  LP?	
  
Dockerfile	
  
	
  
•  Operator-­‐defined	
  or	
  user-­‐defined	
  
 	
  Solum	
  abstrac-ons	
  -­‐	
  Languagepack	
  Example:	
  Python	
  
	
  
	
  
FROM ubuntu:precise
MAINTAINER Murali Allada
<murali.allada@rackspace.com>
RUN apt-get -yqq update
RUN apt-get -yqq install python-pip
RUN apt-get -yqq install python-dev
COPY build.sh /solum/bin/
https://github.com/rackspace-solum-samples/solum-languagepack-python
	
  
#!/bin/bash
# Check if pip is installed
pip help
[[ $? != 0 ]] && echo python-pip is
not installed. && exit 1
# Install app dependencies
cd /app
pip install -r requirements.txt
build.shDockerfile
 	
  Solum	
  abstrac-ons	
  -­‐	
  Deployment	
  Unit	
  (DU)	
  (1/2)	
  
•  Docker	
  image	
  that	
  is	
  formed	
  from	
  the	
  languagepack	
  image	
  with	
  
applica-on’s	
  source	
  code	
  added	
  to	
  it	
  
	
  DU	
  =	
  LP	
  +	
  applica-on	
  source	
  code	
  
•  Solum	
  guarantees	
  the	
  DU	
  contract	
  
Applica-on	
  source	
  code	
  available	
  at	
  a	
  known	
  loca-on	
  on	
  the	
  DU	
  image	
  
	
  	
  	
  /app	
  
	
  
•  How	
  to	
  build	
  a	
  DU?	
  
–  Construct	
  Dockerfile	
  with	
  languagepack	
  as	
  the	
  base	
  image,	
  applica-on	
  source	
  code	
  
injected,	
  run	
  command	
  as	
  the	
  entry	
  point	
  
–  Build	
  the	
  DU	
  image	
  from	
  this	
  Dockerfile	
  
 	
  Solum	
  abstrac-ons	
  -­‐	
  Deployment	
  Unit	
  (DU)	
  (2/2)	
  
•  Building	
  a	
  DU	
  
–  Start	
  from	
  the	
  specified	
  languagepack	
  LP	
  
–  Specify	
  execu-on	
  of	
  languagepack’s	
  ‘build.sh’	
  
–  Inject	
  applica-on	
  source	
  code	
  
–  Use	
  the	
  run	
  command	
  specified	
  in	
  app	
  defini-on	
  as	
  the	
  default	
  Entrypoint	
  to	
  
run	
  the	
  DU	
  
•  LP	
  and	
  DU	
  storage	
  
Glance,	
  Swi[,	
  Docker	
  registry	
  
18	
  
 Solum	
  abstrac-ons	
  -­‐	
  Workflow	
  
•  Abstrac-on	
  to	
  represent	
  execu-on	
  of	
  applica-on	
  deployment	
  
consis-ng	
  of	
  one	
  or	
  more	
  workflow	
  stages	
  
	
  
•  Supported	
  workflow	
  stages	
  
–  Build	
  DU	
  (and	
  store	
  it	
  for	
  future	
  use)	
  
–  Run	
  unit	
  tests,	
  build	
  DU	
  
–  Run	
  unit	
  tests,	
  build	
  DU,	
  deploy	
  DU	
  (if	
  unit	
  tests	
  pass)	
  
–  Build	
  DU,	
  deploy	
  DU	
  
–  Deploy	
  a	
  previously	
  built	
  DU	
  (not	
  yet	
  available)	
  
•  A	
  workflow	
  can	
  be	
  triggered	
  from	
  github	
  webhooks	
  
	
  
Solum	
  abstrac-ons	
  -­‐	
  Add-­‐ons	
  
•  Services	
  needed	
  by	
  an	
  applica-on	
  
E.g.:	
  rela-onal	
  database	
  such	
  as	
  Trove	
  
	
  
•  DU	
  parameters	
  
	
  Solum	
  supports	
  ability	
  to	
  pass	
  service’s	
  connec-on	
  parameters	
  to	
  
	
  applica-on	
  DU	
  
Architecture	
  and	
  system	
  details	
  	
  
 	
  High-­‐level	
  architecture	
  
Solum	
  
API	
  
Solum	
  
Worker	
  
Solum	
  
Deployer	
  Queue	
   Queue	
  
Queue	
  
Solum	
  
Conductor	
  
Heat	
  
Solum	
  Database	
  
Glance,	
  Swi[,	
  Docker	
  Registry	
  
Builds	
  LP	
  and	
  DU	
   Deploys	
  DU	
  
-­‐  Decoupled	
  architecture	
  
-­‐  Asynchronous	
  
communica-on	
  
Demo	
  
h8ps://vimeo.com/143425822	
  
	
  
Agenda	
  
•  Part	
  I	
  	
  
–  Introduc-ons	
  
–  Introduc-on	
  to	
  OpenStack	
  
•  Part	
  II	
  	
  
–  Deep	
  dive	
  of	
  a	
  OpenStack	
  project	
  -­‐	
  Solum	
  
•  Part	
  III	
  
–  Contribu,ng	
  to	
  OpenStack	
  
–  OpenStack	
  CI	
  system	
  
–  Development	
  best	
  prac,ces	
  
–  Hands-­‐on	
  exercise	
  
•  Ques-ons	
  and	
  Answers	
  
Contribu-ng	
  to	
  OpenStack	
  
Tools/Systems	
  
•  Gerrit:	
  Code	
  review	
  system	
  
–  h8ps://review.openstack.org/	
  
•  Launchpad:	
  Work	
  (bugs/blueprints)	
  tracking	
  system	
  
–  h8ps://launchpad.net/	
  
•  Github:	
  Code	
  repository	
  
–  h8ps://github.com/openstack	
  
•  Git:	
  Code	
  contribu-on	
  
•  Mailing	
  list:	
  openstack-­‐dev	
  
–  h8p://lists.openstack.org/cgi-­‐bin/mailman/lis-nfo/openstack-­‐dev	
  
•  IRC:	
  chat.freenode.net	
  
Setup	
  steps	
  (1/2)	
  
•  h8p://docs.openstack.org/infra/manual/developers.html	
  
•  Create	
  Launchpad	
  account	
  
•  Join	
  OpenStack	
  founda-on	
  as	
  founda-on	
  member	
  
•  Sign	
  individual	
  contributor’s	
  license	
  agreement	
  
•  Install	
  git-­‐review	
  
•  Install	
  git	
  
•  Run	
  git	
  review	
  -­‐s	
  
Setup	
  steps:	
  Problems	
  and	
  troubleshoo-ng	
  
•  Problem:	
  
We	
  don't	
  know	
  where	
  your	
  gerrit	
  is.	
  Please	
  manually	
  
create	
  a	
  remote	
  
•  Solu-on:	
  
– Create	
  a	
  username	
  in	
  gerrit	
  if	
  not	
  already	
  created	
  
– Manually	
  set	
  gerrit	
  remote.	
  E.g.:	
  
	
  	
  	
  	
  git	
  remote	
  add	
  gerrit	
  "ssh://
djkulkarni@review.openstack.org:29418/openstack/
solum.git”	
  
Setup	
  steps:	
  Problems	
  and	
  troubleshoo-ng	
  
•  Problem:	
  
	
  	
  Problem	
  running	
  'git	
  remote	
  update	
  gerrit’	
  
	
  	
  	
  	
  	
  	
  	
  Fetching	
  gerrit	
  
	
  	
  	
  	
  	
  	
  	
  	
  Permission	
  denied	
  (publickey).	
  
	
  	
  	
  	
  	
  	
  	
  	
  fatal:	
  Could	
  not	
  read	
  from	
  remote	
  repository.	
  
•  Solu-on:	
  
–  Generate	
  sshkey	
  and	
  add	
  it	
  to	
  gerrit	
  
–  ssh-­‐keygen	
  
Steps	
  to	
  submit	
  a	
  patch	
  
•  Create	
  a	
  Launchpad	
  bug	
  or	
  assign	
  an	
  exis-ng	
  bug	
  to	
  
yourself	
  
•  Fixing	
  the	
  bug	
  
–  Itera-ve	
  process	
  
•  Understand	
  the	
  issue	
  (be	
  in	
  touch	
  with	
  project	
  developers	
  on	
  
project’s	
  IRC	
  channel	
  or	
  on	
  openstack-­‐dev	
  mailing	
  list)	
  
•  Design	
  solu-on	
  
•  Write	
  code	
  
•  Write	
  tests	
  
•  Commit	
  code	
  
•  Provide	
  good	
  commit	
  message	
  
•  Submit	
  patch	
  for	
  review	
  
Steps	
  to	
  merge	
  a	
  patch	
  
•  Patch	
  needs	
  to	
  pass	
  configured	
  automated	
  tests	
  
•  Patch	
  needs	
  to	
  get	
  two	
  +2	
  votes	
  
•  Patch	
  needs	
  to	
  be	
  approved	
  for	
  merging	
  by	
  
project’s	
  core	
  reviewer	
  
OpenStack	
  CI	
  System	
  
Con-nuous	
  Integra-on	
  of	
  patches	
  
•  Systems	
  involved:	
  
– Zuul	
  
– Gerrit	
  
– Jenkins	
  
– Github	
  
•  Pre-­‐merge	
  checking	
  
– Patch	
  is	
  merged	
  to	
  master	
  only	
  if	
  all	
  the	
  configured	
  tests	
  
pass	
  
OpenStack’s	
  CI	
  setup	
  
Gerrit	
   Zuul	
   Jenkins	
  
Github	
  
2	
   3	
  
4	
  5	
  
1	
  
Patch	
  
submi8ed	
  
for	
  review	
  
Patch	
  picked	
  up	
  
for	
  tes-ng	
   Tests	
  ran	
  on	
  the	
  patch	
  
Jenkins	
  gives	
  its	
  vote	
  
Code	
  
merged	
  
Patch	
  review	
  page	
  details	
  
Gerrit:	
  Patch	
  that	
  fails	
  gate	
  tests	
  
Development	
  best	
  prac-ces	
  
Best	
  prac-ces,	
  tricks,	
  -ps	
  
•  Devstack	
  
•  Vagrant	
  and	
  Virtualbox	
  
•  Python	
  	
  
•  Screen	
  
•  Debugging	
  
•  Git	
  
Devstack	
  
•  OpenStack	
  environment	
  consis-ng	
  of	
  all	
  the	
  
openstack-­‐services	
  
– Keystone,	
  Nova,	
  Heat,	
  Solum,	
  etc.	
  
•  Can	
  be	
  run	
  within	
  a	
  virtual	
  machine	
  or	
  
independently	
  
•  Useful	
  for	
  development	
  
Vagrant	
  and	
  VirtualBox	
  
•  Vagrant	
  
–  Configura-on	
  management	
  tool	
  for	
  configuring	
  virtual	
  
machines	
  
•  VirtualBox	
  
–  Virtualiza-on	
  system	
  
•  Spinning	
  up	
  a	
  development	
  environment	
  using	
  Vagrant	
  
+	
  VirtualBox	
  
–  h8ps://github.com/rackerlabs/vagrant-­‐solum-­‐dev	
  
–  git	
  clone	
  <solum-­‐vagrant-­‐repo>	
  
–  vagrant	
  up	
  -­‐-­‐provision	
  
Sexng	
  up	
  Solum	
  development	
  env	
  
•  Develop	
  on	
  Host,	
  debug	
  on	
  the	
  VM	
  
•  Install	
  Vagrant	
  and	
  Virtualbox	
  
•  Clone	
  solum	
  and	
  python-­‐solumclient	
  repositories	
  on	
  
the	
  Host	
  
•  Set	
  following	
  environment	
  variables:	
  
–  SOLUM=<path	
  on	
  Host	
  system	
  to	
  solum	
  repo>	
  
–  SOLUMCLIENT=<path	
  on	
  Host	
  system	
  to	
  python-­‐solumclient	
  
repo>	
  
•  vagrant	
  up	
  -­‐-­‐provision	
  
•  vagrant	
  ssh	
  
Python	
  
•  PyCharm	
  IDE	
  
•  pdb	
  
– Put	
  breakpoint	
  in	
  the	
  code	
  where	
  you	
  want	
  to	
  break	
  
•  import	
  pdb;	
  pdb.set_trace()	
  
– pdb	
  commands	
  
•  s:	
  Execute	
  the	
  current	
  line,	
  stop	
  at	
  first	
  possible	
  occasion	
  
•  c:	
  Con-nue	
  execu-on,	
  only	
  stop	
  when	
  a	
  breakpoint	
  is	
  
encountered	
  
•  h8ps://docs.python.org/2/library/pdb.html	
  
Tes-ng	
  
•  Run	
  tests	
  locally	
  before	
  submixng	
  patch	
  for	
  review	
  
– From	
  within	
  solum	
  directory	
  
•  tox	
  –epep8	
  
•  tox	
  –epy27	
  
•  Tox	
  
– Command	
  line	
  tool	
  for	
  running	
  tests	
  within	
  virtualenv	
  
Code	
  paths	
  on	
  Devstack	
  
•  solum	
  
/opt/stack/solum	
  
•  python-­‐solumclient	
  
/opt/stack/python-­‐solumclient	
  
•  Solum	
  logs	
  
–  /var/log/solum/deployer	
  
–  /var/log/solum/worker	
  
•  Devstack	
  logs	
  (of	
  various	
  screen	
  sessions)	
  
–  /opt/stack/logs/	
  
Screen	
  
•  Program	
  that	
  allows	
  sharing	
  physical	
  terminal	
  between	
  
different	
  processes	
  
•  Entering	
  Solum’s	
  screen	
  session	
  in	
  Devstack	
  
–  screen	
  –x	
  stack	
  
•  Screen	
  commands	
  
–  Move	
  to	
  next	
  window:	
  Ctrl+a	
  n	
  
–  Move	
  to	
  previous	
  window:	
  Ctrl+a	
  p	
  
–  See	
  all	
  windows:	
  Ctrl+a	
  “	
  
–  Enter	
  scrollback/copy	
  mode:	
  Ctrl+a	
  [	
  
–  Leave	
  scrollback/copy	
  mode:	
  Ctrl+a	
  ]	
  
–  h8p://www.pixelbeat.org/lkdb/screen.html	
  
Debugging	
  
•  Debug	
  code/feature	
  
– Put	
  breakpoints	
  in	
  the	
  code	
  
– Invoke	
  code-­‐under-­‐test	
  from	
  CLI	
  
– Use	
  screen	
  to	
  enter	
  breakpoint	
  and	
  then	
  debug	
  using	
  
Pdb	
  
•  Debug	
  failing	
  func-onal	
  test	
  
– h8ps://review.openstack.org/#/c/254344/	
  
•  Debug	
  failing	
  unit	
  test	
  
Git	
  
•  Crea-ng	
  dependent	
  commits	
  
•  Squashing	
  commits	
  
– git	
  rebase	
  -­‐i	
  HEAD~<number-­‐of-­‐commits>	
  
– pick/squash/edit	
  
•  Upda-ng	
  dependent	
  commit	
  and	
  submixng	
  for	
  
review	
  
•  h8ps://ask.openstack.org/en/ques-on/31633/
gerrit-­‐best-­‐way-­‐to-­‐make-­‐a-­‐series-­‐of-­‐dependent-­‐
commits/	
  
Hands-­‐on	
  exercise	
  
•  Submit	
  first	
  patch	
  to	
  OpenStack	
  (45	
  minutes)	
  
•  h8ps://etherpad.openstack.org/p/solum-­‐low-­‐
hanging-­‐fruit-­‐bugs	
  
Ques-ons	
  

More Related Content

What's hot

Open Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud InfrastructureOpen Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud InfrastructureMark Hinkle
 
Project Solum - OpenStack's Native PaaS
Project Solum - OpenStack's Native PaaSProject Solum - OpenStack's Native PaaS
Project Solum - OpenStack's Native PaaSAlex Baretto
 
Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013jsievers
 
DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)Francesco Fiore
 
Innovating Out in the Open
Innovating Out in the Open Innovating Out in the Open
Innovating Out in the Open Dev_Events
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...GlobalLogic Ukraine
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIAndrey Karpov
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Steffen Gebert
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarXebia Nederland BV
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveKen Thompson
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data ServicesTom Kranz
 
Migrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsMigrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsTeodor Madan
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
 
Perl Development Environment Tooling
Perl Development Environment ToolingPerl Development Environment Tooling
Perl Development Environment ToolingJason Crome
 
10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftwareWilliam Hart
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily usearun.arwachin
 

What's hot (20)

Open Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud InfrastructureOpen Source Toolchains to Manage Cloud Infrastructure
Open Source Toolchains to Manage Cloud Infrastructure
 
Project Solum - OpenStack's Native PaaS
Project Solum - OpenStack's Native PaaSProject Solum - OpenStack's Native PaaS
Project Solum - OpenStack's Native PaaS
 
Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013
 
DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)DevOps of Python applications using OpenShift (Italian version)
DevOps of Python applications using OpenShift (Italian version)
 
Innovating Out in the Open
Innovating Out in the Open Innovating Out in the Open
Innovating Out in the Open
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
 
CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3CASCON 2017 - OpenAPI v3
CASCON 2017 - OpenAPI v3
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0Monitoring Akka with Kamon 1.0
Monitoring Akka with Kamon 1.0
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data Services
 
Migrating from PDE to Tycho builds
Migrating from PDE to Tycho buildsMigrating from PDE to Tycho builds
Migrating from PDE to Tycho builds
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
 
Perl Development Environment Tooling
Perl Development Environment ToolingPerl Development Environment Tooling
Perl Development Environment Tooling
 
10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 

Similar to Contributing to OpenStack

Spring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionSpring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionStefan Schmidt
 
Cosug for jiang su lug dec 2011
Cosug  for jiang su lug dec 2011Cosug  for jiang su lug dec 2011
Cosug for jiang su lug dec 2011OpenCity Community
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cnOpenCity Community
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesAnne Gentle
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentPlatform9
 
Lessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsLessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsKenneth Hui
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryGuangya Liu
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015Mark Voelker
 
Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus DeployKaroline Klever
 
OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015Jesse Pretorius
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015Henry Huang
 
OpenstackOverview.pdf
OpenstackOverview.pdfOpenstackOverview.pdf
OpenstackOverview.pdfKevinBuck30
 
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelKubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelTim Pouyer
 
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOpen Mobile Alliance
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the OpenAnne Gentle
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSTulipp. Eu
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeCassey Lottman
 
Openstackoverview-DEC2013
Openstackoverview-DEC2013Openstackoverview-DEC2013
Openstackoverview-DEC2013Michael Lessard
 

Similar to Contributing to OpenStack (20)

Spring Roo Add-On Development & Distribution
Spring Roo Add-On Development & DistributionSpring Roo Add-On Development & Distribution
Spring Roo Add-On Development & Distribution
 
Cosug for jiang su lug dec 2011
Cosug  for jiang su lug dec 2011Cosug  for jiang su lug dec 2011
Cosug for jiang su lug dec 2011
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cn
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and Processes
 
Webinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software DevelopmentWebinar: OpenStack Accelerates Software Development
Webinar: OpenStack Accelerates Software Development
 
Lessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack CloudsLessons Learned Running The Largest OpenStack Clouds
Lessons Learned Running The Largest OpenStack Clouds
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit Summary
 
OpenStack 101
OpenStack 101OpenStack 101
OpenStack 101
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus Deploy
 
OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015OpenStack London Meetup, 18 Nov 2015
OpenStack London Meetup, 18 Nov 2015
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
OpenstackOverview.pdf
OpenstackOverview.pdfOpenstackOverview.pdf
OpenstackOverview.pdf
 
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelKubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
 
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of Code
 
Openstackoverview-DEC2013
Openstackoverview-DEC2013Openstackoverview-DEC2013
Openstackoverview-DEC2013
 

Recently uploaded

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 

Recently uploaded (20)

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 

Contributing to OpenStack

  • 1. Tutorial  on  Contribu-ng  to   OpenStack   Devda8a  Kulkarni   PTL,  OpenStack  Solum  
  • 2. Agenda   •  Part  I     –  Introduc-ons   –  Introduc-on  to  OpenStack   •  Part  II     –  Deep  dive  of  a  OpenStack  project  -­‐  Solum   •  Part  III   –  Contribu-ng  to  OpenStack   –  OpenStack  CI  system   –  Development  best  prac-ces   –  Hands-­‐on  exercise   •  Ques-ons  and  Answers  
  • 3. Agenda   •  Part  I     –  Introduc,ons   –  Introduc,on  to  OpenStack   •  Part  II     –  Deep  dive  of  a  OpenStack  project  -­‐  Solum   •  Part  III   –  Contribu-ng  to  OpenStack   –  OpenStack  CI  system   –  Development  best  prac-ces   –  Hands-­‐on  exercise   •  Ques-ons  and  Answers  
  • 4. Introduc-on   •  Me   – Devda8a  Kulkarni   – First  contributor  on  Solum   – Currently  Project  Team  Lead  (PTL)  of  Solum  for  Mitaka   cycle   – PhD,  University  of  Minnesota  Minneapolis   •  You  
  • 6. What  is  OpenStack?   A  family  of  “open”  projects  that  together  enable  different   aspects  of  cloud  compu-ng     Openness  of  OpenStack    h8ps://wiki.openstack.org/wiki/Open   •  Open  source   •  Open  design   •  Open  development   •  Open  community    
  • 7. OpenStack  family   •  Family  of  projects  enabling  different  aspects  of  cloud  compu-ng   –  Authen-ca-on  and  authoriza-on  layer   •  Keystone   –  Infrastructure-­‐as-­‐a-­‐service  layer   •  Nova,  Glance   –  Storage  layer   •  Swi[,  Cinder   –  Networking  layer   •  Neutron   –  Plaorm-­‐as-­‐a-­‐service  layer   •  Solum,  Heat,  Murano,  Mistral,  Trove   •  Project  types   –  OpenStack  big  tent  vs.  OpenStack  related  projects      
  • 8. OpenStack  by  numbers   •  49  projects  in  OpenStack  big  tent   •  Several  hundred  organiza-ons  involved     •  Several  thousand  developers  par-cipa-ng  
  • 9. Agenda   •  Part  I     –  Introduc-ons   –  Introduc-on  to  OpenStack   •  Part  II     –  Deep  dive  of  a  OpenStack  project  -­‐  Solum   •  Part  III   –  Contribu-ng  to  OpenStack   –  OpenStack  CI  system   –  Development  best  prac-ces   –  Hands-­‐on  exercise   •  Ques-ons  and  Answers  
  • 10.    What  is  Solum?   OpenStack  project  that  provides  easy  mechanism  for  applica-on   developers  to  deploy  and  run  their  applica-ons  on  OpenStack  star-ng   from  applica-on’s  source  code     Why  should  you  care?  (the  value  proposi-on)   –  For  operators,  Solum  provides  ability  to  make  your  OpenStack  cloud  more   useful  for  your  clouds’  applica-on  developers  by  simplifying  the  process  of   deploying  applica-ons  to  it   –  For  developers,  Solum  provides  an  easy-­‐to-­‐use  plaorm  for  building,  tes-ng,   and  deploying  applica-ons  on  OpenStack  clouds  
  • 11.    Project  goals   Applica-on  Stack  Flexibility   Ability  to  support  applica-ons  wri8en  in  different  languages  and  using  different  applica-on   frameworks     Developer  Produc-vity   Ability  to  perform  CI/CD,  integra-on  with  github     Add-­‐On  Services  Extensibility   Ability  to  support  different  add-­‐on  services     Applica-on  Portability   Ability  to  deploy  applica-ons  across  different  OpenStack  clouds  (use  na-ve  OpenStack   services)    
  • 12.    Project  details   •  Wiki:   h8ps://wiki.openstack.org/wiki/Solum     •  Mee-ngs:   Tuesdays  1700  UTC  in  #openstack-­‐mee-ng-­‐3   •  IRC:   Channel:  #solum  on  freenode   •  Code:   h8ps://github.com/openstack/solum   h8ps://github.com/openstack/python-­‐solumclient  
  • 13.    Solum  abstrac-ons   •  App   •  Languagepack  (LP)   •  Deployment  Unit  (DU)   •  Workflow   •  Add-­‐on  
  • 14.    Solum  abstrac-ons  -­‐  App   Declara-ve  applica-on   defini-on     •  source  code  repository   •  run  command   •  port   •  languagepack   version: 1 name: cherrypy description: python web app languagepack: python source: repository: https://github.com/ rackspace-solum-samples/solum- python-sample-app.git revision: master workflow_config: run_cmd: python app.py ports: - 80
  • 15.    Solum  abstrac-ons  -­‐  Languagepack  (LP)   •  Docker  image  which  contains  applica-on  specific  build  and  run-me   libraries   •  A  LP  needs  to  implement  Solum’s  languagepack  contract    A  well-­‐known  file  available  at  a  known  loca-on  on  the  languagepack  image    /solum/bin/build.sh   •  How  to  build  a  LP?   Dockerfile     •  Operator-­‐defined  or  user-­‐defined  
  • 16.    Solum  abstrac-ons  -­‐  Languagepack  Example:  Python       FROM ubuntu:precise MAINTAINER Murali Allada <murali.allada@rackspace.com> RUN apt-get -yqq update RUN apt-get -yqq install python-pip RUN apt-get -yqq install python-dev COPY build.sh /solum/bin/ https://github.com/rackspace-solum-samples/solum-languagepack-python   #!/bin/bash # Check if pip is installed pip help [[ $? != 0 ]] && echo python-pip is not installed. && exit 1 # Install app dependencies cd /app pip install -r requirements.txt build.shDockerfile
  • 17.    Solum  abstrac-ons  -­‐  Deployment  Unit  (DU)  (1/2)   •  Docker  image  that  is  formed  from  the  languagepack  image  with   applica-on’s  source  code  added  to  it    DU  =  LP  +  applica-on  source  code   •  Solum  guarantees  the  DU  contract   Applica-on  source  code  available  at  a  known  loca-on  on  the  DU  image        /app     •  How  to  build  a  DU?   –  Construct  Dockerfile  with  languagepack  as  the  base  image,  applica-on  source  code   injected,  run  command  as  the  entry  point   –  Build  the  DU  image  from  this  Dockerfile  
  • 18.    Solum  abstrac-ons  -­‐  Deployment  Unit  (DU)  (2/2)   •  Building  a  DU   –  Start  from  the  specified  languagepack  LP   –  Specify  execu-on  of  languagepack’s  ‘build.sh’   –  Inject  applica-on  source  code   –  Use  the  run  command  specified  in  app  defini-on  as  the  default  Entrypoint  to   run  the  DU   •  LP  and  DU  storage   Glance,  Swi[,  Docker  registry   18  
  • 19.  Solum  abstrac-ons  -­‐  Workflow   •  Abstrac-on  to  represent  execu-on  of  applica-on  deployment   consis-ng  of  one  or  more  workflow  stages     •  Supported  workflow  stages   –  Build  DU  (and  store  it  for  future  use)   –  Run  unit  tests,  build  DU   –  Run  unit  tests,  build  DU,  deploy  DU  (if  unit  tests  pass)   –  Build  DU,  deploy  DU   –  Deploy  a  previously  built  DU  (not  yet  available)   •  A  workflow  can  be  triggered  from  github  webhooks    
  • 20. Solum  abstrac-ons  -­‐  Add-­‐ons   •  Services  needed  by  an  applica-on   E.g.:  rela-onal  database  such  as  Trove     •  DU  parameters    Solum  supports  ability  to  pass  service’s  connec-on  parameters  to    applica-on  DU  
  • 21. Architecture  and  system  details    
  • 22.    High-­‐level  architecture   Solum   API   Solum   Worker   Solum   Deployer  Queue   Queue   Queue   Solum   Conductor   Heat   Solum  Database   Glance,  Swi[,  Docker  Registry   Builds  LP  and  DU   Deploys  DU   -­‐  Decoupled  architecture   -­‐  Asynchronous   communica-on  
  • 24. Agenda   •  Part  I     –  Introduc-ons   –  Introduc-on  to  OpenStack   •  Part  II     –  Deep  dive  of  a  OpenStack  project  -­‐  Solum   •  Part  III   –  Contribu,ng  to  OpenStack   –  OpenStack  CI  system   –  Development  best  prac,ces   –  Hands-­‐on  exercise   •  Ques-ons  and  Answers  
  • 26. Tools/Systems   •  Gerrit:  Code  review  system   –  h8ps://review.openstack.org/   •  Launchpad:  Work  (bugs/blueprints)  tracking  system   –  h8ps://launchpad.net/   •  Github:  Code  repository   –  h8ps://github.com/openstack   •  Git:  Code  contribu-on   •  Mailing  list:  openstack-­‐dev   –  h8p://lists.openstack.org/cgi-­‐bin/mailman/lis-nfo/openstack-­‐dev   •  IRC:  chat.freenode.net  
  • 27. Setup  steps  (1/2)   •  h8p://docs.openstack.org/infra/manual/developers.html   •  Create  Launchpad  account   •  Join  OpenStack  founda-on  as  founda-on  member   •  Sign  individual  contributor’s  license  agreement   •  Install  git-­‐review   •  Install  git   •  Run  git  review  -­‐s  
  • 28. Setup  steps:  Problems  and  troubleshoo-ng   •  Problem:   We  don't  know  where  your  gerrit  is.  Please  manually   create  a  remote   •  Solu-on:   – Create  a  username  in  gerrit  if  not  already  created   – Manually  set  gerrit  remote.  E.g.:          git  remote  add  gerrit  "ssh:// djkulkarni@review.openstack.org:29418/openstack/ solum.git”  
  • 29. Setup  steps:  Problems  and  troubleshoo-ng   •  Problem:      Problem  running  'git  remote  update  gerrit’                Fetching  gerrit                  Permission  denied  (publickey).                  fatal:  Could  not  read  from  remote  repository.   •  Solu-on:   –  Generate  sshkey  and  add  it  to  gerrit   –  ssh-­‐keygen  
  • 30. Steps  to  submit  a  patch   •  Create  a  Launchpad  bug  or  assign  an  exis-ng  bug  to   yourself   •  Fixing  the  bug   –  Itera-ve  process   •  Understand  the  issue  (be  in  touch  with  project  developers  on   project’s  IRC  channel  or  on  openstack-­‐dev  mailing  list)   •  Design  solu-on   •  Write  code   •  Write  tests   •  Commit  code   •  Provide  good  commit  message   •  Submit  patch  for  review  
  • 31. Steps  to  merge  a  patch   •  Patch  needs  to  pass  configured  automated  tests   •  Patch  needs  to  get  two  +2  votes   •  Patch  needs  to  be  approved  for  merging  by   project’s  core  reviewer  
  • 33. Con-nuous  Integra-on  of  patches   •  Systems  involved:   – Zuul   – Gerrit   – Jenkins   – Github   •  Pre-­‐merge  checking   – Patch  is  merged  to  master  only  if  all  the  configured  tests   pass  
  • 34. OpenStack’s  CI  setup   Gerrit   Zuul   Jenkins   Github   2   3   4  5   1   Patch   submi8ed   for  review   Patch  picked  up   for  tes-ng   Tests  ran  on  the  patch   Jenkins  gives  its  vote   Code   merged  
  • 35. Patch  review  page  details  
  • 36. Gerrit:  Patch  that  fails  gate  tests  
  • 38. Best  prac-ces,  tricks,  -ps   •  Devstack   •  Vagrant  and  Virtualbox   •  Python     •  Screen   •  Debugging   •  Git  
  • 39. Devstack   •  OpenStack  environment  consis-ng  of  all  the   openstack-­‐services   – Keystone,  Nova,  Heat,  Solum,  etc.   •  Can  be  run  within  a  virtual  machine  or   independently   •  Useful  for  development  
  • 40. Vagrant  and  VirtualBox   •  Vagrant   –  Configura-on  management  tool  for  configuring  virtual   machines   •  VirtualBox   –  Virtualiza-on  system   •  Spinning  up  a  development  environment  using  Vagrant   +  VirtualBox   –  h8ps://github.com/rackerlabs/vagrant-­‐solum-­‐dev   –  git  clone  <solum-­‐vagrant-­‐repo>   –  vagrant  up  -­‐-­‐provision  
  • 41. Sexng  up  Solum  development  env   •  Develop  on  Host,  debug  on  the  VM   •  Install  Vagrant  and  Virtualbox   •  Clone  solum  and  python-­‐solumclient  repositories  on   the  Host   •  Set  following  environment  variables:   –  SOLUM=<path  on  Host  system  to  solum  repo>   –  SOLUMCLIENT=<path  on  Host  system  to  python-­‐solumclient   repo>   •  vagrant  up  -­‐-­‐provision   •  vagrant  ssh  
  • 42. Python   •  PyCharm  IDE   •  pdb   – Put  breakpoint  in  the  code  where  you  want  to  break   •  import  pdb;  pdb.set_trace()   – pdb  commands   •  s:  Execute  the  current  line,  stop  at  first  possible  occasion   •  c:  Con-nue  execu-on,  only  stop  when  a  breakpoint  is   encountered   •  h8ps://docs.python.org/2/library/pdb.html  
  • 43. Tes-ng   •  Run  tests  locally  before  submixng  patch  for  review   – From  within  solum  directory   •  tox  –epep8   •  tox  –epy27   •  Tox   – Command  line  tool  for  running  tests  within  virtualenv  
  • 44. Code  paths  on  Devstack   •  solum   /opt/stack/solum   •  python-­‐solumclient   /opt/stack/python-­‐solumclient   •  Solum  logs   –  /var/log/solum/deployer   –  /var/log/solum/worker   •  Devstack  logs  (of  various  screen  sessions)   –  /opt/stack/logs/  
  • 45. Screen   •  Program  that  allows  sharing  physical  terminal  between   different  processes   •  Entering  Solum’s  screen  session  in  Devstack   –  screen  –x  stack   •  Screen  commands   –  Move  to  next  window:  Ctrl+a  n   –  Move  to  previous  window:  Ctrl+a  p   –  See  all  windows:  Ctrl+a  “   –  Enter  scrollback/copy  mode:  Ctrl+a  [   –  Leave  scrollback/copy  mode:  Ctrl+a  ]   –  h8p://www.pixelbeat.org/lkdb/screen.html  
  • 46. Debugging   •  Debug  code/feature   – Put  breakpoints  in  the  code   – Invoke  code-­‐under-­‐test  from  CLI   – Use  screen  to  enter  breakpoint  and  then  debug  using   Pdb   •  Debug  failing  func-onal  test   – h8ps://review.openstack.org/#/c/254344/   •  Debug  failing  unit  test  
  • 47. Git   •  Crea-ng  dependent  commits   •  Squashing  commits   – git  rebase  -­‐i  HEAD~<number-­‐of-­‐commits>   – pick/squash/edit   •  Upda-ng  dependent  commit  and  submixng  for   review   •  h8ps://ask.openstack.org/en/ques-on/31633/ gerrit-­‐best-­‐way-­‐to-­‐make-­‐a-­‐series-­‐of-­‐dependent-­‐ commits/  
  • 48. Hands-­‐on  exercise   •  Submit  first  patch  to  OpenStack  (45  minutes)   •  h8ps://etherpad.openstack.org/p/solum-­‐low-­‐ hanging-­‐fruit-­‐bugs