The OpenStack User Group HOWTO
The OpenStack User Group HOWTO is intended to serve as a guide to founding, maintaining, and growing a GNU/Linux user group. OpenStack is Open source software for building private and public clouds. If you want to know more about OpenStack go to http://openstack.org
What is an OpenStack User Group
The OpenStack User Groups are informal associations of people around the world that meet to discuss about OpenStack, share knowledge and experiences. These are important entities for the OpenStack project as they help by spreading awareness, recruit developers and users and more. The user groups don't have a direct relation with the OpenStack Foundation even though the members of the user groups can be members of the OpenStack Foundation and/or be a member of the OpenStack User Committee. It is important to note that these user groups include developers, operators, end-users, ecosystem partners, and distribution providers. So we are defining a user more broadly than usual.
What OSUG exist?
The full list of OpenStack User Groups is maintained on OpenStackUserGroups. Before starting a new OSUG consult that list and find one in your area. The point is that starting a user group is a significant undertaking, which should be commenced with all relevant facts and some appreciation of the effect on other groups. If you don't find one on the list, ask on the mailing list email@example.com of the User Group team.
Starting a new OpenStack User Group
Based on the experiences gathered by other OpenStack user groups, like the San Francisco User Group, the questions and answers below should help guide you to your happy user group place. We have an Ambassador Program, which you can ask for help to mentor new user groups.
Here are the steps to create a new OpenStack User Group
- Contact your local OpenStack Ambassador - they're here to help you through the process!
- Join the OpenStack Community: Add yourself to OpenStack Community mailing list
- User Group List: Will your group be unique or can you lend your time to an existing user group rather than creating a new one? It takes a lot of work to start and operate a well-run user group. You could instead focus your time in helping an existing user group. Look here for existing OpenStack user groups.
- Get help: Make sure that you get an additional person to help you and act as a backup, so if you drop out for any reason, someone else will be there to take your place. Organizers are multitaskers, who are responsible for registering, contacting lectures, hosting meetings, reminding, taking photos. Ask for volunteers to help you: many volunteers will claim voluntary work by themselves. Clearly write down organizers’ email addresses or phone number where you advertise your event. This allows those who are interested to easily find you. Another method is to collect list of tasks that need volunteers’ assistance in email or microblog. You'll be surprised that people will apply.
- Audience: Who do you want to attract to your user group meetings? Figure out from below what attributes you are interested in. The OpenStack User Committee has defined different user attributes as roles, types of organizations, market segments, and geographies. We need to define another attribute OpenStack skill level. We assume there are three skill levels: beginner, intermediate, and advanced.
- Beginner: If you want to attract new users to OpenStack then you will want to discuss the architecture and the basics of how to use OpenStack. Mirantis has put together a good workflow presentation. You can create your own standard slidedeck as a speaking guide as well.
- Intermediate: Developers and operators that want to understand how to make OpenStack production ready for their organization need a place to discuss developer setups, review and share topics like details on APIs, where code gets installed, checking in code, and configurations. Some groups call the intermediate level meetings Hackathons. Hackathons teach new guys how to use devstack, hold bug squash days, and focus on a blueprints. If the level of expertise in your group allows it, you can have regular hackathons dedicated to bug squash competition between users and install fests. sarob has written out how to run a hackathon.
- Advanced: Some groups tend to call this a devOps meeting. The topics are generally about blueprints, advanced operations, or specific deep dive into part of OpenStack like Quantum. The PTLs may get involved with the Advanced meetings to promote blueprints needing help, status of the project, and anything else the PTL wants to talk about. drive better quality development outreach into python user groups encourage code participation, commits. Technology like webex or Google Hangout can overcome the geographical distance between a PTL and your group meeting.
- It's not uncommon that 30-50% of people registering don't show up for free events, so plan accordingly.
- Get vendors along. Go through the list at http://openstack.org/community/companies/ and contact who you can in your area. If the company is serious about being involved they will help you out! Ask them if they can do a short talk on their company involvement with OpenStack.
- Write to the Heads of Schools of the University IT faculties in the area and invite them and their school along.
- A bar tab. If you can stretch for it, good, if not, this is where your vendors may be able to help. Free beer is always attractive. :-)
- Look for local sysops/sysadmin/network ops email lists or online forums and promote your events there to get folks along.
- Topics: Your topics will your different types of users want to listen and interact with based on the attributes above? You can review these active meetup locations for ideas http://www.meetup.com/openstack/events/past/, http://www.meetup.com/Openstack-Boston/events/past/, http://www.meetup.com/OpenStack-Austin/events/past/, http://www.meetup.com/OpenStack-LA/events/past/
- Location: This is critical part of your user group. Find a location that will be there long term. Start by contacting the OpenStack sponsoring companies in your area. Network with other OpenStack interested locals. Contact your local university, small technical colleges, and/or college extensions. Local companies interested in cloud computing are good places to start asking for a meeting place. Companies hosting community meetings get good reputation and sometimes their employees participating to the events will get also new skills. Co-working spaces in some cities also host events regularly and may be willing to put an OpenStack event in their agenda. Ask your friends, colleagues, relatives for more ideas: free spaces to host a user group meeting are available everywhere in the world.
- Materials: There are some basic meeting materials and preparation you will want to go through. Food, drink, security, white boards, projectors, tables and chairs are the basics. The location you secured may have a few of these things, but don't assume they do. Consider after-hours HVAC, lighting, and security. A small room can get hot, very quickly with the air conditioning turned off. Sometimes our security forgets and remotely locks our doors.
- Sponsorship: You may need to find a sponsor to pay for the location, food, and/or drink. Again, you can hit up your local OpenStack sponsoring company as a first option. Consider ongoing commitment vs onetime event. Encourage long term participation by making sure the sponsor has something to gain through the user group.
- Speakers: Review the [[community speaker list TODO, mark the speakers and dates you are interested in, and then contact your proposed speakers for their buyin. If you have your own speaker, feel free to add new speakers to the same list.
- Publish: A lot of OpenStack User Group use Meetup to announce their meetings. You can pick the tool you prefer to organize your events. If you decide to use Meetup.com create a new meetup with the name starting with OpenStack-, follow the example of the past SF Bay OpenStack meetups for content structure and configuration. Their meetings reoccur every one to two weeks. You probably want to create each event one at a time instead. Get attendees by announcing the new group over on OpenStack General and OpenStack Community mailing lists, linkedin, twitter, facebook, and/or google groups. Add your user group to OpenStackUserGroups.
- Keep the conversations going online after a live meeting. Offline activities have pros and cons. Interactivity is the advantage. Face-to-face communication is the most efficient. The disadvantage is that such communications are costly. In order to make offline activities as fruitful and influential as possible, collecting materials accessible online is need as much as possible, such as speech scripts, photos, video, and reports. One simple way to do it is to
- collect the material immediately at the event (better to have something not perfect but quickly than having to chase the speakers for weeks afterwards)
- write a blog post after your event on openstack.org/blog and add links to videos, presentations, etc
- use social networks to advertise the links to the materials
- ask the community manager to help share the links
Operating a user group
You will need make a checklist of things to do and when. Below is the checklist for the SFBay OpenStack meetups.
- Establish dates and times at least 6 months in advance
- Schedule speakers, assistants at least a month in advance
- Schedule tweets and emails to go out 7, 2, 1, and 0 days before the meetup reminding possible attendees of the meetup. Examples below
- T-7 day 11:30: @OpenStack #OSSFO hackathon meetup happening next Thursday at #Yahoo Sunnyvale, RSVP via ow.ly/g2V3u, webex avail
- T-2 day 11:30: @OpenStack #OSSFO hackathon meetup happening next Thursday at #Yahoo Sunnyvale, RSVP via ow.ly/g2V3u, webex avail
- T-1 day 11:30: @OpenStack #OSSFO hackathon meetup happening tomorrow at #Yahoo Sunnyvale, RSVP via ow.ly/g2V3u, webex avail
- T-0 day 11:30: @OpenStack #OSSFO hackathon meetup happening today at #Yahoo Sunnyvale, RSVP via ow.ly/g2V3u, webex avail
- Schedule an email to go out to the firstname.lastname@example.org mailing list with the same content
- Book your meeting space at least 1 month in advance
- Notify security about the meetup and so they can provide directions so visitors do not get lost
- Order the food at least 3 days in advance. A good gauge is about 50-70% of the RSVPs actually show up. Better topics get a higher percentage turnout.
- Prep the room about an hour before the meetup. Check the AV equipment, power strips, seats, food, drink, and white boards are ready to go. Setup the video camera, so you know where the static viewing area is. Line up the projector screen to be in the picture. Lay down a tape box where the speaker should stand. Dial into the audio conference line. If you are using webex or youtube, check for connection to the remote server.
- Post Meetup: After the meeting, you can prepare a summary blog post with images, links to video, marketing updates for the OpenStack blog.
Running a Hackathon
Running a Hackathon is to benefit both operators and developers who want to learn OpenStack AND experienced OpenStack devOps who want to teach new batch of stackers. To run a Hackathon, you will need the following experience
- You will need to know how to use and navigate openstack, python, git, maven, launchpad, gerrit, jenkins, and zuul. The OpenStack Install Guide and the OpenStack Training Guides are great sources to source build OpenStack. The rest of the tools are a bit more completed. The OpenStack community training can get you started http://docs.openstack.org/trunk/training-guide/content/getting-tools-and-accounts.html. Running a Hackathon will require some real experience of how these tools work and interoperate.
- Once you have some of the basic experience you will need to connect with a user group if you are not already running one. See above on details OpenStackUserGroups
- Each Hackathon will need at least one person ready to help the "students" with problems. Hackathons are hands on "teaching" and learning sessions.