 But honestly, once you get your system all dialed in, it's actually really easy to do that. It's super, super easy. You may already have some X-Code installed if you're using Magma. Just slight variations there. If you're using Yosemite or El Capitan or what is it called, right? I mean there's slight variations in your systems. And you may already have some other things installed. Yeah. Any care of the difference? Yeah. So while she's doing that, as you guys know, the OpenStack Foundation has a lot of documentation online. So you have the wiki and that's where you actually find anything about how to contribute. So as a contributor, there's actually a couple ways or areas that you can contribute, right? You can contribute code or documentation, right? The process is the same for both. And today we'll talk about documentation. That's one of the easiest ways to get involved into the community is working with documentation bugs. Unless you're a developer. So for example, like I'm in ATC because I do documentation changes. Simple little bug fixes, content changes, whatever it may be. Documentation is a great way to step your foot in the water and get involved with contributing to the community website. So yeah, another question for everybody. Who are developers at your companies? Roughly half. Who are product, program managers? People who don't actually touch the code base at your companies. It's actually about half-half. And actually that's pretty standard, especially for people who contribute to documentation. It's a mix of developers, but also it's people who are program managers, product managers, managers. Again, that's one thing that's great about the OpenStack community. You do not have to be a developer to contribute to the community. So I, hey Mahadi. So while they're getting started, I'll do a quick introduction myself. My name's Tamara Johnston. I work at EMC. I've been with EMC for about a year and I came in through the Cloud Scaling Acquisition. I work in global services. So I focus on developing consulting services around emerging technologies. So OpenStack, SDN, NFV. I've been involved with the community for two years. And again, I work on documentation changes. So that's my primary focus. I'm not a developer. I don't know the code base, but I do use OpenStack even at my home. Quick intro. My name is Amy Marish. I've been at Rackspace for exactly one year yesterday. I work in the Nebulas Operations Group on the Linux Ops engineer. And I got involved with OpenStack as a ATC just through other groups saying, hey, we need a little help. Here's a little project. So I am not a developer in any way, shape, or form. So you can commit code without being a developer. And as Tamara said, documentation's a great way to get involved as well. Hi, everyone. Great to see your interest here. So we're gonna, I'm not sure how many of you are familiar with the OpenStack contribution process. Do you know about Launchpad or anything like that? Do you have any idea about it? Any of you? Do? Okay. So I'm Mahati. I work for Intel. I contribute to Swift. I've been involved in Swift for about a year. I've been in in turn with the R3C program. I hope the Wi-Fi is okay. No, it's just... This is a crazy offer. Thank you. I think I'm gonna put this up. I'm just gonna put it up. Quarter of you have used the Garrett, so... Keep it down. Keep it down. Keep it down. Keep it down. Keep it down. Okay. One way that you can find help and support from other people in the community is IRC. So I think for you all are probably familiar with IRC. There's quite a few different OpenStack channels on IRC. so like IRC-101. So, you know, as you go back home, I highly suggest leveraging IRC or even the documentation mail list or any of the specific project mail list to get assistance. That's one thing you'll really find about the community. People are really willing to help. And they're just excited that there's people who wanna help with documentation or code. So two ways, again, that you can get help once you get back home is to join a mail list and use IRC. You'll always find somebody on IRC, given that the OpenStack community is made up of people from all over the globe. One of the last slides include the helpful link, so you can just refer that. That's where the materials are for the class. I shall have it up here, but if you wanna get to it, we've uploaded it to GitHub. Oh, yes, asking other... Ah, Zizi. Sorry. Zizi. Yeah, we're best for this level, so... He's a really cool dog. That's his head. That's why the dog's still hanging out for some reason. Oh, there we go. No, but still... Let me know if there's a problem in viewing the screen or command prompt. You're making it right up. No, I know. That would make it bigger. Did you guys drop the GitHub link for... Yes. Okay. But it's spinning because of the wireless. Oh, so how many of you have the link and have already downloaded the deck? Just how... How many of you have downloaded the deck on the link that's up there? I think on the board, there's the link, GitHub link? Did you guys download? I think it's very few people. You cannot see that? Okay, let me just bring up an open and write it. You need that? Okay. I need some... I need some help. We're talking it up here on the screen. You guys can check it out. Can you make it... Is that better? I hope everybody got the link. I'm just switching back this one more. So we're going to try and go from scratch and submit a patch to a test repository. That's the agenda for today. We'll have links towards the end. Common links that you can refer to and mailing lists and the IRC channels. In this picture, we're going to use an example of NOAA, which is a compute part of OpenStack. This is how the flow is going to be. There's this upstream code on GitHub and you're going to do a Git clone and that'll be on your local environment and then you create a branch, an example branch. It's always advised that you create a new branch and not work off the master and then you make your changes on the branch, which is fix your changes and make sure you run the unit tests and the PEPED commands. PEPED are the style check for Python and then this picture doesn't have all the process related, for instance, Git add a file. It's just an overview of what's to be done and then you do a Git commit and you submit a Git review. It goes to the review system and there is a Jenkins automated testing that happens. After that, the reviewers can actually do a review. Code reviewers can do a plus two or a minus two. Minus two means that it's a huge mistake and you should really look into it and you should either retrieve it or discuss with the code team and who is not code, they can as well review but they'll be only able to give a plus one or a minus one or you could as well, if someone marks it a work in progress patch, you can as well just leave a comment and that will be a zero score that you can see on screen and then once the reviewer, say instance, you got your plus two and your workflow is approved, then it goes to the Jenkins again for an automated testing and it sits in the gate and then it's merged into the GitHub. This is the overview process. We'll actually try and replicate it on a test repository called Sandbox which exists only for testing OpenStack process and tools. So let's get into that. So the first step is you could log into the Launchpad and basically you can just follow the steps that you can see on the screen and let us know if you encounter any issues with that. Is that okay? I can read it out actually. If someone has a problem, I can read that out. So Launchpad is a single sign-on system and get it requires a single sign-on system. It identifies the Launchpad login. So you need to have a Launchpad ID and go back to get it. It'll let you log in automatically but it then asks you for a username. You could either give the Launchpad one or create a new one. You can just follow these links and go through it right now. You can let us know if I can move ahead or should I can just... Is everybody okay? Can we move on? So once you're done with that we can move ahead. It's a requirement that people should actually register on OpenStack Foundation and sign on the Individual Contributor License Agreement whether you're working by yourself or for a company. But if you're working for a company, your company is supposed to sign up a corporate license agreement and you're supposed to be on the authorized list of committers. So you should make sure that with your company if you're actually representing your company. So the reason of... I mean, one of the... You have two options there which is a community member and a foundation member once you try and log into the OpenStack Foundation. There's just... I mean, basically when you choose foundation member it allows you to vote and submit your talks, vote on other talks, vote for the committee members, the TC and it gives you such privileges. The community member will not have one of these and it's suggested that you select the foundation member. It also means that you actually utilize your rights otherwise it might be revoked. So everybody okay? Also on the OpenStack Foundation website you have to give the email ID that should match to your preferred email on Garrett. The previously signed up system. In order to interact with the Garrett system the SSH key needs to be generated and there you go that the command is on the screen. It asks you for a password, you could enter it or if you enter it you'll have to supply it every time you commit. Sorry, you have a question? The minus T option? The T is the type actually. Well, thank you. Okay great, so if you move ahead it asks you for a path to store and you can give a custom path or if you just hit enter it'll store in the home. You can either run the command that's on the screen to copy the key or you can just go to the path it stored and just do a control C of it. You'll need it so that you can enter it in the Garrett system. So please log on to the Garrett system with the registered ID and go to settings. You'll find the SSH public key on to your left. Hit on add key and copy everything that you've generated and stored. So one of the requirements for the session was to install setup git review on your systems but if you haven't done it you could try these steps right now. Once you have the steps, the git review install git review is a hook that lets you submit a commit to Garrett system. You'll have to configure these so that when you try and interact these are already set. How many of you have git review installed on your laptops? Part of them, no. How about at the back? That's nice. Feel free to stop me at any time. Assuming that you're doing good and moving on at least on your own or following the deck. So now that we have the git and git review set up, let's try and clone a test repository which is called Sandbox. Just a second. How many of you have git review installed? We're able to run such... Oh, yeah, yeah. Can you copy that on here? But I'm getting paid. I just found... Oh, you did the git review? No, I'm trying to setup the git review. Do you have homebrew or anything? No, I didn't try that one. I just did the git review itself. I don't know what the... So, I mean, here, I just consider this git review not found for you. Because it's not actually installed. No, it isn't installed. But the git review I... The git review is not actually... I only... So I also installed the git review. Did you install it? You have to enter it every time you do a git review. So I should... You've already finished the git review. Okay. So that's the next step to do it. Okay. Yes, this is the Garrett system. Okay. So someone's confused what Garrett is. So view.openstack.org is Garrett. Is the Garrett system. You're logging into that. I don't know why. Does anyone have a problem saying, if you create your remote, we could not find Garrett. Create it manually. You do have. Yes, so git remote add Garrett and your SSH, whatever link is there. If you do that, it should work for you. I could type that up here, actually. I apologize for the link that you already have. If you have an issue trying to connect to the... On the git review setup? Yes. If it throws an error saying, remote manually. Okay. So if you have all the setup without any issues, you can let me know if you have any issues. I can just come down and check it out. It's still there? So create a branch. It creates a command as is. It creates a branch called test branch and checks it out for you. We're adding some data using the cat. You can as well just go ahead into the repository directory and create a file by yourself and add content to it instead of running the cat command. We have 20 minutes left. Instead of the cat command that you're looking at the screen, you can just go ahead into the directory and create your file and add content to it. Just a second. You'll have this and you'll do both, right? So now you can just create this create a branch and check it out. You can do that. Are you trying to do it? Oh yeah. Okay. I'm trying to manually add it to her path because I was wondering what the path issue is. Because it's probably not installed yet. I thought it was. Did you install it yet? Is that the command for my call? Did you have that? Get your view down there? You did that, right? You can just go to the slides once or you did all of that, right? You did all of that. I got everything down to you. Okay. So you've installed this? Are you installing this? Yes. Are you dead? Correct. I'm not used to mic. I think the issues are path because if you look at her fashion profile as you see it I tried to manually add it. Were you installing? I got as far as submitting a review and for the rest of it I really wanted to hear what we were doing by the last time because I have a session at two o'clock. You need to do that to me. Okay. You're welcome there. If anyone wants give-up stickers I'm not taking them. I won't take them. I won't take your give-up stickers. This is from Grace Hopper. She's living in her house. Now she's not going to be the one. I think they're normal. I'll make them.