SlideShare uma empresa Scribd logo
1 de 27
How to Contribute
to OpenStack
Documentation
Mirantis, 2013
• The philosophy of documentation
• The documentation infrastructure
• Setting up the required accounts
• Installing the required software
• Making a contribution
Contributing to OpenStack Documentation
• Documentation shouldn't be an afterthought
• Documentation treated like code
• Automate documentation wherever possible
Documentation philosophy
Documentation infrastructure
Getting ready to contribute to
documentation
• Becoming a member of the docs team
• Configuring Launchpad
• Configuring Gerrit
• Working with Github
• Submitting a bug
• Fixing a bug
Becoming a team member
• Go to https://www.openstack.org/join/
• Join the OpenStack Foundation
Becoming a team member
• Read the membership terms
• Add your personal information
• Specify affiliation
Configuring Launchpad: Create an
account
• Go to https://login.launchpad.net/+new_account
• Set up a new account
• Verify your email address
Configuring Launchpad: Access
OpenStack on Launchpad
• Access OpenStack on Launchpad at
https://launchpad.net/openstack
• Log in to Launchpad (again)
Configuring Launchpad: Create an SSH
key
• Create an SSH key
ssh-keygen -t rsa -C "your_email@example.com”
• Specify the file location
• Specify a passphrase
Configuring Launchpad: Add the SSH
key to Launchpad
• Click your username
• Choose to add an SSH Key
Configuring Launchpad: Add the SSH
key to Launchpad (cont’d)
• Log in again (if necessary)
• Copy the public key to the clipboard
• Paste into Launchpad
Setting up GitHub
• Go to http://github.com
• Create an account
• Add your SSH Key
Setting up Gerrit
• Go to https://review.openstack.org
• Sign in
• Click New Contributor Agreement
• Select ICLA
• Fill out the form and type “I AGREE”
Joining the Docs Team
• Go to http://launchpad.net/openstack-manuals
• Log in if necessary
• Click Join Team
• Click Join
Setting up your workspace: git
• Install git
sudo apt-get install git
sudo yum install git
• Configure git
$ git config --global user.name "First Last"
$ git config --global user.email username@example.com
Setting up your workspace: git-review
• Install Python's setuptools
sudo apt-get install python-setuptools
• Install pip
sudo easy-install pip
• Install git-review
sudo pip install git-review
• Add Gerrit
git remote add gerrit 
ssh://<username>@review.openstack.org:29418
/openstack/openstack-manuals.git
Setting up your workspace: configure ssh
• Generate a new key
ssh-keygen -t rsa -C “your_email@example.com”
• Log in to review.openstack.org and click
Settings
• Click SSH Public Keys
• Copy and paste id_rsa.pub to the form
• Click Add
• Test your key
ssh <username>@review.openstack.org -p 29418
Setting up your workspace: the docs
• Create a local directory
mkdir ~/openstack/documentation
cd ~/openstack/documentation
• Clone the repository
git clone git://git.openstack.org/openstack/ 
openstack-manuals.git
• Navigate to the openstack-manuals directory
cd openstack-manuals
• Confirm git-review is working
git review -s
Setting up your workspace: tools
• Install Maven
sudo apt-get install maven
• Pick an editor, (almost) any editor
Fixing a docs bug
• All changes to docs must be tied to a bug
• Docs bugs are listed at
https://bugs.launchpad.net/openstack-manuals 
/+bugs?orderby=-id&start=0
Making a documentation change
• Update your local copy
git remote update
git checkout master
git pull origin master
• Create a topic branch for the bug
git checkout -b bug/1189885
• Make changes locally
Testing your changes
• Build the book
cd openstack-manuals/doc/<manual>
mvn clean generate-sources
• View the changes in
/target/docbkx/webhelp/<guide-name>
• Compare to the old version,e specially if you're
not vamiliar with the book
Committing changes
• One change per commit
• Stage the commit:
git commit -a
• Write the commit message:
Addition of chainsaw juggling documentation
Added new section on the proper juggling of chainsaws within
Nova.
Closes-Bug: #1009973
Implements: blueprint chainsaw-juggling
Change-Id: I4946a16d27f712ae2adf8441ce79e6c0bb0bb657
Committing changes (cont’d)
• More information on commit messages:
https://wiki.openstack.org/wiki/GitCommitMessages
Submitting the change for review
• Submit the change
git review
• The change shows up on
http://review.openstack.org
• Core team is notified
Documentation workflow
• File/claim a bug
• Check the documentation project our of git
• Make changes locally
• Build the documentation locally
• Test the documentation
• Submit for review
• Merge changes

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Github basics
Github basicsGithub basics
Github basics
 
OpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATXOpenStack How To - PyLadies ATX
OpenStack How To - PyLadies ATX
 
RPM Factory for RDO
RPM Factory for RDORPM Factory for RDO
RPM Factory for RDO
 
RunDeck
RunDeckRunDeck
RunDeck
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
OpenStack and DevOps - DevOps Meetup
OpenStack and DevOps - DevOps MeetupOpenStack and DevOps - DevOps Meetup
OpenStack and DevOps - DevOps Meetup
 
Open Source Systems Administration
Open Source Systems AdministrationOpen Source Systems Administration
Open Source Systems Administration
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to Azure
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Introduction to git & GitHub
Introduction to git & GitHubIntroduction to git & GitHub
Introduction to git & GitHub
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoin
 
Git real slides
Git real slidesGit real slides
Git real slides
 
GitHub Actions - Melbourne UG
GitHub Actions - Melbourne UGGitHub Actions - Melbourne UG
GitHub Actions - Melbourne UG
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
Github in Action
Github in ActionGithub in Action
Github in Action
 

Destaque

How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStack
SK Telecom
 

Destaque (6)

How Big Companies Contribute to OpenStack
How Big Companies Contribute to OpenStackHow Big Companies Contribute to OpenStack
How Big Companies Contribute to OpenStack
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStack
 
基于Fuel的超融合一体机
基于Fuel的超融合一体机基于Fuel的超融合一体机
基于Fuel的超融合一体机
 
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with MicrosoftOpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
OpenStack 개요 및 활용 사례 @ Community Open Camp with Microsoft
 
Beyond OpenStack
Beyond OpenStackBeyond OpenStack
Beyond OpenStack
 
How to contribute to OpenStack
How to contribute to OpenStackHow to contribute to OpenStack
How to contribute to OpenStack
 

Semelhante a How to contribute to OpenStack Documentation

Server deployment
Server deploymentServer deployment
Server deployment
bsadd
 
Getting Started with OpenStack Development
Getting Started with OpenStack Development Getting Started with OpenStack Development
Getting Started with OpenStack Development
Rackspace
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
Luis Rodríguez Castromil
 

Semelhante a How to contribute to OpenStack Documentation (20)

Osrs
OsrsOsrs
Osrs
 
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
 
Server deployment
Server deploymentServer deployment
Server deployment
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
Kubeflow Development Environment
Kubeflow Development EnvironmentKubeflow Development Environment
Kubeflow Development Environment
 
Make an Instant Website with Webhooks
Make an Instant Website with WebhooksMake an Instant Website with Webhooks
Make an Instant Website with Webhooks
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
 
Getting Started with OpenStack Development
Getting Started with OpenStack Development Getting Started with OpenStack Development
Getting Started with OpenStack Development
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 
vBrownBag - Scripting and Versioning with PowerShell ISE and Git Shell
vBrownBag - Scripting and Versioning with PowerShell ISE and Git ShellvBrownBag - Scripting and Versioning with PowerShell ISE and Git Shell
vBrownBag - Scripting and Versioning with PowerShell ISE and Git Shell
 
Introduction to Chef - April 22 2015
Introduction to Chef - April 22 2015Introduction to Chef - April 22 2015
Introduction to Chef - April 22 2015
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and Processes
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation Setup
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on Linode
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
 

Mais de Mirantis

Mais de Mirantis (20)

How to Accelerate Your Application Delivery Process on Top of Kubernetes Usin...
How to Accelerate Your Application Delivery Process on Top of Kubernetes Usin...How to Accelerate Your Application Delivery Process on Top of Kubernetes Usin...
How to Accelerate Your Application Delivery Process on Top of Kubernetes Usin...
 
Kubernetes Security Workshop
Kubernetes Security WorkshopKubernetes Security Workshop
Kubernetes Security Workshop
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
How to Build a Basic Edge Cloud
How to Build a Basic Edge CloudHow to Build a Basic Edge Cloud
How to Build a Basic Edge Cloud
 
Securing Your Containers is Not Enough: How to Encrypt Container Data
Securing Your Containers is Not Enough: How to Encrypt Container DataSecuring Your Containers is Not Enough: How to Encrypt Container Data
Securing Your Containers is Not Enough: How to Encrypt Container Data
 
What's New in Kubernetes 1.18 Webinar Slides
What's New in Kubernetes 1.18 Webinar SlidesWhat's New in Kubernetes 1.18 Webinar Slides
What's New in Kubernetes 1.18 Webinar Slides
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh Architectures
 
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. KubernetesYour Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
 
Demystifying Cloud Security Compliance
Demystifying Cloud Security ComplianceDemystifying Cloud Security Compliance
Demystifying Cloud Security Compliance
 
Mirantis life
Mirantis lifeMirantis life
Mirantis life
 
OpenStack and the IoT: Where we are, where we're going, what we need to get t...
OpenStack and the IoT: Where we are, where we're going, what we need to get t...OpenStack and the IoT: Where we are, where we're going, what we need to get t...
OpenStack and the IoT: Where we are, where we're going, what we need to get t...
 
Boris Renski: OpenStack Summit Keynote Austin 2016
Boris Renski: OpenStack Summit Keynote Austin 2016Boris Renski: OpenStack Summit Keynote Austin 2016
Boris Renski: OpenStack Summit Keynote Austin 2016
 
Digital Disciplines: Attaining Market Leadership through the Cloud
Digital Disciplines: Attaining Market Leadership through the CloudDigital Disciplines: Attaining Market Leadership through the Cloud
Digital Disciplines: Attaining Market Leadership through the Cloud
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStack
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
Accelerating the Next 10,000 Clouds
Accelerating the Next 10,000 CloudsAccelerating the Next 10,000 Clouds
Accelerating the Next 10,000 Clouds
 
Containers for the Enterprise: It's Not That Simple
Containers for the Enterprise: It's Not That SimpleContainers for the Enterprise: It's Not That Simple
Containers for the Enterprise: It's Not That Simple
 
Protecting Yourself from the Container Shakeout
Protecting Yourself from the Container ShakeoutProtecting Yourself from the Container Shakeout
Protecting Yourself from the Container Shakeout
 
It's Not the Technology, It's You
It's Not the Technology, It's YouIt's Not the Technology, It's You
It's Not the Technology, It's You
 
OpenStack as the Platform for Innovation
OpenStack as the Platform for InnovationOpenStack as the Platform for Innovation
OpenStack as the Platform for Innovation
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

How to contribute to OpenStack Documentation

  • 1. How to Contribute to OpenStack Documentation Mirantis, 2013
  • 2. • The philosophy of documentation • The documentation infrastructure • Setting up the required accounts • Installing the required software • Making a contribution Contributing to OpenStack Documentation
  • 3. • Documentation shouldn't be an afterthought • Documentation treated like code • Automate documentation wherever possible Documentation philosophy
  • 5. Getting ready to contribute to documentation • Becoming a member of the docs team • Configuring Launchpad • Configuring Gerrit • Working with Github • Submitting a bug • Fixing a bug
  • 6. Becoming a team member • Go to https://www.openstack.org/join/ • Join the OpenStack Foundation
  • 7. Becoming a team member • Read the membership terms • Add your personal information • Specify affiliation
  • 8. Configuring Launchpad: Create an account • Go to https://login.launchpad.net/+new_account • Set up a new account • Verify your email address
  • 9. Configuring Launchpad: Access OpenStack on Launchpad • Access OpenStack on Launchpad at https://launchpad.net/openstack • Log in to Launchpad (again)
  • 10. Configuring Launchpad: Create an SSH key • Create an SSH key ssh-keygen -t rsa -C "your_email@example.com” • Specify the file location • Specify a passphrase
  • 11. Configuring Launchpad: Add the SSH key to Launchpad • Click your username • Choose to add an SSH Key
  • 12. Configuring Launchpad: Add the SSH key to Launchpad (cont’d) • Log in again (if necessary) • Copy the public key to the clipboard • Paste into Launchpad
  • 13. Setting up GitHub • Go to http://github.com • Create an account • Add your SSH Key
  • 14. Setting up Gerrit • Go to https://review.openstack.org • Sign in • Click New Contributor Agreement • Select ICLA • Fill out the form and type “I AGREE”
  • 15. Joining the Docs Team • Go to http://launchpad.net/openstack-manuals • Log in if necessary • Click Join Team • Click Join
  • 16. Setting up your workspace: git • Install git sudo apt-get install git sudo yum install git • Configure git $ git config --global user.name "First Last" $ git config --global user.email username@example.com
  • 17. Setting up your workspace: git-review • Install Python's setuptools sudo apt-get install python-setuptools • Install pip sudo easy-install pip • Install git-review sudo pip install git-review • Add Gerrit git remote add gerrit ssh://<username>@review.openstack.org:29418 /openstack/openstack-manuals.git
  • 18. Setting up your workspace: configure ssh • Generate a new key ssh-keygen -t rsa -C “your_email@example.com” • Log in to review.openstack.org and click Settings • Click SSH Public Keys • Copy and paste id_rsa.pub to the form • Click Add • Test your key ssh <username>@review.openstack.org -p 29418
  • 19. Setting up your workspace: the docs • Create a local directory mkdir ~/openstack/documentation cd ~/openstack/documentation • Clone the repository git clone git://git.openstack.org/openstack/ openstack-manuals.git • Navigate to the openstack-manuals directory cd openstack-manuals • Confirm git-review is working git review -s
  • 20. Setting up your workspace: tools • Install Maven sudo apt-get install maven • Pick an editor, (almost) any editor
  • 21. Fixing a docs bug • All changes to docs must be tied to a bug • Docs bugs are listed at https://bugs.launchpad.net/openstack-manuals /+bugs?orderby=-id&start=0
  • 22. Making a documentation change • Update your local copy git remote update git checkout master git pull origin master • Create a topic branch for the bug git checkout -b bug/1189885 • Make changes locally
  • 23. Testing your changes • Build the book cd openstack-manuals/doc/<manual> mvn clean generate-sources • View the changes in /target/docbkx/webhelp/<guide-name> • Compare to the old version,e specially if you're not vamiliar with the book
  • 24. Committing changes • One change per commit • Stage the commit: git commit -a • Write the commit message: Addition of chainsaw juggling documentation Added new section on the proper juggling of chainsaws within Nova. Closes-Bug: #1009973 Implements: blueprint chainsaw-juggling Change-Id: I4946a16d27f712ae2adf8441ce79e6c0bb0bb657
  • 25. Committing changes (cont’d) • More information on commit messages: https://wiki.openstack.org/wiki/GitCommitMessages
  • 26. Submitting the change for review • Submit the change git review • The change shows up on http://review.openstack.org • Core team is notified
  • 27. Documentation workflow • File/claim a bug • Check the documentation project our of git • Make changes locally • Build the documentation locally • Test the documentation • Submit for review • Merge changes